7#ifndef ZEPHYR_INCLUDE_IPC_SERVICE_IPC_STATIC_VRINGS_H_
8#define ZEPHYR_INCLUDE_IPC_SERVICE_IPC_STATIC_VRINGS_H_
11#include <openamp/open_amp.h>
12#include <metal/device.h>
26#define VRING_COUNT (2)
29#define VRING_ALIGNMENT CONFIG_IPC_SERVICE_STATIC_VRINGS_ALIGNMENT
#define VRING_COUNT
Definition: ipc_static_vrings.h:26
int ipc_static_vrings_init(struct ipc_static_vrings *vr, unsigned int role)
Init the static VRINGs.
void(* ipc_notify_cb)(struct virtqueue *vq, void *priv)
Define the notify callback.
Definition: ipc_static_vrings.h:40
int ipc_static_vrings_deinit(struct ipc_static_vrings *vr, unsigned int role)
Deinitialise the static VRINGs.
__UINTPTR_TYPE__ uintptr_t
Definition: stdint.h:105
Static VRINGs structure.
Definition: ipc_static_vrings.h:46
ipc_notify_cb notify_cb
Definition: ipc_static_vrings.h:87
struct virtio_device vdev
Definition: ipc_static_vrings.h:48
struct metal_device shm_device
Definition: ipc_static_vrings.h:54
struct metal_io_region * shm_io
Definition: ipc_static_vrings.h:75
void * priv
Definition: ipc_static_vrings.h:84
uintptr_t rx_addr
Definition: ipc_static_vrings.h:63
uintptr_t tx_addr
Definition: ipc_static_vrings.h:60
size_t shm_size
Definition: ipc_static_vrings.h:72
struct virtqueue * vq[(2)]
Definition: ipc_static_vrings.h:81
size_t vring_size
Definition: ipc_static_vrings.h:66
struct virtio_vring_info rvrings[(2)]
Definition: ipc_static_vrings.h:78
uintptr_t shm_addr
Definition: ipc_static_vrings.h:69
metal_phys_addr_t shm_physmap[1]
Definition: ipc_static_vrings.h:51
uintptr_t status_reg_addr
Definition: ipc_static_vrings.h:57