Lines Matching +full:address +full:- +full:aligned
4 * SPDX-License-Identifier: Apache-2.0
21 * @defgroup mem-demand-paging Demand Paging APIs
74 * excluding the first and last (hence, NUM_SLOTS - 1).
85 * Evict a page-aligned virtual memory region to the backing store
90 * marked as available for mappings or page-ins.
99 * called by ISRs as the backing store may be in-use.
101 * @param addr Base page-aligned virtual address
102 * @param size Page-aligned data region size
104 * @retval -ENOMEM Insufficient space in backing store to satisfy request.
117 * called by ISRs as the backing store may be in-use.
119 * @param addr Base page-aligned virtual address
120 * @param size Page-aligned data region size
125 * Pin an aligned virtual data region, paging in as necessary
132 * called by ISRs as the backing store may be in-use.
134 * @param addr Base page-aligned virtual address
135 * @param size Page-aligned data region size
140 * Un-pin an aligned virtual data region
146 * @param addr Base page-aligned virtual address
147 * @param size Page-aligned data region size
187 * Get the backing store page-in timing histogram
198 * Get the backing store page-out timing histogram
215 * @defgroup mem-demand-paging-eviction Eviction Algorithm APIs
255 * The architecture-specific memory fault handler will invoke this to tell the
256 * eviction algorithm the provided physical address belongs to a page frame
262 * @param [in] phys The physical address being accessed
317 * @defgroup mem-demand-paging-backing-store Backing Store APIs
325 * The returned location token must be unique to the mapped virtual address.
327 * contents for later retrieval. The location value must be page-aligned.
332 * clean copy. This clean copy may be updated on page-out, or used to
339 * k_mem_page_frame_to_virt(pf) will indicate the virtual address the page is
341 * entire address space may simply generate location tokens purely as a
342 * function of that virtual address with no other management necessary.
347 * function should return -ENOMEM even if one location is available.
351 * @param pf Virtual address to obtain a storage location
355 * @return -ENOMEM Backing store is full
365 * this address may be re-used for some other data page.
374 * Obtain persistent location token for on-demand content
381 * also be used e.g. to implement file-based mmap().
383 * @param addr Virtual address to obtain a location token for
392 * Immediately before this is called, K_MEM_SCRATCH_PAGE will be mapped read-write
405 * Immediately before this is called, K_MEM_SCRATCH_PAGE will be mapped read-write
416 * Update internal accounting after a page-in
419 * have been* re-locked, making it safe to access the k_mem_page_frame data.
423 * The primary use-case for this is to update custom fields for the backing
425 * if it is paged out again. This may be a no-op in some implementations.
427 * If the backing store caches paged-in data pages, this is the appropriate
445 * - Initialize any internal data structures and accounting for the backing
447 * - If the backing store already contains all or some loaded kernel data pages