Revision b42ec42d hw/mac_dbdma.h
b/hw/mac_dbdma.h | ||
---|---|---|
20 | 20 |
* THE SOFTWARE. |
21 | 21 |
*/ |
22 | 22 |
|
23 |
typedef struct { |
|
23 |
typedef struct DBDMA_io DBDMA_io; |
|
24 |
|
|
25 |
typedef void (*DBDMA_rw)(DBDMA_io *io); |
|
26 |
typedef void (*DBDMA_end)(DBDMA_io *io); |
|
27 |
struct DBDMA_io { |
|
24 | 28 |
void *opaque; |
25 | 29 |
void *channel; |
30 |
target_phys_addr_t addr; |
|
26 | 31 |
int len; |
27 | 32 |
int is_last; |
28 |
void *buf; |
|
29 |
int buf_pos; |
|
30 |
int buf_len; |
|
31 |
} DBDMA_transfer; |
|
33 |
int is_dma_out; |
|
34 |
DBDMA_end dma_end; |
|
35 |
}; |
|
32 | 36 |
|
33 |
typedef int (*DBDMA_transfer_cb)(DBDMA_transfer *info); |
|
34 |
typedef int (*DBDMA_transfer_handler)(DBDMA_transfer *info, |
|
35 |
DBDMA_transfer_cb cb); |
|
36 | 37 |
|
37 | 38 |
void DBDMA_register_channel(void *dbdma, int nchan, qemu_irq irq, |
38 |
DBDMA_transfer_handler transfer_handler,
|
|
39 |
DBDMA_rw rw,
|
|
39 | 40 |
void *opaque); |
40 | 41 |
void DBDMA_schedule(void); |
41 | 42 |
void* DBDMA_init (int *dbdma_mem_index); |
Also available in: Unified diff