]>
git.proxmox.com Git - mirror_qemu.git/blob - include/hw/sparc/sun4m.h
4 #include "qemu-common.h"
5 #include "exec/hwaddr.h"
6 #include "qapi/qmp/types.h"
9 /* Devices used by sparc32 system. */
12 #define TYPE_SUN4M_IOMMU "iommu"
13 #define SUN4M_IOMMU(obj) OBJECT_CHECK(IOMMUState, (obj), TYPE_SUN4M_IOMMU)
15 #define TYPE_SUN4M_IOMMU_MEMORY_REGION "sun4m-iommu-memory-region"
17 #define IOMMU_NREGS (4 * 4096 / 4)
19 typedef struct IOMMUState
{
20 SysBusDevice parent_obj
;
22 AddressSpace iommu_as
;
23 IOMMUMemoryRegion iommu
;
26 uint32_t regs
[IOMMU_NREGS
];
32 void sparc_iommu_memory_rw(void *opaque
, hwaddr addr
,
33 uint8_t *buf
, int len
, int is_write
);
34 static inline void sparc_iommu_memory_read(void *opaque
,
36 uint8_t *buf
, int len
)
38 sparc_iommu_memory_rw(opaque
, addr
, buf
, len
, 0);
41 static inline void sparc_iommu_memory_write(void *opaque
,
43 uint8_t *buf
, int len
)
45 sparc_iommu_memory_rw(opaque
, addr
, buf
, len
, 1);
49 #include "hw/sparc/sparc32_dma.h"