ZXFoundation™ 26h2
Loading...
Searching...
No Matches
core.cxxm File Reference

Bounded file-backed page cache with explicit residency and mapping pins — core interface. More...

Include dependency graph for core.cxxm:

Functions

auto zxfoundation::memory::page_cache::acquire_page (void *node, u32 index, u8 storage_key) noexcept -> std::expected< page_lease, lib::kernel_error >
 Find or populate a page and acquire one VM mapping lease.
auto zxfoundation::memory::page_cache::clear_dirty_phys (u64 phys) noexcept -> void
 Clear software and hardware dirty state after a successful writeback.
auto zxfoundation::memory::page_cache::duplicate_binding (const cache_binding &source, u8 storage_key) noexcept -> std::expected< cache_binding, lib::kernel_error >
 Acquire a second mapping pin for the same cache page.
auto zxfoundation::memory::page_cache::evict_phys (u64 phys) noexcept -> bool
 Write back and evict a clean, unmapped cache page.
auto zxfoundation::memory::page_cache::evict_range (u64 phys_start, u64 phys_end) noexcept -> u32
 Evict cache pages contained in a physical drain range.
auto zxfoundation::memory::page_cache::install_reader (read_page_fn reader) noexcept -> std::expected< void, lib::kernel_error >
 Install the filesystem page reader used to populate cache misses.
auto zxfoundation::memory::page_cache::install_writer (write_page_fn writer) noexcept -> std::expected< void, lib::kernel_error >
 Install the filesystem page writer used before dirty eviction.
auto zxfoundation::memory::page_cache::is_dirty_phys (u64 phys) noexcept -> bool
 Probe dirty state by physical page through the PFN hash index.
auto zxfoundation::memory::page_cache::mark_dirty_binding (const cache_binding &binding) noexcept -> std::expected< void, lib::kernel_error >
 Mark the page held by a live VM slot dirty.
auto zxfoundation::memory::page_cache::mark_dirty_phys (u64 phys) noexcept -> void
 Mark a cache page dirty by physical address.
auto zxfoundation::memory::page_cache::reclaim_unmapped (u32 target_pages) noexcept -> u32
 Reclaim up to target_pages unmapped cache pages.
auto zxfoundation::memory::page_cache::release (page_lease &&lease) noexcept -> std::expected< void, lib::kernel_error >
 Consume a failed-to-install lease and release its mapping pin.
auto zxfoundation::memory::page_cache::release_binding (cache_binding &binding) noexcept -> std::expected< void, lib::kernel_error >
 Release the VM mapping pin represented by a durable slot binding.
auto zxfoundation::memory::page_cache::resident_count () noexcept -> u32
 Return the number of cache-resident pages.

Detailed Description

Bounded file-backed page cache with explicit residency and mapping pins — core interface.

SPDX-License-Identifier: Apache-2.0

Function Documentation

◆ evict_phys()

auto zxfoundation::memory::page_cache::evict_phys ( u64 phys) ->bool
nodiscardexportnoexcept

Write back and evict a clean, unmapped cache page.

Returns
True only when the cache's resident PMM pin was released.