You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/hw/ppc
Aditya Gupta 46d03bb23d hw/ppc: Fix build error with CONFIG_POWERNV disabled
Currently when CONFIG_POWERNV is not enabled, the build fails, such as
with --without-default-devices:

    $ ./configure --without-default-devices
    $ make

    [281/283] Linking target qemu-system-ppc64
    FAILED: qemu-system-ppc64
    cc -m64 @qemu-system-ppc64.rsp
    /usr/bin/ld: libqemu-ppc64-softmmu.a.p/target_ppc_misc_helper.c.o: in function `helper_load_sprd':
    .../target/ppc/misc_helper.c:335:(.text+0xcdc): undefined reference to `pnv_chip_find_core'
    /usr/bin/ld: libqemu-ppc64-softmmu.a.p/target_ppc_misc_helper.c.o: in function `helper_store_sprd':
    .../target/ppc/misc_helper.c:375:(.text+0xdf4): undefined reference to `pnv_chip_find_core'
    collect2: error: ld returned 1 exit status
    ...

This is since target/ppc/misc_helper.c references PowerNV specific
'pnv_chip_find_core' call.

Split the PowerNV specific SPRD code out of the generic PowerPC code, by
moving the SPRD code to pnv.c

Fixes: 9808ce6d5c ("target/ppc: Big-core scratch register fix")
Cc: Philippe Mathieu-Daudé <philmd@linaro.org>
Reported-by: Thomas Huth <thuth@redhat.com>
Suggested-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Aditya Gupta <adityag@linux.ibm.com>
Acked-by: Cédric Le Goater <clg@redhat.com>
Message-ID: <20250820122516.949766-2-adityag@linux.ibm.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
6 days ago
..
Kconfig ppc/ppc405: Remove boards 6 months ago
amigaone.c qom: Have class_init() take a const data argument 5 months ago
e500-ccsr.h
e500.c hw: Fix type constant for DTB files 3 months ago
e500.h hw/ppc/e500: Move clock and TB frequency to machine class 3 months ago
e500plat.c hw/ppc/e500: Move clock and TB frequency to machine class 3 months ago
fdt.c
fw_cfg.c
mac_newworld.c qom: Make InterfaceInfo[] uses const 5 months ago
mac_oldworld.c qom: Make InterfaceInfo[] uses const 5 months ago
meson.build ppc/ppc405: Remove boards 6 months ago
mpc8544_guts.c include: Rename sysemu/ -> system/ 9 months ago
mpc8544ds.c hw/ppc/e500: Move clock and TB frequency to machine class 3 months ago
pef.c qom: Have class_init() take a const data argument 5 months ago
pegasos2.c qom: Make InterfaceInfo[] uses const 5 months ago
pnv.c hw/ppc: Fix build error with CONFIG_POWERNV disabled 6 days ago
pnv_adu.c qom: Make InterfaceInfo[] uses const 5 months ago
pnv_bmc.c ppc/pnv: Move the PNOR LPC address into struct PnvPnor 6 months ago
pnv_chiptod.c qom: Make InterfaceInfo[] uses const 5 months ago
pnv_core.c qom: Have class_init() take a const data argument 5 months ago
pnv_homer.c qom: Have class_init() take a const data argument 5 months ago
pnv_i2c.c qom: Make InterfaceInfo[] uses const 5 months ago
pnv_lpc.c qom: Make InterfaceInfo[] uses const 5 months ago
pnv_n1_chiplet.c qom: Make InterfaceInfo[] uses const 5 months ago
pnv_nest_pervasive.c qom: Make InterfaceInfo[] uses const 5 months ago
pnv_occ.c hw/ppc/pnv_occ: skip automatic zero-init of large struct 3 months ago
pnv_pnor.c qom: Have class_init() take a const data argument 5 months ago
pnv_psi.c qom: Make InterfaceInfo[] uses const 5 months ago
pnv_sbe.c qom: Have class_init() take a const data argument 5 months ago
pnv_xscom.c include: Rename sysemu/ -> system/ 9 months ago
ppc.c exec/cpu-all: remove exec/cpu-interrupt include 5 months ago
ppc4xx_devs.c qom: Have class_init() take a const data argument 5 months ago
ppc4xx_sdram.c qom: Have class_init() take a const data argument 5 months ago
ppc440.h
ppc440_bamboo.c system/datadir: Add new type constant for DTB files 5 months ago
ppc440_uc.c qom: Have class_init() take a const data argument 5 months ago
ppc_booke.c exec/cpu-all: remove exec/target_page include 5 months ago
ppce500_spin.c qom: Have class_init() take a const data argument 5 months ago
prep.c hw/pci-host/raven: Revert "raven: Move BIOS loading from board code to PCI host" 3 months ago
prep_systemio.c qom: Have class_init() take a const data argument 5 months ago
rs6000_mc.c qom: Have class_init() take a const data argument 5 months ago
sam460ex.c system/datadir: Add new type constant for DTB files 5 months ago
spapr.c hw: add compat machines for 10.2 2 weeks ago
spapr_caps.c include/system: Move exec/ram_addr.h to system/ram_addr.h 5 months ago
spapr_cpu_core.c qom: Constify TypeInfo::class_data 5 months ago
spapr_drc.c qom: Have class_init() take a const data argument 5 months ago
spapr_events.c include: Rename sysemu/ -> system/ 9 months ago
spapr_hcall.c Miscellaneous patches for 2025-04-24 5 months ago
spapr_iommu.c qom: Have class_init() take a const data argument 5 months ago
spapr_irq.c include: Rename sysemu/ -> system/ 9 months ago
spapr_nested.c include: Remove 'exec/exec-all.h' 4 months ago
spapr_numa.c
spapr_nvdimm.c qom: Have class_init() take a const data argument 5 months ago
spapr_ovec.c exec/cpu-all: remove system/memory include 5 months ago
spapr_pci.c qom: Make InterfaceInfo[] uses const 5 months ago
spapr_pci_vfio.c vfio: Move VFIOAddressSpace helpers into container-base.c 5 months ago
spapr_rng.c qom: Have class_init() take a const data argument 5 months ago
spapr_rtas.c ppc/spapr: Fix RTAS stopped state 6 months ago
spapr_rtas_ddw.c
spapr_rtc.c qom: Have class_init() take a const data argument 5 months ago
spapr_tpm_proxy.c hw/ppc/spapr_tpm_proxy: skip automatic zero-init of large arrays 3 months ago
spapr_vhyp_mmu.c target/ppc: Unexport some functions from mmu-book3s-v3.h 1 year ago
spapr_vio.c qom: Have class_init() take a const data argument 5 months ago
spapr_vof.c include: Rename sysemu/ -> system/ 9 months ago
trace-events ppc/pnv: Begin a more complete ADU LPC model for POWER9/10 1 year ago
trace.h
virtex_ml507.c system/datadir: Add new type constant for DTB files 5 months ago
vof.c include/system: Move exec/address-spaces.h to system/address-spaces.h 5 months ago