Loading [MathJax]/jax/output/HTML-CSS/config.js
Iros
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Loading...
Searching...
No Matches
iris::mm::LockedAddressSpace Class Reference

#include <iris/mm/address_space.h>

Public Member Functions

auto map_physical_page_early (VirtualAddress location, PhysicalAddress physical_address, RegionFlags flags) -> Expected< void >
 
auto map_physical_page (VirtualAddress location, PhysicalAddress physical_address, RegionFlags flags) -> Expected< void >
 
auto allocate_region (di::Arc< BackingObject > backing_object, di::Box< Region > region) -> Expected< VirtualAddress >
 
auto allocate_region_at (di::Arc< BackingObject > backing_object, di::Box< Region > region) -> Expected< void >
 
auto destroy_region (VirtualAddress base, usize length) -> Expected< void >
 
auto create_low_identity_mapping (VirtualAddress base, usize page_aligned_length) -> Expected< void >
 
auto remove_low_identity_mapping (VirtualAddress base, usize page_aligned_length) -> Expected< void >
 
auto setup_physical_memory_map (PhysicalAddress start, PhysicalAddress end, VirtualAddress virtual_start) -> Expected< void >
 
auto setup_kernel_region (PhysicalAddress kernel_physical_start, VirtualAddress kernel_virtual_start, VirtualAddress kernel_virtual_end, RegionFlags flags) -> Expected< void >
 
auto bootstrap_kernel_page_tracking () -> Expected< void >
 
void flush_tlb_global (VirtualAddress base)
 
void flush_tlb_global (VirtualAddress base, usize byte_length)
 
auto base () -> AddressSpace &
 

Friends

class AddressSpace
 

Member Function Documentation

◆ allocate_region()

auto iris::mm::LockedAddressSpace::allocate_region ( di::Arc< BackingObject > backing_object,
di::Box< Region > region ) -> Expected<VirtualAddress>

◆ allocate_region_at()

auto iris::mm::LockedAddressSpace::allocate_region_at ( di::Arc< BackingObject > backing_object,
di::Box< Region > region ) -> Expected<void>

◆ base()

auto iris::mm::LockedAddressSpace::base ( ) -> AddressSpace&

◆ bootstrap_kernel_page_tracking()

auto iris::mm::LockedAddressSpace::bootstrap_kernel_page_tracking ( ) -> Expected<void>

◆ create_low_identity_mapping()

auto iris::mm::LockedAddressSpace::create_low_identity_mapping ( VirtualAddress base,
usize page_aligned_length ) -> Expected<void>

◆ destroy_region()

auto iris::mm::LockedAddressSpace::destroy_region ( VirtualAddress base,
usize length ) -> Expected<void>

◆ flush_tlb_global() [1/2]

void iris::mm::LockedAddressSpace::flush_tlb_global ( VirtualAddress base)
inline

◆ flush_tlb_global() [2/2]

void iris::mm::LockedAddressSpace::flush_tlb_global ( VirtualAddress base,
usize byte_length )

◆ map_physical_page()

auto iris::mm::LockedAddressSpace::map_physical_page ( VirtualAddress location,
PhysicalAddress physical_address,
RegionFlags flags ) -> Expected<void>

◆ map_physical_page_early()

auto iris::mm::LockedAddressSpace::map_physical_page_early ( VirtualAddress location,
PhysicalAddress physical_address,
RegionFlags flags ) -> Expected<void>

◆ remove_low_identity_mapping()

auto iris::mm::LockedAddressSpace::remove_low_identity_mapping ( VirtualAddress base,
usize page_aligned_length ) -> Expected<void>

◆ setup_kernel_region()

auto iris::mm::LockedAddressSpace::setup_kernel_region ( PhysicalAddress kernel_physical_start,
VirtualAddress kernel_virtual_start,
VirtualAddress kernel_virtual_end,
RegionFlags flags ) -> Expected<void>

◆ setup_physical_memory_map()

auto iris::mm::LockedAddressSpace::setup_physical_memory_map ( PhysicalAddress start,
PhysicalAddress end,
VirtualAddress virtual_start ) -> Expected<void>

Friends And Related Symbol Documentation

◆ AddressSpace

friend class AddressSpace
friend

The documentation for this class was generated from the following files: