@samitouri / QOSamiQemu / commits / f73b31686f

ppc/pnv: Remove Power8E and Power8NVL CPUs

Power8E and Power8NVL were deprecated since QEMU 10.1, with commit 264a604e7163 ("target/ppc: Deprecate Power8E and Power8NVL") Remove the corresponding 8E and 8NVL CPU cores from spapr/pseries Also, with no use of 8E and 8NVL, in powernv chips or spapr cores, remove the CPU definitions for the cores Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Tested-by: Misbah Anjum N <misanjum@linux.ibm.com> Signed-off-by: Aditya Gupta <adityag@linux.ibm.com> Link: https://lore.kernel.org/qemu-devel/20260703085955.2318600-8-adityag@linux.ibm.com Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>

Aditya Gupta committed Jul 3, 2026 at 14:29 UTC f73b31686fe83ec4ee078504897e53d97bb63ea9
8 files changed +10 -31
docs/about/deprecated.rst
-9
@@ -206,15 +206,6 @@ in the QEMU object model anymore. ``Sun-UltraSparc-IIIi+`` and
206 but for consistency these will get removed in a future release, too.
207 Use ``Sun-UltraSparc-IIIi-plus`` and ``Sun-UltraSparc-IV-plus`` instead.
208
209 -Power8E and Power8NVL CPUs and corresponding Pnv chips (since 10.1)
210 -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
211 -
212 -The Power8E and Power8NVL variants of Power8 are not really useful anymore
213 -in qemu, and are old and unmaintained now.
214 -
215 -The CPUs as well as corresponding Power8NVL and Power8E PnvChips will also
216 -be considered deprecated.
217 -
209 System emulator machines
210 ------------------------
211
docs/about/removed-features.rst
+8
@@ -1038,6 +1038,14 @@ initial RISC-V QEMU port. Its usage was always been unclear: users don't know
1038 what to expect from a CPU called 'any', and in fact the CPU does not do anything
1039 special that isn't already done by the default CPUs rv32/rv64.
1040
1041 +Power8E and Power8NVL CPUs (removed in 11.1)
1042 +''''''''''''''''''''''''''''''''''''''''''''
1043 +
1044 +The Power8E and Power8NVL variants of Power8 are not really useful anymore
1045 +in qemu, and are old and unmaintained.
1046 +Hence, the CPUs as well as corresponding Power8NVL and Power8E PnvChips have
1047 +been removed
1048 +
1049 System accelerators
1050 -------------------
1051
docs/system/ppc/pseries.rst
+1 -1
@@ -16,7 +16,7 @@ Supported devices
16
17 * Multi processor support for many Power processors generations:
18 - POWER7, POWER7+
19 - - POWER8, POWER8NVL
19 + - POWER8
20 - POWER9
21 - Power10
22 - Power11
hw/ppc/spapr_cpu_core.c
-2
@@ -408,8 +408,6 @@ static const TypeInfo spapr_cpu_core_type_infos[] = {
408 DEFINE_SPAPR_CPU_CORE_TYPE("power7_v2.3"),
409 DEFINE_SPAPR_CPU_CORE_TYPE("power7p_v2.1"),
410 DEFINE_SPAPR_CPU_CORE_TYPE("power8_v2.0"),
411 - DEFINE_SPAPR_CPU_CORE_TYPE("power8e_v2.1"),
412 - DEFINE_SPAPR_CPU_CORE_TYPE("power8nvl_v1.0"),
411 DEFINE_SPAPR_CPU_CORE_TYPE("power9_v2.0"),
412 DEFINE_SPAPR_CPU_CORE_TYPE("power9_v2.2"),
413 DEFINE_SPAPR_CPU_CORE_TYPE("power10_v2.0"),
target/ppc/cpu-models.c
-6
@@ -734,12 +734,8 @@
734 "POWER7 v2.3")
735 POWERPC_DEF("power7p_v2.1", CPU_POWERPC_POWER7P_v21, POWER7,
736 "POWER7+ v2.1")
737 - POWERPC_DEPRECATED_CPU("power8e_v2.1", CPU_POWERPC_POWER8E_v21, POWER8,
738 - "POWER8E v2.1", "CPU is unmaintained.")
737 POWERPC_DEF("power8_v2.0", CPU_POWERPC_POWER8_v20, POWER8,
738 "POWER8 v2.0")
741 - POWERPC_DEPRECATED_CPU("power8nvl_v1.0", CPU_POWERPC_POWER8NVL_v10, POWER8,
742 - "POWER8NVL v1.0", "CPU is unmaintained.")
739 POWERPC_DEF("power9_v2.0", CPU_POWERPC_POWER9_DD20, POWER9,
740 "POWER9 v2.0")
741 POWERPC_DEF("power9_v2.2", CPU_POWERPC_POWER9_DD22, POWER9,
@@ -918,9 +914,7 @@ PowerPCCPUAlias ppc_cpu_aliases[] = {
914 { "power7", "power7_v2.3" },
915 { "power7+", "power7p_v2.1" },
916 { "power7+_v2.1", "power7p_v2.1" },
921 - { "power8e", "power8e_v2.1" },
917 { "power8", "power8_v2.0" },
923 - { "power8nvl", "power8nvl_v1.0" },
918 { "power9", "power9_v2.2" },
919 { "power10", "power10_v2.0" },
920 { "power11", "power11_v2.0" },
target/ppc/cpu-models.h
-4
@@ -341,12 +341,8 @@ enum {
341 CPU_POWERPC_POWER7_v23 = 0x003F0203,
342 CPU_POWERPC_POWER7P_BASE = 0x004A0000,
343 CPU_POWERPC_POWER7P_v21 = 0x004A0201,
344 - CPU_POWERPC_POWER8E_BASE = 0x004B0000,
345 - CPU_POWERPC_POWER8E_v21 = 0x004B0201,
344 CPU_POWERPC_POWER8_BASE = 0x004D0000,
345 CPU_POWERPC_POWER8_v20 = 0x004D0200,
348 - CPU_POWERPC_POWER8NVL_BASE = 0x004C0000,
349 - CPU_POWERPC_POWER8NVL_v10 = 0x004C0100,
346 CPU_POWERPC_POWER9_BASE = 0x004E0000,
347 CPU_POWERPC_POWER9_DD1 = 0x004E1100,
348 CPU_POWERPC_POWER9_DD20 = 0x004E1200,
target/ppc/cpu_init.c
-6
@@ -6311,12 +6311,6 @@ static bool ppc_pvr_match_power8(PowerPCCPUClass *pcc, uint32_t pvr, bool best)
6311 if (base == CPU_POWERPC_POWER8_BASE) {
6312 return true;
6313 }
6314 - if (base == CPU_POWERPC_POWER8E_BASE) {
6315 - return true;
6316 - }
6317 - if (base == CPU_POWERPC_POWER8NVL_BASE) {
6318 - return true;
6319 - }
6314 }
6315 if (base != pcc_base) {
6316 return false;
target/ppc/kvm.c
+1 -3
@@ -2437,9 +2437,7 @@ static bool kvmppc_power8_host(void)
2437 #ifdef TARGET_PPC64
2438 {
2439 uint32_t base_pvr = CPU_POWERPC_POWER_SERVER_MASK & mfpvr();
2440 - ret = (base_pvr == CPU_POWERPC_POWER8E_BASE) ||
2441 - (base_pvr == CPU_POWERPC_POWER8NVL_BASE) ||
2442 - (base_pvr == CPU_POWERPC_POWER8_BASE);
2440 + ret = (base_pvr == CPU_POWERPC_POWER8_BASE);
2441 }
2442 #endif /* TARGET_PPC64 */
2443 return ret;