DPDK
24.07.0
|
#include <stdint.h>
#include <rte_compat.h>
Go to the source code of this file.
Enumerations | |
enum | rte_mem_prot { RTE_PROT_READ = 1 << 0, RTE_PROT_WRITE = 1 << 1, RTE_PROT_EXECUTE = 1 << 2 } |
enum | rte_map_flags { RTE_MAP_SHARED = 1 << 0, RTE_MAP_ANONYMOUS = 1 << 1, RTE_MAP_PRIVATE = 1 << 2, RTE_MAP_FORCE_ADDRESS = 1 << 3 } |
Functions | |
__rte_internal void * | rte_mem_map (void *requested_addr, size_t size, int prot, int flags, int fd, uint64_t offset) |
__rte_internal int | rte_mem_unmap (void *virt, size_t size) |
__rte_internal size_t | rte_mem_page_size (void) |
__rte_internal int | rte_mem_lock (const void *virt, size_t size) |
enum rte_mem_prot |
Memory protection flags.
Enumerator | |
---|---|
RTE_PROT_READ | Read access. |
RTE_PROT_WRITE | Write access. |
RTE_PROT_EXECUTE | Code execution. |
Definition at line 17 of file rte_eal_paging.h.
enum rte_map_flags |
Additional flags for memory mapping.
Definition at line 24 of file rte_eal_paging.h.
__rte_internal void* rte_mem_map | ( | void * | requested_addr, |
size_t | size, | ||
int | prot, | ||
int | flags, | ||
int | fd, | ||
uint64_t | offset | ||
) |
Map a portion of an opened file or the page file into memory.
This function is similar to POSIX mmap(3) with common MAP_ANONYMOUS extension, except for the return value.
requested_addr | Desired virtual address for mapping. Can be NULL to let OS choose. |
size | Size of the mapping in bytes. |
prot | Protection flags, a combination of rte_mem_prot values. |
flags | Additional mapping flags, a combination of rte_map_flags. |
fd | Mapped file descriptor. Can be negative for anonymous mapping. |
offset | Offset of the mapped region in fd. Must be 0 for anonymous mappings. |
__rte_internal int rte_mem_unmap | ( | void * | virt, |
size_t | size | ||
) |
OS-independent implementation of POSIX munmap(3).
__rte_internal size_t rte_mem_page_size | ( | void | ) |
Get system page size. This function never fails.
__rte_internal int rte_mem_lock | ( | const void * | virt, |
size_t | size | ||
) |
Lock in physical memory all pages crossed by the address region.
virt | Base virtual address of the region. |
size | Size of the region. |