summaryrefslogtreecommitdiffstats
path: root/include/hw/sparc
diff options
context:
space:
mode:
authorMark Cave-Ayland2017-10-14 14:22:21 +0200
committerMark Cave-Ayland2017-10-31 18:25:35 +0100
commit9227f296a9be63f946bf8e552f24527a63a75b6d (patch)
tree1a787e2ba45df7ff7cb1291763d2b51a99f4b392 /include/hw/sparc
parentsun4m: move DMA device wiring from sparc32_dma_init() to sun4m_hw_init() (diff)
downloadqemu-9227f296a9be63f946bf8e552f24527a63a75b6d.tar.gz
qemu-9227f296a9be63f946bf8e552f24527a63a75b6d.tar.xz
qemu-9227f296a9be63f946bf8e552f24527a63a75b6d.zip
sun4m_iommu: move TYPE_SUN4M_IOMMU declaration to sun4m.h
This is in preparation to allow the type to be used elsewhere. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Artyom Tarasenko <atar4qemu@gmail.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Diffstat (limited to 'include/hw/sparc')
-rw-r--r--include/hw/sparc/sun4m.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/hw/sparc/sun4m.h b/include/hw/sparc/sun4m.h
index 580d87b252..1f1cf91ed9 100644
--- a/include/hw/sparc/sun4m.h
+++ b/include/hw/sparc/sun4m.h
@@ -4,10 +4,26 @@
#include "qemu-common.h"
#include "exec/hwaddr.h"
#include "qapi/qmp/types.h"
+#include "hw/sysbus.h"
/* Devices used by sparc32 system. */
/* iommu.c */
+#define TYPE_SUN4M_IOMMU "iommu"
+#define SUN4M_IOMMU(obj) OBJECT_CHECK(IOMMUState, (obj), TYPE_SUN4M_IOMMU)
+
+#define IOMMU_NREGS (4 * 4096 / 4)
+
+typedef struct IOMMUState {
+ SysBusDevice parent_obj;
+
+ MemoryRegion iomem;
+ uint32_t regs[IOMMU_NREGS];
+ hwaddr iostart;
+ qemu_irq irq;
+ uint32_t version;
+} IOMMUState;
+
void sparc_iommu_memory_rw(void *opaque, hwaddr addr,
uint8_t *buf, int len, int is_write);
static inline void sparc_iommu_memory_read(void *opaque,