diff options
Diffstat (limited to 'hw/m68k/an5206.c')
-rw-r--r-- | hw/m68k/an5206.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/hw/m68k/an5206.c b/hw/m68k/an5206.c index 846f4e40c6..673898b0ea 100644 --- a/hw/m68k/an5206.c +++ b/hw/m68k/an5206.c @@ -21,7 +21,17 @@ #define AN5206_MBAR_ADDR 0x10000000 #define AN5206_RAMBAR_ADDR 0x20000000 -/* Board init. */ +static void mcf5206_init(MemoryRegion *sysmem, uint32_t base) +{ + DeviceState *dev; + SysBusDevice *s; + + dev = qdev_new(TYPE_MCF5206_MBAR); + s = SYS_BUS_DEVICE(dev); + sysbus_realize_and_unref(s, &error_fatal); + + memory_region_add_subregion(sysmem, base, sysbus_mmio_get_region(s, 0)); +} static void an5206_init(MachineState *machine) { @@ -51,7 +61,7 @@ static void an5206_init(MachineState *machine) memory_region_init_ram(sram, NULL, "an5206.sram", 512, &error_fatal); memory_region_add_subregion(address_space_mem, AN5206_RAMBAR_ADDR, sram); - mcf5206_init(address_space_mem, AN5206_MBAR_ADDR, cpu); + mcf5206_init(address_space_mem, AN5206_MBAR_ADDR); /* Load kernel. */ if (!kernel_filename) { |