mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -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
|
||||
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)
|
||||
'''''''''''''''''''''''''''''''''''''
|
||||
|
||||
|
|
|
@ -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,
|
||||
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
|
||||
--------------------
|
||||
|
||||
|
|
|
@ -80,8 +80,6 @@ petalogix_ml605_init(MachineState *machine)
|
|||
MemoryRegion *phys_lmb_bram = g_new(MemoryRegion, 1);
|
||||
MemoryRegion *phys_ram = g_new(MemoryRegion, 1);
|
||||
qemu_irq irq[32];
|
||||
EndianMode endianness = TARGET_BIG_ENDIAN ? ENDIAN_MODE_BIG
|
||||
: ENDIAN_MODE_LITTLE;
|
||||
|
||||
/* init CPUs */
|
||||
cpu = MICROBLAZE_CPU(object_new(TYPE_MICROBLAZE_CPU));
|
||||
|
@ -113,7 +111,7 @@ petalogix_ml605_init(MachineState *machine)
|
|||
|
||||
|
||||
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);
|
||||
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
||||
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. */
|
||||
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, "clock-frequency", 100 * 1000000);
|
||||
sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
|
||||
|
@ -177,7 +175,7 @@ petalogix_ml605_init(MachineState *machine)
|
|||
SSIBus *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);
|
||||
busdev = SYS_BUS_DEVICE(dev);
|
||||
sysbus_realize_and_unref(busdev, &error_fatal);
|
||||
|
@ -218,12 +216,7 @@ petalogix_ml605_init(MachineState *machine)
|
|||
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -181,12 +181,7 @@ static void xlnx_zynqmp_pmu_init(MachineState *machine)
|
|||
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue