q800: introduce mac-io container memory region
Move all devices from the IO region to within the container in preparation
for updating the IO aliasing mechanism.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230621085353.113233-11-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
diff --git a/hw/m68k/q800.c b/hw/m68k/q800.c
index 505e50d..359bdf3 100644
--- a/hw/m68k/q800.c
+++ b/hw/m68k/q800.c
@@ -178,6 +178,12 @@
memory_region_add_subregion(get_system_memory(), 0, machine->ram);
/*
+ * Create container for all IO devices
+ */
+ memory_region_init(&m->macio, OBJECT(machine), "mac-io", IO_SLICE);
+ memory_region_add_subregion(get_system_memory(), IO_BASE, &m->macio);
+
+ /*
* Memory from IO_BASE to IO_BASE + IO_SLICE is repeated
* from IO_BASE + IO_SLICE to IO_BASE + IO_SIZE
*/
diff --git a/include/hw/m68k/q800.h b/include/hw/m68k/q800.h
index fda42e0..17067df 100644
--- a/include/hw/m68k/q800.h
+++ b/include/hw/m68k/q800.h
@@ -39,6 +39,7 @@
M68kCPU cpu;
MemoryRegion rom;
GLUEState glue;
+ MemoryRegion macio;
};
#define TYPE_Q800_MACHINE MACHINE_TYPE_NAME("q800")