7#ifndef ZEPHYR_INCLUDE_DRIVERS_VIRTUALIZATION_IVSHMEM_H_ 
    8#define ZEPHYR_INCLUDE_DRIVERS_VIRTUALIZATION_IVSHMEM_H_ 
   58static inline size_t z_impl_ivshmem_get_mem(
const struct device *dev,
 
   64        return api->
get_mem(dev, memmap);
 
   76static inline uint32_t z_impl_ivshmem_get_id(
const struct device *dev)
 
   93static inline uint16_t z_impl_ivshmem_get_vectors(
const struct device *dev)
 
  113static inline int z_impl_ivshmem_int_peer(
const struct device *dev,
 
  119        return api->
int_peer(dev, peer_id, vector);
 
  141static inline int z_impl_ivshmem_register_handler(
const struct device *dev,
 
  159#include <syscalls/ivshmem.h> 
int(* ivshmem_int_peer_f)(const struct device *dev, uint32_t peer_id, uint16_t vector)
Definition: ivshmem.h:32
 
uint16_t(* ivshmem_get_vectors_f)(const struct device *dev)
Definition: ivshmem.h:30
 
int(* ivshmem_register_handler_f)(const struct device *dev, struct k_poll_signal *signal, uint16_t vector)
Definition: ivshmem.h:35
 
int ivshmem_register_handler(const struct device *dev, struct k_poll_signal *signal, uint16_t vector)
Register a vector notification (interrupt) handler.
 
uint32_t(* ivshmem_get_id_f)(const struct device *dev)
Definition: ivshmem.h:28
 
uint32_t ivshmem_get_id(const struct device *dev)
Get our VM ID.
 
int ivshmem_int_peer(const struct device *dev, uint32_t peer_id, uint16_t vector)
Interrupt another VM.
 
size_t ivshmem_get_mem(const struct device *dev, uintptr_t *memmap)
Get the inter-VM shared memory.
 
size_t(* ivshmem_get_mem_f)(const struct device *dev, uintptr_t *memmap)
Definition: ivshmem.h:25
 
uint16_t ivshmem_get_vectors(const struct device *dev)
Get the number of interrupt vectors we can use.
 
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
 
__UINTPTR_TYPE__ uintptr_t
Definition: stdint.h:105
 
__UINT16_TYPE__ uint16_t
Definition: stdint.h:89
 
Runtime device structure (in ROM) per driver instance.
Definition: device.h:378
 
const void * api
Definition: device.h:384
 
ivshmem_register_handler_f register_handler
Definition: ivshmem.h:44
 
ivshmem_get_id_f get_id
Definition: ivshmem.h:41
 
ivshmem_int_peer_f int_peer
Definition: ivshmem.h:43
 
ivshmem_get_vectors_f get_vectors
Definition: ivshmem.h:42
 
ivshmem_get_mem_f get_mem
Definition: ivshmem.h:40
 
Definition: kernel.h:5459
 
static struct k_poll_signal signal
Definition: test_poll.c:704