Virtual memory api

This commit is contained in:
Andrew Golovashevich 2025-12-15 23:41:38 +03:00
parent 44288828a2
commit a613309440
2 changed files with 19 additions and 0 deletions

View File

@ -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
View 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);
}