Virtual memory api
This commit is contained in:
parent
44288828a2
commit
a613309440
@ -4,6 +4,7 @@ mod general;
|
||||
mod pages;
|
||||
mod stack;
|
||||
mod typed;
|
||||
pub mod virtual_memory;
|
||||
|
||||
pub fn panicOOM() -> ! {
|
||||
panic!("Out of memory");
|
||||
|
||||
18
src/virtual_memory.rs
Normal file
18
src/virtual_memory.rs
Normal file
@ -0,0 +1,18 @@
|
||||
use std::ptr::{NonNull, null};
|
||||
|
||||
pub unsafe trait VirtualMemoryApi: Sized + Drop {
|
||||
type Reservation: Reservation;
|
||||
|
||||
fn getPageSize(&self) -> usize;
|
||||
|
||||
fn reserveMemory(
|
||||
&mut self,
|
||||
extend: Option<&Self::Reservation>,
|
||||
pagesCount: usize,
|
||||
) -> Self::Reservation;
|
||||
}
|
||||
|
||||
pub unsafe trait Reservation: Sized + Ord + Drop {
|
||||
fn commitPages(&mut self, indexOfFirst: usize, count: usize) -> *mut [u8];
|
||||
fn decommitPages(&mut self, indexOfFirst: usize, count: usize);
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user