On 07.01.2026 17:32, Oleksii Kurochko wrote: > Introduce helper functions for safely querying the P2M (physical-to-machine) > mapping: > - add p2m_read_lock(), p2m_read_unlock(), and p2m_is_locked() for managing > P2M lock state. > - Implement p2m_get_entry() to retrieve mapping details for a given GFN, > including MFN, page order, and validity. > - Introduce p2m_get_page_from_gfn() to convert a GFN into a page_info > pointer, acquiring a reference to the page if valid. > - Introduce get_page(). > > Implementations are based on Arm's functions with some minor modifications: > - p2m_get_entry(): > - Reverse traversal of page tables, as RISC-V uses the opposite level > numbering compared to Arm. > - Removed the return of p2m_access_t from p2m_get_entry() since > mem_access_settings is not introduced for RISC-V. > - Updated BUILD_BUG_ON() to check using the level 0 mask, which corresponds > to Arm's THIRD_MASK. > - Replaced open-coded bit shifts with the BIT() macro. > > Signed-off-by: Oleksii Kurochko <[email protected]>
Acked-by: Jan Beulich <[email protected]>
