]> git.proxmox.com Git - mirror_qemu.git/blame - include/hw/sparc/sparc32_dma.h
Use DECLARE_*CHECKER* macros
[mirror_qemu.git] / include / hw / sparc / sparc32_dma.h
CommitLineData
87ecb68b
PB
1#ifndef SPARC32_DMA_H
2#define SPARC32_DMA_H
3
9db2cf3f 4#include "hw/sysbus.h"
7f773ff5 5#include "hw/scsi/esp.h"
e6ca02a4 6#include "hw/net/lance.h"
db1015e9 7#include "qom/object.h"
9db2cf3f
MCA
8
9#define DMA_REGS 4
10
11#define TYPE_SPARC32_DMA_DEVICE "sparc32-dma-device"
db1015e9 12typedef struct DMADeviceState DMADeviceState;
8110fa1d
EH
13DECLARE_INSTANCE_CHECKER(DMADeviceState, SPARC32_DMA_DEVICE,
14 TYPE_SPARC32_DMA_DEVICE)
9db2cf3f 15
9db2cf3f
MCA
16
17struct DMADeviceState {
18 SysBusDevice parent_obj;
19
20 MemoryRegion iomem;
21 uint32_t dmaregs[DMA_REGS];
22 qemu_irq irq;
23 void *iommu;
24 qemu_irq gpio[2];
9db2cf3f
MCA
25};
26
27#define TYPE_SPARC32_ESPDMA_DEVICE "sparc32-espdma"
db1015e9 28typedef struct ESPDMADeviceState ESPDMADeviceState;
8110fa1d
EH
29DECLARE_INSTANCE_CHECKER(ESPDMADeviceState, SPARC32_ESPDMA_DEVICE,
30 TYPE_SPARC32_ESPDMA_DEVICE)
9db2cf3f 31
db1015e9 32struct ESPDMADeviceState {
9db2cf3f 33 DMADeviceState parent_obj;
7f773ff5
MCA
34
35 SysBusESPState *esp;
db1015e9 36};
9db2cf3f
MCA
37
38#define TYPE_SPARC32_LEDMA_DEVICE "sparc32-ledma"
db1015e9 39typedef struct LEDMADeviceState LEDMADeviceState;
8110fa1d
EH
40DECLARE_INSTANCE_CHECKER(LEDMADeviceState, SPARC32_LEDMA_DEVICE,
41 TYPE_SPARC32_LEDMA_DEVICE)
9db2cf3f 42
db1015e9 43struct LEDMADeviceState {
9db2cf3f 44 DMADeviceState parent_obj;
e6ca02a4
MCA
45
46 SysBusPCNetState *lance;
db1015e9 47};
9db2cf3f 48
6aa62ed6 49#define TYPE_SPARC32_DMA "sparc32-dma"
db1015e9 50typedef struct SPARC32DMAState SPARC32DMAState;
8110fa1d
EH
51DECLARE_INSTANCE_CHECKER(SPARC32DMAState, SPARC32_DMA,
52 TYPE_SPARC32_DMA)
6aa62ed6 53
db1015e9 54struct SPARC32DMAState {
6aa62ed6
MCA
55 SysBusDevice parent_obj;
56
57 MemoryRegion dmamem;
4ca3d368 58 MemoryRegion ledma_alias;
6aa62ed6
MCA
59 ESPDMADeviceState *espdma;
60 LEDMADeviceState *ledma;
db1015e9 61};
6aa62ed6 62
87ecb68b 63/* sparc32_dma.c */
a8170e5e 64void ledma_memory_read(void *opaque, hwaddr addr,
87ecb68b 65 uint8_t *buf, int len, int do_bswap);
a8170e5e 66void ledma_memory_write(void *opaque, hwaddr addr,
87ecb68b
PB
67 uint8_t *buf, int len, int do_bswap);
68void espdma_memory_read(void *opaque, uint8_t *buf, int len);
69void espdma_memory_write(void *opaque, uint8_t *buf, int len);
70
71#endif