12 #ifndef ODP_API_SPEC_SHARED_MEMORY_H_
13 #define ODP_API_SPEC_SHARED_MEMORY_H_
14 #include <odp/visibility_begin.h>
54 #define ODP_SHM_PROC 0x2
63 #define ODP_SHM_SINGLE_VA 0x4
71 #define ODP_SHM_EXPORT 0x08
80 #define ODP_SHM_HP 0x10
90 #define ODP_SHM_HW_ACCESS 0x20
99 #define ODP_SHM_NO_HP 0x40
269 const char *local_name);
351 #include <odp/visibility_end.h>
uint64_t odp_instance_t
ODP instance ID.
void odp_shm_print_all(void)
Print all shared memory blocks.
odp_shm_t odp_shm_lookup(const char *name)
Lookup for a block of shared memory.
int odp_shm_free(odp_shm_t shm)
Free a contiguous block of shared memory.
int odp_shm_info(odp_shm_t shm, odp_shm_info_t *info)
Shared memory block info.
void odp_shm_print(odp_shm_t shm)
Print shared memory block info.
struct odp_shm_info_t odp_shm_info_t
Shared memory block info.
struct odp_shm_capability_t odp_shm_capability_t
Shared memory capabilities.
struct odp_shm_segment_info_t odp_shm_segment_info_t
SHM memory segment info.
int odp_shm_capability(odp_shm_capability_t *capa)
Query shared memory capabilities.
int odp_shm_segment_info(odp_shm_t shm, uint32_t index, uint32_t num, odp_shm_segment_info_t info[])
SHM block segmentation information.
void * odp_shm_addr(odp_shm_t shm)
Shared memory block address.
odp_shm_t odp_shm_reserve(const char *name, uint64_t size, uint64_t align, uint32_t flags)
Reserve a contiguous block of shared memory.
odp_shm_t odp_shm_import(const char *remote_name, odp_instance_t odp_inst, const char *local_name)
Import a block of shared memory, exported by another ODP instance.
uint64_t odp_shm_to_u64(odp_shm_t shm)
Get printable value for an odp_shm_t.
Shared memory capabilities.
uint32_t max_blocks
Maximum number of shared memory blocks.
uint32_t flags
Supported shared memory flags.
uint64_t max_size
Maximum memory block size in bytes.
uint64_t max_align
Maximum memory block alignment in bytes.
Shared memory block info.
uint32_t flags
ODP_SHM_* flags.
const char * name
Block name.
uint32_t num_seg
Number of memory segments.
uint64_t page_size
Memory page size.
void * addr
Block address.
uint64_t size
Block size in bytes.
uint64_t len
Segment length in bytes.
uint64_t pa
Segment start address in physical address space.
uintptr_t addr
Segment start address (virtual)
uint64_t iova
Segment start address in IO virtual address (IOVA) space.