[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v6 05/19] mac_newworld: Clean up creation of Uninorth devices
From: |
BALATON Zoltan |
Subject: |
[PATCH v6 05/19] mac_newworld: Clean up creation of Uninorth devices |
Date: |
Fri, 28 Oct 2022 13:56:21 +0200 (CEST) |
Map regions in ascending otder and eorganise code a bit to avoid some
casts and move Uninorth parts together.
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
---
hw/ppc/mac_newworld.c | 37 +++++++++++++++++--------------------
1 file changed, 17 insertions(+), 20 deletions(-)
diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c
index 6bc3bd19be..e2f456b547 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,30 @@ 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 +308,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;
--
2.30.6
- [PATCH v6 00/19] Misc ppc/mac machines clean up, BALATON Zoltan, 2022/10/28
- [PATCH v6 02/19] mac_oldworld: Drop some more variables, BALATON Zoltan, 2022/10/28
- [PATCH v6 01/19] mac_newworld: Drop some variables, BALATON Zoltan, 2022/10/28
- [PATCH v6 03/19] mac_{old|new}world: Set tbfreq at declaration, BALATON Zoltan, 2022/10/28
- [PATCH v6 04/19] mac_{old|new}world: Avoid else branch by setting default value, BALATON Zoltan, 2022/10/28
- [PATCH v6 09/19] hw/ppc/mac.h: Move grackle-pcihost type declaration out to a header, BALATON Zoltan, 2022/10/28
- [PATCH v6 06/19] mac_{old|new}world: Reduce number of QOM casts, BALATON Zoltan, 2022/10/28
- [PATCH v6 05/19] mac_newworld: Clean up creation of Uninorth devices,
BALATON Zoltan <=
- [PATCH v6 08/19] hw/ppc/mac.h: Move macio specific parts out from shared header, BALATON Zoltan, 2022/10/28
- [PATCH v6 13/19] mac_{old|new}world: Code style fix adding missing braces to if-s, BALATON Zoltan, 2022/10/28
- [PATCH v6 12/19] mac_nvram: Use NVRAM_SIZE constant, BALATON Zoltan, 2022/10/28
- [PATCH v6 10/19] hw/ppc/mac.h: Move PROM and KERNEL defines to board code, BALATON Zoltan, 2022/10/28
- [PATCH v6 16/19] mac_newworld: Deprecate mac99 with G5 CPU, BALATON Zoltan, 2022/10/28
- [PATCH v6 07/19] hw/ppc/mac.h: Move newworld specific parts out from shared header, BALATON Zoltan, 2022/10/28
- [PATCH v6 11/19] hw/ppc/mac.h: Rename to include/hw/nvram/mac_nvram.h, BALATON Zoltan, 2022/10/28
- [PATCH v6 14/19] mac_newworld: Turn CORE99_VIA_CONFIG defines into an enum, BALATON Zoltan, 2022/10/28