Only build ivshmem when CONFIG_PCI && CONFIG_KVM
[qemu.git] / hw / xilinx_axidma.h
blob37cb6f091161880c90d9c7f3076d294aecf4bba0
1 /* AXI DMA connection. Used until qdev provides a generic way. */
2 typedef void (*DMAPushFn)(void *opaque,
3 unsigned char *buf, size_t len, uint32_t *app);
5 struct XilinxDMAConnection {
6 void *dma;
7 void *client;
9 DMAPushFn to_dma;
10 DMAPushFn to_client;
13 static inline void xlx_dma_connect_client(struct XilinxDMAConnection *dmach,
14 void *c, DMAPushFn f)
16 dmach->client = c;
17 dmach->to_client = f;
20 static inline void xlx_dma_connect_dma(struct XilinxDMAConnection *dmach,
21 void *d, DMAPushFn f)
23 dmach->dma = d;
24 dmach->to_dma = f;
27 static inline
28 void xlx_dma_push_to_dma(struct XilinxDMAConnection *dmach,
29 uint8_t *buf, size_t len, uint32_t *app)
31 dmach->to_dma(dmach->dma, buf, len, app);
33 static inline
34 void xlx_dma_push_to_client(struct XilinxDMAConnection *dmach,
35 uint8_t *buf, size_t len, uint32_t *app)
37 dmach->to_client(dmach->client, buf, len, app);