Namespaces | |
| namespace | detail |
Classes | |
| class | AddressSpace |
| struct | AddressSpaceRegionListTag |
| struct | BackedPhysicalPage |
| A physical page of memory tracked by a backing object. More... | |
| struct | BackedPhysicalPagePtrTag |
| struct | BackedPhysicalPageTreeTag |
| class | BackingObject |
| class | LockedAddressSpace |
| class | LockedBackingObject |
| struct | PageStructurePhysicalPage |
| A physical page of memory used for the page tables themselves. More... | |
| struct | PhysicalAddressMapping |
| struct | PhysicalAddressTag |
| struct | PhysicalPage |
| A physical page of memory. More... | |
| class | Region |
| struct | TempPage |
| struct | VirtualAddressTag |
Typedefs | |
| using | PhysicalAddress = di::StrongInt<PhysicalAddressTag> |
| using | VirtualAddress = di::StrongInt<VirtualAddressTag> |
Enumerations | |
| enum class | RegionFlags { None = 0 , Readable = 1 , Writable = 2 , Executable = 4 , User = 8 } |
Variables | |
| constexpr auto | physical_page_base |
| constexpr auto | physical_address = detail::PhysicalAddressFunction {} |
| constexpr auto | bump_page = detail::BumpPage {} |
| constexpr auto | drop_page = iris::mm::detail::DropPageFunction {} |
| constexpr usize | physical_page_count = 4LLU * 1024U * 1024U * 1024U / 4096U |
|
strong |
| auto iris::mm::allocate_page_frame | ( | ) | -> Expected<PhysicalAddress> |
| auto iris::mm::allocate_physically_contiguous_page_frames | ( | usize | page_count | ) | -> Expected<PhysicalAddress> |
|
inline |
| auto iris::mm::create_empty_user_address_space | ( | ) | -> Expected< di::Arc< AddressSpace > > |
| void iris::mm::deallocate_page_frame | ( | PhysicalAddress | address | ) |
| auto iris::mm::init_and_load_initial_kernel_address_space | ( | PhysicalAddress | kernel_physical_start, |
| VirtualAddress | kernel_virtual_start, | ||
| PhysicalAddress | max_physical_address ) -> Expected<void> |
| auto iris::mm::map_physical_address | ( | PhysicalAddress | address, |
| usize | byte_size ) -> Expected< PhysicalAddressMapping > |
|
inline |
|
inline |
| void iris::mm::reserve_page_frames | ( | PhysicalAddress | base_address, |
| usize | page_count ) |
| void iris::mm::unmap_temp_page | ( | void * | ) |
| void iris::mm::unreserve_page_frames | ( | PhysicalAddress | base_address, |
| usize | page_count ) |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
constexpr |