mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
target/arm: Remove deprecated pxa CPU family
In 10.0 we deprecated the pxa CPU family (pxa250, pxa255, pxa260 pxa261, pxa262, pxa270-a0, pxa270-a1, pxa270, pxa270-b0, pxa270-b1, pxa270-c0, pxa270-c5). Now we have released 10.1 we can remove them. This commit removes only the top level CPU definitions and updates the documentation. Removing the CPUs means that there is now a lot of dead iwMMXt code, which we will delete in subsequent commits. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-id: 20250828140422.3271703-2-peter.maydell@linaro.org
This commit is contained in:
@@ -236,27 +236,6 @@ Keeping 32-bit host support alive is a substantial burden for the
|
||||
QEMU project. Thus QEMU will in future drop the support for all
|
||||
32-bit host systems.
|
||||
|
||||
linux-user mode CPUs
|
||||
--------------------
|
||||
|
||||
iwMMXt emulation and the ``pxa`` CPUs (since 10.0)
|
||||
''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
The ``pxa`` CPU family (``pxa250``, ``pxa255``, ``pxa260``,
|
||||
``pxa261``, ``pxa262``, ``pxa270-a0``, ``pxa270-a1``, ``pxa270``,
|
||||
``pxa270-b0``, ``pxa270-b1``, ``pxa270-c0``, ``pxa270-c5``) are no
|
||||
longer used in system emulation, because all the machine types which
|
||||
used these CPUs were removed in the QEMU 9.2 release. These CPUs can
|
||||
now only be used in linux-user mode, and to do that you would have to
|
||||
explicitly select one of these CPUs with the ``-cpu`` command line
|
||||
option or the ``QEMU_CPU`` environment variable.
|
||||
|
||||
We don't believe that anybody is using the iwMMXt emulation, and we do
|
||||
not have any tests to validate it or any real hardware or similar
|
||||
known-good implementation to test against. GCC is in the process of
|
||||
dropping their support for iwMMXt codegen. These CPU types are
|
||||
therefore deprecated in QEMU, and will be removed in a future release.
|
||||
|
||||
System emulator CPUs
|
||||
--------------------
|
||||
|
||||
|
||||
@@ -1138,6 +1138,20 @@ reason the maintainers strongly suspected no one actually used it.
|
||||
QEMU Nios II architecture was orphan; Intel has EOL'ed the Nios II
|
||||
processor IP (see `Intel discontinuance notification`_).
|
||||
|
||||
iwMMXt emulation and the ``pxa`` CPUs (removed in 10.2)
|
||||
'''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
The ``pxa`` CPU family (``pxa250``, ``pxa255``, ``pxa260``,
|
||||
``pxa261``, ``pxa262``, ``pxa270-a0``, ``pxa270-a1``, ``pxa270``,
|
||||
``pxa270-b0``, ``pxa270-b1``, ``pxa270-c0``, ``pxa270-c5``) were
|
||||
not available in system emulation, because all the machine types which
|
||||
used these CPUs were removed in the QEMU 9.2 release. We don't
|
||||
believe that anybody was using the iwMMXt emulation (which you
|
||||
would have to explicitly enable on the command line), and we did
|
||||
not have any tests to validate it or any real hardware or similar
|
||||
known-good implementation to test against. These CPUs have
|
||||
therefore been removed in linux-user mode as well.
|
||||
|
||||
TCG introspection features
|
||||
--------------------------
|
||||
|
||||
|
||||
@@ -807,144 +807,6 @@ static void sa1110_initfn(Object *obj)
|
||||
cpu->reset_sctlr = 0x00000070;
|
||||
}
|
||||
|
||||
static void pxa250_initfn(Object *obj)
|
||||
{
|
||||
ARMCPU *cpu = ARM_CPU(obj);
|
||||
|
||||
cpu->dtb_compatible = "marvell,xscale";
|
||||
set_feature(&cpu->env, ARM_FEATURE_V5);
|
||||
set_feature(&cpu->env, ARM_FEATURE_XSCALE);
|
||||
cpu->midr = 0x69052100;
|
||||
cpu->ctr = 0xd172172;
|
||||
cpu->reset_sctlr = 0x00000078;
|
||||
}
|
||||
|
||||
static void pxa255_initfn(Object *obj)
|
||||
{
|
||||
ARMCPU *cpu = ARM_CPU(obj);
|
||||
|
||||
cpu->dtb_compatible = "marvell,xscale";
|
||||
set_feature(&cpu->env, ARM_FEATURE_V5);
|
||||
set_feature(&cpu->env, ARM_FEATURE_XSCALE);
|
||||
cpu->midr = 0x69052d00;
|
||||
cpu->ctr = 0xd172172;
|
||||
cpu->reset_sctlr = 0x00000078;
|
||||
}
|
||||
|
||||
static void pxa260_initfn(Object *obj)
|
||||
{
|
||||
ARMCPU *cpu = ARM_CPU(obj);
|
||||
|
||||
cpu->dtb_compatible = "marvell,xscale";
|
||||
set_feature(&cpu->env, ARM_FEATURE_V5);
|
||||
set_feature(&cpu->env, ARM_FEATURE_XSCALE);
|
||||
cpu->midr = 0x69052903;
|
||||
cpu->ctr = 0xd172172;
|
||||
cpu->reset_sctlr = 0x00000078;
|
||||
}
|
||||
|
||||
static void pxa261_initfn(Object *obj)
|
||||
{
|
||||
ARMCPU *cpu = ARM_CPU(obj);
|
||||
|
||||
cpu->dtb_compatible = "marvell,xscale";
|
||||
set_feature(&cpu->env, ARM_FEATURE_V5);
|
||||
set_feature(&cpu->env, ARM_FEATURE_XSCALE);
|
||||
cpu->midr = 0x69052d05;
|
||||
cpu->ctr = 0xd172172;
|
||||
cpu->reset_sctlr = 0x00000078;
|
||||
}
|
||||
|
||||
static void pxa262_initfn(Object *obj)
|
||||
{
|
||||
ARMCPU *cpu = ARM_CPU(obj);
|
||||
|
||||
cpu->dtb_compatible = "marvell,xscale";
|
||||
set_feature(&cpu->env, ARM_FEATURE_V5);
|
||||
set_feature(&cpu->env, ARM_FEATURE_XSCALE);
|
||||
cpu->midr = 0x69052d06;
|
||||
cpu->ctr = 0xd172172;
|
||||
cpu->reset_sctlr = 0x00000078;
|
||||
}
|
||||
|
||||
static void pxa270a0_initfn(Object *obj)
|
||||
{
|
||||
ARMCPU *cpu = ARM_CPU(obj);
|
||||
|
||||
cpu->dtb_compatible = "marvell,xscale";
|
||||
set_feature(&cpu->env, ARM_FEATURE_V5);
|
||||
set_feature(&cpu->env, ARM_FEATURE_XSCALE);
|
||||
set_feature(&cpu->env, ARM_FEATURE_IWMMXT);
|
||||
cpu->midr = 0x69054110;
|
||||
cpu->ctr = 0xd172172;
|
||||
cpu->reset_sctlr = 0x00000078;
|
||||
}
|
||||
|
||||
static void pxa270a1_initfn(Object *obj)
|
||||
{
|
||||
ARMCPU *cpu = ARM_CPU(obj);
|
||||
|
||||
cpu->dtb_compatible = "marvell,xscale";
|
||||
set_feature(&cpu->env, ARM_FEATURE_V5);
|
||||
set_feature(&cpu->env, ARM_FEATURE_XSCALE);
|
||||
set_feature(&cpu->env, ARM_FEATURE_IWMMXT);
|
||||
cpu->midr = 0x69054111;
|
||||
cpu->ctr = 0xd172172;
|
||||
cpu->reset_sctlr = 0x00000078;
|
||||
}
|
||||
|
||||
static void pxa270b0_initfn(Object *obj)
|
||||
{
|
||||
ARMCPU *cpu = ARM_CPU(obj);
|
||||
|
||||
cpu->dtb_compatible = "marvell,xscale";
|
||||
set_feature(&cpu->env, ARM_FEATURE_V5);
|
||||
set_feature(&cpu->env, ARM_FEATURE_XSCALE);
|
||||
set_feature(&cpu->env, ARM_FEATURE_IWMMXT);
|
||||
cpu->midr = 0x69054112;
|
||||
cpu->ctr = 0xd172172;
|
||||
cpu->reset_sctlr = 0x00000078;
|
||||
}
|
||||
|
||||
static void pxa270b1_initfn(Object *obj)
|
||||
{
|
||||
ARMCPU *cpu = ARM_CPU(obj);
|
||||
|
||||
cpu->dtb_compatible = "marvell,xscale";
|
||||
set_feature(&cpu->env, ARM_FEATURE_V5);
|
||||
set_feature(&cpu->env, ARM_FEATURE_XSCALE);
|
||||
set_feature(&cpu->env, ARM_FEATURE_IWMMXT);
|
||||
cpu->midr = 0x69054113;
|
||||
cpu->ctr = 0xd172172;
|
||||
cpu->reset_sctlr = 0x00000078;
|
||||
}
|
||||
|
||||
static void pxa270c0_initfn(Object *obj)
|
||||
{
|
||||
ARMCPU *cpu = ARM_CPU(obj);
|
||||
|
||||
cpu->dtb_compatible = "marvell,xscale";
|
||||
set_feature(&cpu->env, ARM_FEATURE_V5);
|
||||
set_feature(&cpu->env, ARM_FEATURE_XSCALE);
|
||||
set_feature(&cpu->env, ARM_FEATURE_IWMMXT);
|
||||
cpu->midr = 0x69054114;
|
||||
cpu->ctr = 0xd172172;
|
||||
cpu->reset_sctlr = 0x00000078;
|
||||
}
|
||||
|
||||
static void pxa270c5_initfn(Object *obj)
|
||||
{
|
||||
ARMCPU *cpu = ARM_CPU(obj);
|
||||
|
||||
cpu->dtb_compatible = "marvell,xscale";
|
||||
set_feature(&cpu->env, ARM_FEATURE_V5);
|
||||
set_feature(&cpu->env, ARM_FEATURE_XSCALE);
|
||||
set_feature(&cpu->env, ARM_FEATURE_IWMMXT);
|
||||
cpu->midr = 0x69054117;
|
||||
cpu->ctr = 0xd172172;
|
||||
cpu->reset_sctlr = 0x00000078;
|
||||
}
|
||||
|
||||
#ifndef TARGET_AARCH64
|
||||
/*
|
||||
* -cpu max: a CPU with as many features enabled as our emulation supports.
|
||||
@@ -1032,31 +894,6 @@ static const ARMCPUInfo arm_tcg_cpus[] = {
|
||||
{ .name = "ti925t", .initfn = ti925t_initfn },
|
||||
{ .name = "sa1100", .initfn = sa1100_initfn },
|
||||
{ .name = "sa1110", .initfn = sa1110_initfn },
|
||||
{ .name = "pxa250", .initfn = pxa250_initfn,
|
||||
.deprecation_note = "iwMMXt CPUs are no longer supported", },
|
||||
{ .name = "pxa255", .initfn = pxa255_initfn,
|
||||
.deprecation_note = "iwMMXt CPUs are no longer supported", },
|
||||
{ .name = "pxa260", .initfn = pxa260_initfn,
|
||||
.deprecation_note = "iwMMXt CPUs are no longer supported", },
|
||||
{ .name = "pxa261", .initfn = pxa261_initfn,
|
||||
.deprecation_note = "iwMMXt CPUs are no longer supported", },
|
||||
{ .name = "pxa262", .initfn = pxa262_initfn,
|
||||
.deprecation_note = "iwMMXt CPUs are no longer supported", },
|
||||
/* "pxa270" is an alias for "pxa270-a0" */
|
||||
{ .name = "pxa270", .initfn = pxa270a0_initfn,
|
||||
.deprecation_note = "iwMMXt CPUs are no longer supported", },
|
||||
{ .name = "pxa270-a0", .initfn = pxa270a0_initfn,
|
||||
.deprecation_note = "iwMMXt CPUs are no longer supported", },
|
||||
{ .name = "pxa270-a1", .initfn = pxa270a1_initfn,
|
||||
.deprecation_note = "iwMMXt CPUs are no longer supported", },
|
||||
{ .name = "pxa270-b0", .initfn = pxa270b0_initfn,
|
||||
.deprecation_note = "iwMMXt CPUs are no longer supported", },
|
||||
{ .name = "pxa270-b1", .initfn = pxa270b1_initfn,
|
||||
.deprecation_note = "iwMMXt CPUs are no longer supported", },
|
||||
{ .name = "pxa270-c0", .initfn = pxa270c0_initfn,
|
||||
.deprecation_note = "iwMMXt CPUs are no longer supported", },
|
||||
{ .name = "pxa270-c5", .initfn = pxa270c5_initfn,
|
||||
.deprecation_note = "iwMMXt CPUs are no longer supported", },
|
||||
#ifndef TARGET_AARCH64
|
||||
{ .name = "max", .initfn = arm_max_initfn },
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user