forked from AbleOS/ableos
22 lines
563 B
Plaintext
22 lines
563 B
Plaintext
|
enum MemoryServiceResult {
|
||
|
|
||
|
}
|
||
|
|
||
|
@alignment(4096)
|
||
|
type PageAlignedPointer = pointer;
|
||
|
|
||
|
type RID = u64;
|
||
|
|
||
|
|
||
|
|
||
|
@nonexhaustive
|
||
|
@version 1.0
|
||
|
protocol MemoryService {
|
||
|
@validator(page_count, Range(1..16))
|
||
|
fn map_pages(page_count: u8, ptr: Optional<PageAlignedPointer>) -> MemoryServiceResult;
|
||
|
fn unmap_pages(ptr: PageAlignedPointer) -> MemoryServiceResult;
|
||
|
// ptr must be page aligned and already mapped from map_pages
|
||
|
fn map_hardware(hw: RID, ptr: PageAlignedPointer) -> MemoryServiceResult;
|
||
|
fn unmap_hardware(hw: RID) -> MemoryServiceResult;
|
||
|
|
||
|
}
|