qemu-e2k/include/hw/pci-host
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
..
designware.h nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
dino.h dino: move from hw/hppa to hw/pci-host 2022-05-08 18:52:36 +01:00
gpex.h hw/pci-host/gpex: Don't fault for unmapped parts of MMIO and PIO windows 2021-04-30 11:16:52 +01:00
i440fx.h i386/pc: create pci-host qdev prior to pc_memory_init() 2022-07-26 10:40:58 -04:00
ls7a.h hw/loongarch: Change macro name 'LS7A_XXX' to 'VIRT_XXX' 2022-07-29 15:07:55 -07:00
mv64361.h hw/pci-host: Add emulation of Marvell MV64361 PPC system controller 2021-05-04 11:41:25 +10:00
pam.h hw/pci-host/pam: Replace magic number by PAM_REGIONS_COUNT definition 2020-12-13 17:07:05 +01:00
pnv_phb3_regs.h ppc: Define SETFIELD for the ppc target 2022-07-06 10:22:38 -03:00
pnv_phb3.h ppc/pnv: turn PnvPHB3 into a PnvPHB backend 2022-08-31 14:08:05 -03:00
pnv_phb4_regs.h ppc/pnv: Add support for PHB5 "Address-based trigger" mode 2022-03-02 06:51:39 +01:00
pnv_phb4.h ppc/pnv: Fix number of registers in the PCIe controller on POWER9 2022-04-04 08:49:06 +02:00
ppce500.h Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
q35.h hw/pci-host/pam: Replace magic number by PAM_REGIONS_COUNT definition 2020-12-13 17:07:05 +01:00
remote.h Clean up header guards that don't match their file name 2022-05-11 16:49:06 +02:00
sabre.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
spapr.h spapr: Adjust firmware path of PCI devices 2021-02-10 10:43:50 +11:00
uninorth.h uninorth: use qdev gpios for PCI IRQs 2020-10-18 16:21:42 +01:00
xilinx-pcie.h hw/mips/boston: Fix Lesser GPL version number 2020-11-03 16:51:13 +01:00