feat(kernel): add RequestPages and ReleasePages syscalls

This commit is contained in:
2026-10-18 00:19:24 +02:00
parent 95c023f286
commit 471d96b9a4
5 changed files with 171 additions and 0 deletions

View File

@@ -1,12 +1,42 @@
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct EntryPoint(usize);
impl EntryPoint {
pub fn from_raw(addr: usize) -> Self {
Self(addr)
}
pub fn raw(&self) -> usize {
self.0
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct StackPointer(usize);
impl StackPointer {
pub fn from_raw(addr: usize) -> Self {
Self(addr)
}
pub fn raw(&self) -> usize {
self.0
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct VirtualAddress(usize);
impl VirtualAddress {
pub fn from_raw(addr: usize) -> Self {
Self(addr)
}
pub fn raw(&self) -> usize {
self.0
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)]
pub struct PhysicalAddress(usize);
@@ -29,3 +59,12 @@ pub struct DataRef {
addr: VirtualAddress,
len: usize,
}
impl DataRef {
pub fn empty() -> Self {
Self {
addr: VirtualAddress::from_raw(0),
len: 0,
}
}
}