Message ID | f3ed20267d28e7b1f91b83b9bbfae1a6f4e4c133.1664827008.git.balaton@eik.bme.hu (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Misc ppc/mac machines clean up | expand |
On 03/10/2022 21:13, BALATON Zoltan wrote: > Map regions in ascending order and reorganise code a bit to avoid some > casts and move Uninorth parts together. > > Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> > --- > hw/ppc/mac_newworld.c | 38 ++++++++++++++++++-------------------- > 1 file changed, 18 insertions(+), 20 deletions(-) > > diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c > index 73b01e8c6d..be2cb5f057 100644 > --- a/hw/ppc/mac_newworld.c > +++ b/hw/ppc/mac_newworld.c > @@ -228,13 +228,6 @@ static void ppc_core99_init(MachineState *machine) > } > } > > - /* UniN init */ > - dev = qdev_new(TYPE_UNI_NORTH); > - s = SYS_BUS_DEVICE(dev); > - sysbus_realize_and_unref(s, &error_fatal); > - memory_region_add_subregion(get_system_memory(), 0xf8000000, > - sysbus_mmio_get_region(s, 0)); > - > openpic_irqs = g_new0(IrqLines, machine->smp.cpus); > for (i = 0; i < machine->smp.cpus; i++) { > /* Mac99 IRQ connection between OpenPIC outputs pins > @@ -275,24 +268,31 @@ static void ppc_core99_init(MachineState *machine) > } > } > > + /* UniN init */ > + s = SYS_BUS_DEVICE(qdev_new(TYPE_UNI_NORTH)); > + sysbus_realize_and_unref(s, &error_fatal); > + memory_region_add_subregion(get_system_memory(), 0xf8000000, > + sysbus_mmio_get_region(s, 0)); > + > + > if (PPC_INPUT(env) == PPC_FLAGS_INPUT_970) { > + machine_arch = ARCH_MAC99_U3; > /* 970 gets a U3 bus */ > /* Uninorth AGP bus */ > dev = qdev_new(TYPE_U3_AGP_HOST_BRIDGE); > - sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); > uninorth_pci = U3_AGP_HOST_BRIDGE(dev); > s = SYS_BUS_DEVICE(dev); > + sysbus_realize_and_unref(s, &error_fatal); > + sysbus_mmio_map(s, 0, 0xf0800000); > + sysbus_mmio_map(s, 1, 0xf0c00000); > /* PCI hole */ > - memory_region_add_subregion(get_system_memory(), 0x80000000ULL, > + memory_region_add_subregion(get_system_memory(), 0x80000000, > sysbus_mmio_get_region(s, 2)); > /* Register 8 MB of ISA IO space */ > memory_region_add_subregion(get_system_memory(), 0xf2000000, > sysbus_mmio_get_region(s, 3)); > - sysbus_mmio_map(s, 0, 0xf0800000); > - sysbus_mmio_map(s, 1, 0xf0c00000); > - > - machine_arch = ARCH_MAC99_U3; > } else { > + machine_arch = ARCH_MAC99; > /* Use values found on a real PowerMac */ > /* Uninorth AGP bus */ > uninorth_agp_dev = qdev_new(TYPE_UNI_NORTH_AGP_HOST_BRIDGE); > @@ -309,22 +309,20 @@ static void ppc_core99_init(MachineState *machine) > sysbus_mmio_map(s, 0, 0xf4800000); > sysbus_mmio_map(s, 1, 0xf4c00000); > > - /* Uninorth main bus */ > + /* Uninorth main bus - this must be last to make it the default */ > dev = qdev_new(TYPE_UNI_NORTH_PCI_HOST_BRIDGE); > qdev_prop_set_uint32(dev, "ofw-addr", 0xf2000000); > - sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); > uninorth_pci = UNI_NORTH_PCI_HOST_BRIDGE(dev); > s = SYS_BUS_DEVICE(dev); > + sysbus_realize_and_unref(s, &error_fatal); > + sysbus_mmio_map(s, 0, 0xf2800000); > + sysbus_mmio_map(s, 1, 0xf2c00000); > /* PCI hole */ > - memory_region_add_subregion(get_system_memory(), 0x80000000ULL, > + memory_region_add_subregion(get_system_memory(), 0x80000000, > sysbus_mmio_get_region(s, 2)); > /* Register 8 MB of ISA IO space */ > memory_region_add_subregion(get_system_memory(), 0xf2000000, > sysbus_mmio_get_region(s, 3)); > - sysbus_mmio_map(s, 0, 0xf2800000); > - sysbus_mmio_map(s, 1, 0xf2c00000); > - > - machine_arch = ARCH_MAC99; > } > > machine->usb |= defaults_enabled() && !machine->usb_disabled; Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> ATB, Mark.
diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c index 73b01e8c6d..be2cb5f057 100644 --- a/hw/ppc/mac_newworld.c +++ b/hw/ppc/mac_newworld.c @@ -228,13 +228,6 @@ static void ppc_core99_init(MachineState *machine) } } - /* UniN init */ - dev = qdev_new(TYPE_UNI_NORTH); - s = SYS_BUS_DEVICE(dev); - sysbus_realize_and_unref(s, &error_fatal); - memory_region_add_subregion(get_system_memory(), 0xf8000000, - sysbus_mmio_get_region(s, 0)); - openpic_irqs = g_new0(IrqLines, machine->smp.cpus); for (i = 0; i < machine->smp.cpus; i++) { /* Mac99 IRQ connection between OpenPIC outputs pins @@ -275,24 +268,31 @@ static void ppc_core99_init(MachineState *machine) } } + /* UniN init */ + s = SYS_BUS_DEVICE(qdev_new(TYPE_UNI_NORTH)); + sysbus_realize_and_unref(s, &error_fatal); + memory_region_add_subregion(get_system_memory(), 0xf8000000, + sysbus_mmio_get_region(s, 0)); + + if (PPC_INPUT(env) == PPC_FLAGS_INPUT_970) { + machine_arch = ARCH_MAC99_U3; /* 970 gets a U3 bus */ /* Uninorth AGP bus */ dev = qdev_new(TYPE_U3_AGP_HOST_BRIDGE); - sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); uninorth_pci = U3_AGP_HOST_BRIDGE(dev); s = SYS_BUS_DEVICE(dev); + sysbus_realize_and_unref(s, &error_fatal); + sysbus_mmio_map(s, 0, 0xf0800000); + sysbus_mmio_map(s, 1, 0xf0c00000); /* PCI hole */ - memory_region_add_subregion(get_system_memory(), 0x80000000ULL, + memory_region_add_subregion(get_system_memory(), 0x80000000, sysbus_mmio_get_region(s, 2)); /* Register 8 MB of ISA IO space */ memory_region_add_subregion(get_system_memory(), 0xf2000000, sysbus_mmio_get_region(s, 3)); - sysbus_mmio_map(s, 0, 0xf0800000); - sysbus_mmio_map(s, 1, 0xf0c00000); - - machine_arch = ARCH_MAC99_U3; } else { + machine_arch = ARCH_MAC99; /* Use values found on a real PowerMac */ /* Uninorth AGP bus */ uninorth_agp_dev = qdev_new(TYPE_UNI_NORTH_AGP_HOST_BRIDGE); @@ -309,22 +309,20 @@ static void ppc_core99_init(MachineState *machine) sysbus_mmio_map(s, 0, 0xf4800000); sysbus_mmio_map(s, 1, 0xf4c00000); - /* Uninorth main bus */ + /* Uninorth main bus - this must be last to make it the default */ dev = qdev_new(TYPE_UNI_NORTH_PCI_HOST_BRIDGE); qdev_prop_set_uint32(dev, "ofw-addr", 0xf2000000); - sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); uninorth_pci = UNI_NORTH_PCI_HOST_BRIDGE(dev); s = SYS_BUS_DEVICE(dev); + sysbus_realize_and_unref(s, &error_fatal); + sysbus_mmio_map(s, 0, 0xf2800000); + sysbus_mmio_map(s, 1, 0xf2c00000); /* PCI hole */ - memory_region_add_subregion(get_system_memory(), 0x80000000ULL, + memory_region_add_subregion(get_system_memory(), 0x80000000, sysbus_mmio_get_region(s, 2)); /* Register 8 MB of ISA IO space */ memory_region_add_subregion(get_system_memory(), 0xf2000000, sysbus_mmio_get_region(s, 3)); - sysbus_mmio_map(s, 0, 0xf2800000); - sysbus_mmio_map(s, 1, 0xf2c00000); - - machine_arch = ARCH_MAC99; } machine->usb |= defaults_enabled() && !machine->usb_disabled;
Map regions in ascending order and reorganise code a bit to avoid some casts and move Uninorth parts together. Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> --- hw/ppc/mac_newworld.c | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-)