Lines Matching full:memory

9  * @brief Memory Management Driver APIs
11 * This contains APIs for a system-wide memory management
27 * @brief Memory Management Driver APIs
28 * @defgroup mm_drv_apis Memory Management Driver APIs
30 * This contains APIs for a system-wide memory management
83 * @name Memory Mapping and Unmapping
85 * On mapping and unmapping of memory.
97 * The memory range itself is never accessed by this operation.
113 * @brief Map a region of physical memory into the virtual address space
115 * This maps a region of physical memory into the virtual address space.
119 * The memory range itself is never accessed by this operation.
126 * @param size Page-aligned size of the mapped memory region in bytes
137 * @brief Map an array of physical memory into the virtual address space
143 * The physical memory pages are never accessed by this operation.
166 * updated as if no mapping was ever made for that memory page. No previous
189 * updated as if no mapping was ever made for that memory range. No previous
210 * This remaps a virtual memory region starting at @p virt_old
211 * of size @p size into a new virtual memory region starting at
212 * @p virt_new. In other words, physical memory at @p virt_old is
216 * Note that the virtual memory at both the old and new addresses
217 * must be unmapped in the memory domains of any runnable Zephyr
218 * thread as this does not deal with memory domains.
220 * Note that overlapping of old and new virtual memory regions
224 * @param virt_old Page-aligned base virtual address of existing memory
225 * @param size Page-aligned size of the mapped memory region in bytes
227 * the memory
241 * @name Memory Moving
243 * On moving already mapped memory.
249 * @brief Physically move memory, with copy
251 * This maps a region of physical memory into the new virtual address space
253 * address space (@p virt_old). The new virtual memory region is mapped
254 * from physical memory starting at @p phys_new of size @p size.
259 * Note that the virtual memory at both the old and new addresses
260 * must be unmapped in the memory domains of any runnable Zephyr
261 * thread as this does not deal with memory domains.
263 * Note that overlapping of old and new virtual memory regions
267 * @param virt_old Page-aligned base virtual address of existing memory
268 * @param size Page-aligned size of the mapped memory region in bytes
272 * the moved memory
283 * @brief Physically move memory, with copy
285 * This maps a region of physical memory into the new virtual address space
287 * address space (@p virt_old). The new virtual memory region is mapped
293 * Note that the virtual memory at both the old and new addresses
294 * must be unmapped in the memory domains of any runnable Zephyr
295 * thread as this does not deal with memory domains.
297 * Note that overlapping of old and new virtual memory regions
301 * @param virt_old Page-aligned base virtual address of existing memory
302 * @param size Page-aligned size of the mapped memory region in bytes
306 * the moved memory
322 * @name Memory Mapping Attributes
324 * On manipulating attributes of already mapped memory.
330 * @brief Update memory page flags
332 * This changes the attributes of physical memory page which is already
334 * specific memory region changes.
335 * E.g. when the library/module code is copied to the memory then
339 * Calling this API must not cause losing memory contents.
352 * @brief Update memory region flags
354 * This changes the attributes of physical memory which is already
356 * specific memory region changes.
357 * E.g. when the library/module code is copied to the memory then
361 * Calling this API must not cause losing memory contents.
364 * @param size Page-aligned size of the mapped memory region in bytes
379 * @name Memory Mappings Query
381 * On querying information on memory mappings.
387 * @brief Get the mapped physical memory address from virtual address.
390 * memory address of a mapped virtual address.
406 * @brief Represents an available memory region.
408 * A memory region that can be used by allocators. Driver defined
412 void *addr; /**< @brief Address of the memory region */
413 size_t size; /**< @brief Size of the memory region */
414 uint32_t attr; /**< @brief Driver defined attributes of the memory region */
428 * @brief Query available memory regions
430 * Returns an array of available memory regions. One can iterate over
436 * marking at the end - of memory regions.
441 * @brief Free the memory array returned by #sys_mm_drv_query_memory_regions
443 * The driver may have dynamically allocated the memory for the array of