@samitouri / QOSamiQemu / commits / cfa89bd78a

ppc/pnv: Remove Power8E and Power8NVL pnv chips

Power8E and Power8NVL were deprecated since QEMU 10.1, with commit 264a604e7163 ("target/ppc: Deprecate Power8E and Power8NVL") Accordingly, remove usage of 8E and 8NVL chips from powernv, as it's old and unmaintained now. 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-7-adityag@linux.ibm.com Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>

Aditya Gupta committed Jul 3, 2026 at 14:29 UTC cfa89bd78ad36123f99430ec8484714382c9efbf
5 files changed +1 -82
docs/system/ppc/powernv.rst
+1 -1
@@ -15,7 +15,7 @@ beyond the scope of what QEMU addresses today.
15 Supported devices
16 -----------------
17
18 - * Multi processor support for POWER8, POWER8NVL, POWER9, Power10 and Power11.
18 + * Multi processor support for POWER8, POWER9, Power10 and Power11.
19 * XSCOM, serial communication sideband bus to configure chiplets.
20 * Simple LPC Controller.
21 * Processor Service Interface (PSI) Controller.
hw/ppc/pnv.c
-62
@@ -869,16 +869,6 @@ static ISABus *pnv_chip_power8_isa_create(PnvChip *chip, Error **errp)
869 return pnv_lpc_isa_create(&chip8->lpc, true, errp);
870 }
871
872 -static ISABus *pnv_chip_power8nvl_isa_create(PnvChip *chip, Error **errp)
873 -{
874 - Pnv8Chip *chip8 = PNV8_CHIP(chip);
875 - qemu_irq irq = qdev_get_gpio_in(DEVICE(&chip8->psi), PSIHB_IRQ_LPC_I2C);
876 -
877 - qdev_connect_gpio_out_named(DEVICE(&chip8->lpc), "LPCHC", 0, irq);
878 -
879 - return pnv_lpc_isa_create(&chip8->lpc, false, errp);
880 -}
881 -
872 static ISABus *pnv_chip_power9_isa_create(PnvChip *chip, Error **errp)
873 {
874 Pnv9Chip *chip9 = PNV9_CHIP(chip);
@@ -1646,7 +1636,6 @@ static void *pnv_chip_power11_intc_get(PnvChip *chip)
1636 * EX14
1637 * <EX15 reserved>
1638 */
1649 -#define POWER8E_CORE_MASK (0x7070ull)
1639 #define POWER8_CORE_MASK (0x7e7eull)
1640
1641 /*
@@ -1827,30 +1816,6 @@ static uint32_t pnv_chip_power8_xscom_pcba(PnvChip *chip, uint64_t addr)
1816 return ((addr >> 4) & ~0xfull) | ((addr >> 3) & 0xf);
1817 }
1818
1830 -static void pnv_chip_power8e_class_init(ObjectClass *klass, const void *data)
1831 -{
1832 - DeviceClass *dc = DEVICE_CLASS(klass);
1833 - PnvChipClass *k = PNV_CHIP_CLASS(klass);
1834 -
1835 - k->chip_cfam_id = 0x221ef04980000000ull; /* P8 Murano DD2.1 */
1836 - k->cores_mask = POWER8E_CORE_MASK;
1837 - k->num_phbs = 3;
1838 - k->get_pir_tir = pnv_get_pir_tir_p8;
1839 - k->intc_create = pnv_chip_power8_intc_create;
1840 - k->intc_reset = pnv_chip_power8_intc_reset;
1841 - k->intc_destroy = pnv_chip_power8_intc_destroy;
1842 - k->intc_print_info = pnv_chip_power8_intc_print_info;
1843 - k->isa_create = pnv_chip_power8_isa_create;
1844 - k->dt_populate = pnv_chip_power8_dt_populate;
1845 - k->pic_print_info = pnv_chip_power8_pic_print_info;
1846 - k->xscom_core_base = pnv_chip_power8_xscom_core_base;
1847 - k->xscom_pcba = pnv_chip_power8_xscom_pcba;
1848 - dc->desc = "PowerNV Chip POWER8E";
1849 -
1850 - device_class_set_parent_realize(dc, pnv_chip_power8_realize,
1851 - &k->parent_realize);
1852 -}
1853 -
1819 static void pnv_chip_power8_class_init(ObjectClass *klass, const void *data)
1820 {
1821 DeviceClass *dc = DEVICE_CLASS(klass);
@@ -1875,30 +1840,6 @@ static void pnv_chip_power8_class_init(ObjectClass *klass, const void *data)
1840 &k->parent_realize);
1841 }
1842
1878 -static void pnv_chip_power8nvl_class_init(ObjectClass *klass, const void *data)
1879 -{
1880 - DeviceClass *dc = DEVICE_CLASS(klass);
1881 - PnvChipClass *k = PNV_CHIP_CLASS(klass);
1882 -
1883 - k->chip_cfam_id = 0x120d304980000000ull; /* P8 Naples DD1.0 */
1884 - k->cores_mask = POWER8_CORE_MASK;
1885 - k->num_phbs = 4;
1886 - k->get_pir_tir = pnv_get_pir_tir_p8;
1887 - k->intc_create = pnv_chip_power8_intc_create;
1888 - k->intc_reset = pnv_chip_power8_intc_reset;
1889 - k->intc_destroy = pnv_chip_power8_intc_destroy;
1890 - k->intc_print_info = pnv_chip_power8_intc_print_info;
1891 - k->isa_create = pnv_chip_power8nvl_isa_create;
1892 - k->dt_populate = pnv_chip_power8_dt_populate;
1893 - k->pic_print_info = pnv_chip_power8_pic_print_info;
1894 - k->xscom_core_base = pnv_chip_power8_xscom_core_base;
1895 - k->xscom_pcba = pnv_chip_power8_xscom_pcba;
1896 - dc->desc = "PowerNV Chip POWER8NVL";
1897 -
1898 - device_class_set_parent_realize(dc, pnv_chip_power8_realize,
1899 - &k->parent_realize);
1900 -}
1901 -
1843 static void pnv_chip_power9_instance_init(Object *obj)
1844 {
1845 PnvChip *chip = PNV_CHIP(obj);
@@ -3785,9 +3726,6 @@ static const TypeInfo types[] = {
3726 .instance_size = sizeof(Pnv8Chip),
3727 },
3728 DEFINE_PNV8_CHIP_TYPE(TYPE_PNV_CHIP_POWER8, pnv_chip_power8_class_init),
3788 - DEFINE_PNV8_CHIP_TYPE(TYPE_PNV_CHIP_POWER8E, pnv_chip_power8e_class_init),
3789 - DEFINE_PNV8_CHIP_TYPE(TYPE_PNV_CHIP_POWER8NVL,
3790 - pnv_chip_power8nvl_class_init),
3729 };
3730
3731 DEFINE_TYPES(types)
hw/ppc/pnv_core.c
-2
@@ -515,9 +515,7 @@ static const TypeInfo pnv_core_infos[] = {
515 .class_init = pnv_core_class_init,
516 .abstract = true,
517 },
518 - DEFINE_PNV_CORE_TYPE(power8, "power8e_v2.1"),
518 DEFINE_PNV_CORE_TYPE(power8, "power8_v2.0"),
520 - DEFINE_PNV_CORE_TYPE(power8, "power8nvl_v1.0"),
519 DEFINE_PNV_CORE_TYPE(power9, "power9_v2.2"),
520 DEFINE_PNV_CORE_TYPE(power10, "power10_v2.0"),
521 DEFINE_PNV_CORE_TYPE(power11, "power11_v2.0"),
include/hw/ppc/pnv.h
-8
@@ -39,18 +39,10 @@ typedef struct Pnv10Chip Pnv11Chip;
39 #define PNV_CHIP_TYPE_SUFFIX "-" TYPE_PNV_CHIP
40 #define PNV_CHIP_TYPE_NAME(cpu_model) cpu_model PNV_CHIP_TYPE_SUFFIX
41
42 -#define TYPE_PNV_CHIP_POWER8E PNV_CHIP_TYPE_NAME("power8e_v2.1")
43 -DECLARE_INSTANCE_CHECKER(PnvChip, PNV_CHIP_POWER8E,
44 - TYPE_PNV_CHIP_POWER8E)
45 -
42 #define TYPE_PNV_CHIP_POWER8 PNV_CHIP_TYPE_NAME("power8_v2.0")
43 DECLARE_INSTANCE_CHECKER(PnvChip, PNV_CHIP_POWER8,
44 TYPE_PNV_CHIP_POWER8)
45
50 -#define TYPE_PNV_CHIP_POWER8NVL PNV_CHIP_TYPE_NAME("power8nvl_v1.0")
51 -DECLARE_INSTANCE_CHECKER(PnvChip, PNV_CHIP_POWER8NVL,
52 - TYPE_PNV_CHIP_POWER8NVL)
53 -
46 #define TYPE_PNV_CHIP_POWER9 PNV_CHIP_TYPE_NAME("power9_v2.2")
47 DECLARE_INSTANCE_CHECKER(PnvChip, PNV_CHIP_POWER9,
48 TYPE_PNV_CHIP_POWER9)
tests/qtest/pnv-xscom.h
-9
@@ -12,9 +12,7 @@
12 #define SMT 4 /* some tests will break if less than 4 */
13
14 typedef enum PnvChipType {
15 - PNV_CHIP_POWER8E, /* AKA Murano (default) */
15 PNV_CHIP_POWER8, /* AKA Venice */
17 - PNV_CHIP_POWER8NVL, /* AKA Naples */
16 PNV_CHIP_POWER9, /* AKA Nimbus */
17 PNV_CHIP_POWER10,
18 PNV_CHIP_POWER11,
@@ -37,13 +35,6 @@ static const PnvChip pnv_chips[] = {
35 .cfam_id = 0x220ea04980000000ull,
36 .first_core = 0x1,
37 .num_i2c = 0,
40 - }, {
41 - .chip_type = PNV_CHIP_POWER8NVL,
42 - .cpu_model = "POWER8NVL",
43 - .xscom_base = 0x0003fc0000000000ull,
44 - .cfam_id = 0x120d304980000000ull,
45 - .first_core = 0x1,
46 - .num_i2c = 0,
38 },
39 {
40 .chip_type = PNV_CHIP_POWER9,