mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-09-02 23:11:53 -06:00
hw/microblaze: Remove the big-endian variants of ml605 and xlnx-zynqmp-pmu
Both machines were added with little-endian in mind only (the "endianness" CPU property was hard-wired to "true", see commits133d23b3ad
anda88bbb006a
), so the variants that showed up on the big endian target likely never worked. We deprecated these non-working machine variants two releases ago, and so far nobody complained, so it should be fine now to disable them. Hard-wire the machines to little endian now. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250515132019.569365-4-thuth@redhat.com>
This commit is contained in:
parent
6c54775584
commit
0e259fa5a1
4 changed files with 14 additions and 23 deletions
|
@ -315,12 +315,6 @@ deprecated; use the new name ``dtb-randomness`` instead. The new name
|
||||||
better reflects the way this property affects all random data within
|
better reflects the way this property affects all random data within
|
||||||
the device tree blob, not just the ``kaslr-seed`` node.
|
the device tree blob, not just the ``kaslr-seed`` node.
|
||||||
|
|
||||||
Big-Endian variants of MicroBlaze ``petalogix-ml605`` and ``xlnx-zynqmp-pmu`` machines (since 9.2)
|
|
||||||
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
|
||||||
|
|
||||||
Both ``petalogix-ml605`` and ``xlnx-zynqmp-pmu`` were added for little endian
|
|
||||||
CPUs. Big endian support is not tested.
|
|
||||||
|
|
||||||
Mips ``mipssim`` machine (since 10.0)
|
Mips ``mipssim`` machine (since 10.0)
|
||||||
'''''''''''''''''''''''''''''''''''''
|
'''''''''''''''''''''''''''''''''''''
|
||||||
|
|
||||||
|
|
|
@ -1091,6 +1091,15 @@ This machine was removed because PPC 405 CPU have no known users,
|
||||||
firmware images are not available, OpenWRT dropped support in 2019,
|
firmware images are not available, OpenWRT dropped support in 2019,
|
||||||
U-Boot in 2017, and Linux in 2024.
|
U-Boot in 2017, and Linux in 2024.
|
||||||
|
|
||||||
|
Big-Endian variants of ``petalogix-ml605`` and ``xlnx-zynqmp-pmu`` machines (removed in 10.1)
|
||||||
|
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||||
|
|
||||||
|
Both the MicroBlaze ``petalogix-ml605`` and ``xlnx-zynqmp-pmu`` machines
|
||||||
|
were added for little endian CPUs. Big endian support was never tested
|
||||||
|
and likely never worked. Starting with QEMU v10.1, the machines are now
|
||||||
|
only available as little-endian machines.
|
||||||
|
|
||||||
|
|
||||||
linux-user mode CPUs
|
linux-user mode CPUs
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
|
|
|
@ -80,8 +80,6 @@ petalogix_ml605_init(MachineState *machine)
|
||||||
MemoryRegion *phys_lmb_bram = g_new(MemoryRegion, 1);
|
MemoryRegion *phys_lmb_bram = g_new(MemoryRegion, 1);
|
||||||
MemoryRegion *phys_ram = g_new(MemoryRegion, 1);
|
MemoryRegion *phys_ram = g_new(MemoryRegion, 1);
|
||||||
qemu_irq irq[32];
|
qemu_irq irq[32];
|
||||||
EndianMode endianness = TARGET_BIG_ENDIAN ? ENDIAN_MODE_BIG
|
|
||||||
: ENDIAN_MODE_LITTLE;
|
|
||||||
|
|
||||||
/* init CPUs */
|
/* init CPUs */
|
||||||
cpu = MICROBLAZE_CPU(object_new(TYPE_MICROBLAZE_CPU));
|
cpu = MICROBLAZE_CPU(object_new(TYPE_MICROBLAZE_CPU));
|
||||||
|
@ -113,7 +111,7 @@ petalogix_ml605_init(MachineState *machine)
|
||||||
|
|
||||||
|
|
||||||
dev = qdev_new("xlnx.xps-intc");
|
dev = qdev_new("xlnx.xps-intc");
|
||||||
qdev_prop_set_enum(dev, "endianness", endianness);
|
qdev_prop_set_enum(dev, "endianness", ENDIAN_MODE_LITTLE);
|
||||||
qdev_prop_set_uint32(dev, "kind-of-intr", 1 << TIMER_IRQ);
|
qdev_prop_set_uint32(dev, "kind-of-intr", 1 << TIMER_IRQ);
|
||||||
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
||||||
sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, INTC_BASEADDR);
|
sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, INTC_BASEADDR);
|
||||||
|
@ -129,7 +127,7 @@ petalogix_ml605_init(MachineState *machine)
|
||||||
|
|
||||||
/* 2 timers at irq 2 @ 100 Mhz. */
|
/* 2 timers at irq 2 @ 100 Mhz. */
|
||||||
dev = qdev_new("xlnx.xps-timer");
|
dev = qdev_new("xlnx.xps-timer");
|
||||||
qdev_prop_set_enum(dev, "endianness", endianness);
|
qdev_prop_set_enum(dev, "endianness", ENDIAN_MODE_LITTLE);
|
||||||
qdev_prop_set_uint32(dev, "one-timer-only", 0);
|
qdev_prop_set_uint32(dev, "one-timer-only", 0);
|
||||||
qdev_prop_set_uint32(dev, "clock-frequency", 100 * 1000000);
|
qdev_prop_set_uint32(dev, "clock-frequency", 100 * 1000000);
|
||||||
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
||||||
|
@ -177,7 +175,7 @@ petalogix_ml605_init(MachineState *machine)
|
||||||
SSIBus *spi;
|
SSIBus *spi;
|
||||||
|
|
||||||
dev = qdev_new("xlnx.xps-spi");
|
dev = qdev_new("xlnx.xps-spi");
|
||||||
qdev_prop_set_enum(dev, "endianness", endianness);
|
qdev_prop_set_enum(dev, "endianness", ENDIAN_MODE_LITTLE);
|
||||||
qdev_prop_set_uint8(dev, "num-ss-bits", NUM_SPI_FLASHES);
|
qdev_prop_set_uint8(dev, "num-ss-bits", NUM_SPI_FLASHES);
|
||||||
busdev = SYS_BUS_DEVICE(dev);
|
busdev = SYS_BUS_DEVICE(dev);
|
||||||
sysbus_realize_and_unref(busdev, &error_fatal);
|
sysbus_realize_and_unref(busdev, &error_fatal);
|
||||||
|
@ -218,12 +216,7 @@ petalogix_ml605_init(MachineState *machine)
|
||||||
|
|
||||||
static void petalogix_ml605_machine_init(MachineClass *mc)
|
static void petalogix_ml605_machine_init(MachineClass *mc)
|
||||||
{
|
{
|
||||||
if (TARGET_BIG_ENDIAN) {
|
|
||||||
mc->desc = "PetaLogix linux refdesign for xilinx ml605 (big endian)";
|
|
||||||
mc->deprecation_reason = "big endian support is not tested";
|
|
||||||
} else {
|
|
||||||
mc->desc = "PetaLogix linux refdesign for xilinx ml605 (little endian)";
|
mc->desc = "PetaLogix linux refdesign for xilinx ml605 (little endian)";
|
||||||
}
|
|
||||||
mc->init = petalogix_ml605_init;
|
mc->init = petalogix_ml605_init;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -181,12 +181,7 @@ static void xlnx_zynqmp_pmu_init(MachineState *machine)
|
||||||
|
|
||||||
static void xlnx_zynqmp_pmu_machine_init(MachineClass *mc)
|
static void xlnx_zynqmp_pmu_machine_init(MachineClass *mc)
|
||||||
{
|
{
|
||||||
if (TARGET_BIG_ENDIAN) {
|
|
||||||
mc->desc = "Xilinx ZynqMP PMU machine (big endian)";
|
|
||||||
mc->deprecation_reason = "big endian support is not tested";
|
|
||||||
} else {
|
|
||||||
mc->desc = "Xilinx ZynqMP PMU machine (little endian)";
|
mc->desc = "Xilinx ZynqMP PMU machine (little endian)";
|
||||||
}
|
|
||||||
mc->init = xlnx_zynqmp_pmu_init;
|
mc->init = xlnx_zynqmp_pmu_init;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue