qemu/include/hw/ppc
Daniel Henrique Barboza 1f5d6b2ad1 ppc/pnv: turn PnvPHB3 into a PnvPHB backend
We need a handful of changes that needs to be done in a single swoop to
turn PnvPHB3 into a PnvPHB backend.

In the PnvPHB3, since the PnvPHB device implements PCIExpressHost and
will hold the PCI bus, change PnvPHB3 parent to TYPE_DEVICE. There are a
couple of instances in pnv_phb3.c that needs to access the PCI bus, so a
phb_base pointer is added to allow access to the parent PnvPHB. The
PnvPHB3 root port will now be connected to a PnvPHB object.

In pnv.c, the powernv8 machine chip8 will now hold an array of PnvPHB
objects.  pnv_get_phb3_child() needs to be adapted to return the PnvPHB3
backend from the PnvPHB child. A global property is added in
pnv_machine_power8_class_init() to ensure that all PnvPHBs are created
with phb->version = 3.

After all these changes we're still able to boot a powernv8 machine with
default settings. The real gain will come with user created PnvPHB
devices, coming up next.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com>
Message-Id: <20220624084921.399219-4-danielhb413@gmail.com>
2022-08-31 14:08:05 -03:00
..
fdt.h target/ppc: Pass cpu instead of env to ppc_create_page_sizes_prop() 2018-04-27 18:05:22 +10:00
mac_dbdma.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
openpic_kvm.h
openpic.h hw/intc: openpic: Clean up the styles 2021-09-30 12:26:06 +10:00
pef.h spapr: Add PEF based confidential guest support 2021-02-08 16:57:38 +11:00
pnv_core.h ppc/pnv: Rename "id" to "quad-id" in PnvQuad 2021-09-29 19:37:38 +10:00
pnv_homer.h ppc/pnv: Add a HOMER model to POWER10 2022-03-02 06:51:39 +01:00
pnv_lpc.h ppc/pnv: Remove PnvLpcController::psi link 2022-04-20 18:00:30 -03:00
pnv_occ.h ppc/pnv: Remove PnvOCC::psi link 2022-04-20 18:00:30 -03:00
pnv_pnor.h Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
pnv_psi.h ppc/pnv: Remove PnvPsiClas::irq_set 2022-04-20 18:00:30 -03:00
pnv_sbe.h ppc/pnv: Add initial P9/10 SBE model 2022-08-31 14:08:05 -03:00
pnv_xive.h ppc/pnv: Add a XIVE2 controller to the POWER10 chip 2022-03-02 06:51:38 +01:00
pnv_xscom.h ppc/pnv: Add initial P9/10 SBE model 2022-08-31 14:08:05 -03:00
pnv.h ppc/pnv: turn PnvPHB3 into a PnvPHB backend 2022-08-31 14:08:05 -03:00
ppc4xx.h hw/ppc: Remove unused ppcuic_init() 2021-01-19 10:20:29 +11:00
ppc_e500.h
ppc.h hw/ppc: change indentation to spaces from TABs 2022-04-20 18:00:30 -03:00
spapr_cpu_core.h spapr: implement nested-hv capability for the virtual hypervisor 2022-02-18 08:34:14 +01:00
spapr_drc.h spapr: rollback 'unplug timeout' for CPU hotunplugs 2021-04-12 12:27:14 +10:00
spapr_irq.h Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
spapr_numa.h spapr: move FORM1 verifications to post CAS 2021-09-30 12:26:06 +10:00
spapr_nvdimm.h spapr: nvdimm: Implement H_SCM_FLUSH hcall 2022-02-18 08:34:14 +01:00
spapr_ovec.h spapr_numa.c: FORM2 NUMA affinity support 2021-09-30 12:26:06 +10:00
spapr_rtas.h
spapr_tpm_proxy.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
spapr_vio.h dma: Let ld*_dma() propagate MemTxResult 2021-12-31 01:05:27 +01:00
spapr_xive.h spapr/xive: Make spapr_xive_pic_print_info() static 2021-01-06 11:09:59 +11:00
spapr.h ppc/spapr: Implement H_WATCHDOG 2022-07-06 10:22:38 -03:00
vof.h hw/ppc/vof: Add missing includes 2022-01-28 13:15:03 +01:00
xics_spapr.h spapr/xics: Drop unused argument to xics_kvm_has_broken_disconnect() 2020-12-14 15:50:55 +11:00
xics.h qom: Remove module_obj_name parameter from OBJECT_DECLARE* macros 2020-09-18 14:12:32 -04:00
xive2_regs.h pnv/xive2: Add support for automatic save&restore 2022-03-02 06:51:39 +01:00
xive2.h pnv/xive2: Add support for 8bits thread id 2022-03-02 06:51:39 +01:00
xive_regs.h ppc/xive: Add firmware bit when dumping the ENDs 2021-02-10 10:43:50 +11:00
xive.h ppc/xive: Update the state of the External interrupt signal 2022-05-05 15:36:17 -03:00