qemu-e2k/hw/etraxfs_dma.h
edgar_igl 1ba13a5dfc Add support for parts of the etraxfs dma controller.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4428 c046a42c-6fe2-441c-8c8c-71466251a162
2008-05-11 15:03:06 +00:00

25 lines
624 B
C

struct etraxfs_dma_client
{
/* DMA controller. */
int channel;
void *ctrl;
/* client. */
struct
{
int (*push)(void *opaque, unsigned char *buf, int len);
void (*pull)(void *opaque);
void *opaque;
} client;
};
void *etraxfs_dmac_init(CPUState *env, target_phys_addr_t base,
int nr_channels);
void etraxfs_dmac_connect(void *opaque, int channel, qemu_irq *line,
int input);
void etraxfs_dmac_connect_client(void *opaque, int c,
struct etraxfs_dma_client *cl);
void etraxfs_dmac_run(void *opaque);
int etraxfs_dmac_input(struct etraxfs_dma_client *client,
void *buf, int len, int eop);