Data Structures | |
| struct | zxfoundation::memory::page_cache::cache_binding |
| Stable identity for a cache mapping pin stored in a VM slot. More... | |
| struct | zxfoundation::memory::page_cache::cache_entry |
| Page-cache key and resident frame record. More... | |
| struct | zxfoundation::memory::page_cache::page_lease |
| Move-only cache mapping pin held while a PTE is being installed. More... | |
Enumerations | |
| enum class | cache_entry_state : u8 { empty = 0 , loading = 1 , ready = 2 , writeback = 3 , evicting = 4 } |
Typedefs | |
| using | zxfoundation::memory::page_cache::read_page_fn = auto (*)(void* node, u32 index, void* destination) noexcept -> u32 |
| Read one file page into a physical frame. | |
| using | zxfoundation::memory::page_cache::write_page_fn = auto (*)(void* node, u32 index, const void* source) noexcept -> u32 |
| Write one dirty file page back to its backing provider. | |
Functions | |
| auto | clear () noexcept -> void |
| auto | clear () noexcept -> void |
| auto | into_binding () &&noexcept -> cache_binding |
| operator bool () const noexcept | |
| operator bool () const noexcept | |
| auto | operator= (const page_lease &)=delete |
| auto | operator= (page_lease &&other) noexcept -> page_lease & |
| page_lease (const page_lease &)=delete | |
| page_lease (page_lease &&other) noexcept | |
| page_lease (u64 page_phys, cache_binding page_binding) noexcept | |
Variables | |
| objects::memory_object_ref | authority {} |
| cache_binding | binding {} |
| bool | dirty {false} |
| void * | file_node {nullptr} |
| u32 | free_next {PAGE_CACHE_SLOT_INVALID} |
| u32 | generation {0U} |
| u32 | generation {0} |
| u32 | index {0} |
| u32 | key_next {PAGE_CACHE_SLOT_INVALID} |
| u32 | mapping_refs {0} |
| constexpr u32 | zxfoundation::memory::page_cache::PAGE_CACHE_INDEX_SLOTS = 8192U |
| constexpr u32 | zxfoundation::memory::page_cache::PAGE_CACHE_SLOT_INVALID = ~0U |
| constexpr u32 | zxfoundation::memory::page_cache::PAGE_CACHE_SLOTS = 4096U |
| u64 | phys {0} |
| u64 | phys {0ULL} |
| u32 | phys_next {PAGE_CACHE_SLOT_INVALID} |
| u32 | slot {PAGE_CACHE_SLOT_INVALID} |
| cache_entry_state | state {cache_entry_state::empty} |
| u8 | storage_key {0} |
Files | |
| file | zxfoundation/memory/page_cache.zcomponent/types.cxxm |
| Freestanding page-cache provider contracts. | |