Expand description
Provides primitives for interfacing with memory
TODO: memory map overview?
§Page map region
All conventional memory (i.e. not MMIO, ACPI firmware data, etc.) is mapped into the “page map
region”, meaning that the kernel can directly access it without having to create a
Mapping first. This is useful for writing to userspace in a different
address space, or for storing allocator metadata.
Physical memory owned through a Frames<true> can be directly accessed via Frames::get() and
Frames::get_mut(). Raw PhysicalAddresses can be converted to a VirtualAddress in the page
map region by calling PhysicalAddress::to_virtual. The returned address is only safe to access
if the PhysicalAddress pointed to conventional memory.
Modules§
Structs§
- Frames
full - An owned region of physical memory
- Physical
Address - A physical memory address
- RawFrame
- RawPage
- Virtual
Address - A virtual memory address
Constants§
- PAGE_
MAP_ 🔒OFFSET - PAGE_
SIZE - The number of bytes in the smallest sized page for the current architecture