template <typename PageTableAllocator>
class MappingVisitor
Defined at line 689 of file ../../zircon/kernel/lib/arch/include/lib/arch/paging.h
A visitor tailor-made to help perform a mapping of
`[input_vaddr, input_vaddr + size)` to
`[output_paddr, output_paddr + size)` in the context of `Map()`. Calling
`VisitPageTables()` with this visitor will attempt to map the largest
possible page contained within the given virtual range, updating the
values describing the virtual and physical ranges provided on
construction. Repeated calls to `VisitPageTables()` can then be made to
fully map the region.
Public Methods
void MappingVisitor<PageTableAllocator> (PageTableAllocatorpage_table_allocator,const SystemState &state,uint64_tinput_vaddr,uint64_tsize,uint64_toutput_paddr,const MapSettings &settings)
Defined at line 693 of file ../../zircon/kernel/lib/arch/include/lib/arch/paging.h
void MappingVisitor<PageTableAllocator> (PageTableAllocatorpage_table_allocator,const SystemState &state,uint64_tinput_vaddr,uint64_tsize,uint64_toutput_paddr,const MapSettings &settings)
Defined at line 693 of file ../../zircon/kernel/lib/arch/include/lib/arch/paging.h
uint64_t unmapped_size ()
The size of the range yet to be mapped.
Defined at line 707 of file ../../zircon/kernel/lib/arch/include/lib/arch/paging.h
uint64_t next_vaddr ()
The next virtual address to be mapped.
Defined at line 710 of file ../../zircon/kernel/lib/arch/include/lib/arch/paging.h
template <typename TableIo, LevelType Level>
std::optional<fit::result<MapError>> operator() (TableIo &&io,TableEntry<Level> &entry,uint64_ttable_paddr)
Defined at line 713 of file ../../zircon/kernel/lib/arch/include/lib/arch/paging.h
template <typename TableIo, LevelType Level>
std::optional<fit::result<MapError>> operator() (TableIo &&io,TableEntry<Level> &entry,uint64_ttable_paddr)
Defined at line 713 of file ../../zircon/kernel/lib/arch/include/lib/arch/paging.h
template <typename TableIo, LevelType Level>
std::optional<fit::result<MapError>> operator() (TableIo &&io,TableEntry<Level> &entry,uint64_ttable_paddr)
Defined at line 713 of file ../../zircon/kernel/lib/arch/include/lib/arch/paging.h