Skip to main content

Module memory

Module memory 

Source
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§

asan
ABI for interfacing with KASAN shadow memory
type_ops 🔒

Structs§

Framesfull
An owned region of physical memory
PhysicalAddress
A physical memory address
RawFrame
RawPage
VirtualAddress
A virtual memory address

Constants§

PAGE_MAP_OFFSET 🔒
PAGE_SIZE
The number of bytes in the smallest sized page for the current architecture