microfmt
Zero-allocation C++ formatting for constrained environments
Loading...
Searching...
No Matches
Public Member Functions | List of all members
microfmt::remote_page_table_walker Class Reference

Bounded remote page-table walker using physical memory access. More...

#include <remote_page_table_walker.hpp>

Public Member Functions

constexpr remote_page_table_walker (address_space_ref physical_space, remote_page_table_layout_ref layout) noexcept
 
expected< remote_page_table_walk_result, remote_page_table_walk_error > walk (uintptr_t root_table_address, uintptr_t virtual_address, remote_page_table_walk_trace &trace) const noexcept
 Walks page tables rooted at a physical address.
 

Detailed Description

Bounded remote page-table walker using physical memory access.

Constructor & Destructor Documentation

◆ remote_page_table_walker()

constexpr microfmt::remote_page_table_walker::remote_page_table_walker ( address_space_ref  physical_space,
remote_page_table_layout_ref  layout 
)
inlineconstexprnoexcept

Member Function Documentation

◆ walk()

expected< remote_page_table_walk_result, remote_page_table_walk_error > microfmt::remote_page_table_walker::walk ( uintptr_t  root_table_address,
uintptr_t  virtual_address,
remote_page_table_walk_trace &  trace 
) const
inlinenoexcept

Walks page tables rooted at a physical address.

The trace is reset before walking and retains all recorded steps on both success and failure. Walking continues when trace storage is exhausted; trace.truncated() then reports the loss of diagnostic steps.


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