Zephyr API Documentation  3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
ivshmem.h File Reference
#include <zephyr/types.h>
#include <stddef.h>
#include <zephyr/device.h>
#include <zephyr/kernel.h>
#include <zephyr/syscalls/ivshmem.h>

Go to the source code of this file.

Data Structures

struct  ivshmem_driver_api
 

Macros

#define IVSHMEM_V2_PROTO_UNDEFINED   0x0000
 
#define IVSHMEM_V2_PROTO_NET   0x0001
 

Typedefs

typedef size_t(* ivshmem_get_mem_f) (const struct device *dev, uintptr_t *memmap)
 
typedef uint32_t(* ivshmem_get_id_f) (const struct device *dev)
 
typedef uint16_t(* ivshmem_get_vectors_f) (const struct device *dev)
 
typedef int(* ivshmem_int_peer_f) (const struct device *dev, uint32_t peer_id, uint16_t vector)
 
typedef int(* ivshmem_register_handler_f) (const struct device *dev, struct k_poll_signal *signal, uint16_t vector)
 

Functions

size_t ivshmem_get_mem (const struct device *dev, uintptr_t *memmap)
 Get the inter-VM shared memory.
 
uint32_t ivshmem_get_id (const struct device *dev)
 Get our VM ID.
 
uint16_t ivshmem_get_vectors (const struct device *dev)
 Get the number of interrupt vectors we can use.
 
int ivshmem_int_peer (const struct device *dev, uint32_t peer_id, uint16_t vector)
 Interrupt another VM.
 
int ivshmem_register_handler (const struct device *dev, struct k_poll_signal *signal, uint16_t vector)
 Register a vector notification (interrupt) handler.