Zephyr API Documentation  3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
mm.h File Reference
#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/sys/mem_manage.h>

Go to the source code of this file.

Macros

#define K_MEM_VIRT_OFFSET
 Address offset of permanent virtual mapping from physical address.
 
#define K_MEM_PHYS_ADDR(virt)   ((virt) - K_MEM_VIRT_OFFSET)
 Get physical address from virtual address.
 
#define K_MEM_VIRT_ADDR(phys)   ((phys) + K_MEM_VIRT_OFFSET)
 Get virtual address from physical address.
 

Functions

static uintptr_t k_mem_phys_addr (void *virt)
 Get physical address from virtual address.
 
static void * k_mem_virt_addr (uintptr_t phys)
 Get virtual address from physical address.
 
void k_mem_map_phys_bare (uint8_t **virt_ptr, uintptr_t phys, size_t size, uint32_t flags)
 Map a physical memory region into the kernel's virtual address space.
 
void k_mem_unmap_phys_bare (uint8_t *virt, size_t size)
 Unmap a virtual memory region from kernel's virtual address space.
 
void * k_mem_map_phys_guard (uintptr_t phys, size_t size, uint32_t flags, bool is_anon)
 Map memory into virtual address space with guard pages.
 
void k_mem_unmap_phys_guard (void *addr, size_t size, bool is_anon)
 Un-map memory mapped via k_mem_map_phys_guard().