|
Zephyr API Documentation 4.3.0-rc1
A Scalable Open Source RTOS
|
#include <zephyr/kernel/mm.h>#include <zephyr/sys/util.h>#include <zephyr/toolchain.h>#include <stdint.h>#include <stddef.h>#include <inttypes.h>#include <zephyr/sys/__assert.h>#include <zephyr/syscalls/demand_paging.h>Go to the source code of this file.
Data Structures | |
| struct | k_mem_paging_stats_t |
| Paging Statistics. More... | |
| struct | k_mem_paging_histogram_t |
| Paging Statistics Histograms. More... | |
Functions | |
| int | k_mem_page_out (void *addr, size_t size) |
| Evict a page-aligned virtual memory region to the backing store. | |
| void | k_mem_page_in (void *addr, size_t size) |
| Load a virtual data region into memory. | |
| void | k_mem_pin (void *addr, size_t size) |
| Pin an aligned virtual data region, paging in as necessary. | |
| void | k_mem_unpin (void *addr, size_t size) |
| Un-pin an aligned virtual data region. | |
| void | k_mem_paging_stats_get (struct k_mem_paging_stats_t *stats) |
| Get the paging statistics since system startup. | |
| void | k_mem_paging_thread_stats_get (struct k_thread *thread, struct k_mem_paging_stats_t *stats) |
| Get the paging statistics since system startup for a thread. | |
| void | k_mem_paging_histogram_eviction_get (struct k_mem_paging_histogram_t *hist) |
| Get the eviction timing histogram. | |
| void | k_mem_paging_histogram_backing_store_page_in_get (struct k_mem_paging_histogram_t *hist) |
| Get the backing store page-in timing histogram. | |
| void | k_mem_paging_histogram_backing_store_page_out_get (struct k_mem_paging_histogram_t *hist) |
| Get the backing store page-out timing histogram. | |
| void | k_mem_paging_eviction_add (struct k_mem_page_frame *pf) |
| Submit a page frame for eviction candidate tracking. | |
| void | k_mem_paging_eviction_remove (struct k_mem_page_frame *pf) |
| Remove a page frame from potential eviction candidates. | |
| void | k_mem_paging_eviction_accessed (uintptr_t phys) |
| Process a page frame as being newly accessed. | |
| struct k_mem_page_frame * | k_mem_paging_eviction_select (bool *dirty) |
| Select a page frame for eviction. | |
| void | k_mem_paging_eviction_init (void) |
| Initialization function. | |
| int | k_mem_paging_backing_store_location_get (struct k_mem_page_frame *pf, uintptr_t *location, bool page_fault) |
| Reserve or fetch a storage location for a data page loaded into a page frame. | |
| void | k_mem_paging_backing_store_location_free (uintptr_t location) |
| Free a backing store location. | |
| int | k_mem_paging_backing_store_location_query (void *addr, uintptr_t *location) |
| Obtain persistent location token for on-demand content. | |
| void | k_mem_paging_backing_store_page_out (uintptr_t location) |
| Copy a data page from K_MEM_SCRATCH_PAGE to the specified location. | |
| void | k_mem_paging_backing_store_page_in (uintptr_t location) |
| Copy a data page from the provided location to K_MEM_SCRATCH_PAGE. | |
| void | k_mem_paging_backing_store_page_finalize (struct k_mem_page_frame *pf, uintptr_t location) |
| Update internal accounting after a page-in. | |
| void | k_mem_paging_backing_store_init (void) |
| Backing store initialization function. | |