]> git.proxmox.com Git - mirror_qemu.git/blob - include/hw/sparc/sun4m.h
sparc32_dma: make lance device child of ledma device
[mirror_qemu.git] / include / hw / sparc / sun4m.h
1 #ifndef SUN4M_H
2 #define SUN4M_H
3
4 #include "qemu-common.h"
5 #include "exec/hwaddr.h"
6 #include "qapi/qmp/types.h"
7 #include "hw/sysbus.h"
8
9 /* Devices used by sparc32 system. */
10
11 /* iommu.c */
12 #define TYPE_SUN4M_IOMMU "iommu"
13 #define SUN4M_IOMMU(obj) OBJECT_CHECK(IOMMUState, (obj), TYPE_SUN4M_IOMMU)
14
15 #define IOMMU_NREGS (4 * 4096 / 4)
16
17 typedef struct IOMMUState {
18 SysBusDevice parent_obj;
19
20 MemoryRegion iomem;
21 uint32_t regs[IOMMU_NREGS];
22 hwaddr iostart;
23 qemu_irq irq;
24 uint32_t version;
25 } IOMMUState;
26
27 void sparc_iommu_memory_rw(void *opaque, hwaddr addr,
28 uint8_t *buf, int len, int is_write);
29 static inline void sparc_iommu_memory_read(void *opaque,
30 hwaddr addr,
31 uint8_t *buf, int len)
32 {
33 sparc_iommu_memory_rw(opaque, addr, buf, len, 0);
34 }
35
36 static inline void sparc_iommu_memory_write(void *opaque,
37 hwaddr addr,
38 uint8_t *buf, int len)
39 {
40 sparc_iommu_memory_rw(opaque, addr, buf, len, 1);
41 }
42
43 /* sparc32_dma.c */
44 #include "hw/sparc/sparc32_dma.h"
45
46 #endif