symbian-qemu-0.9.1-12/qemu-symbian-svp/hw/etraxfs_dma.h
author Mike Kinghan <mikek@symbian.org>
Wed, 04 Aug 2010 10:56:22 +0100
branchGCC_SURGE
changeset 91 07b904f40417
parent 1 2fb8b9db1c86
permissions -rw-r--r--
Provisional fix for bug 3508 - Persistent storage support breaks Linux compatibility. Enables libnvmemmory.so to be built and dynamically linked on Linux and rom boot reports persistent storage image created OK, but ROM then crashes.

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);
int etraxfs_dmac_input(struct etraxfs_dma_client *client, 
		       void *buf, int len, int eop);