qemu/hw/pci-host
Daniel Henrique Barboza 5d4ec10341 ppc/pnv: use PHB4 obj in pnv_pec_stk_pci_xscom_ops
The current relationship between PnvPhb4PecStack and PnvPHB4 objects is
overly complex. Recent work done in pnv_phb4.c and pnv_phb4_pec.c shows
that the stack obj role in the overall design is more of a placeholder for
its 'phb' object, having no atributes that stand on its own. This became
clearer after pnv-phb4 user creatable devices were implemented.

What remains now are a lot of stack->phb and phb->stack pointers
throughout .read and .write callbacks of MemoryRegionOps that are being
initialized in phb4_realize() time. stk_realize() is a no-op if the
machine is being run with -nodefaults.

The first step of trying to decouple the stack and phb relationship is
to move the MemoryRegionOps that belongs to PnvPhb4PecStack to PhbPHB4.
Unfortunately this can't be done  without some preliminary steps to
change the usage of 'stack' and replace it with 'phb' in these
read/write callbacks.

This patch starts this process by using a PnvPHB4 opaque in
pnv_pec_stk_pci_xscom_ops instead of PnvPhb4PecStack.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220113192952.911188-2-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
2022-01-18 12:56:30 +01:00
..
bonito.c hw/pci-host/bonito: Allow PCI config accesses smaller than 32-bit 2021-07-02 17:34:55 +02:00
designware.c pci-host: designware: add pcie-msi read method 2021-02-08 15:15:32 +01:00
gpex-acpi.c Revert "acpi/gpex: Inform os to keep firmware resource map" 2021-08-03 16:32:34 -04:00
gpex.c hw/pci-host/gpex: Don't fault for unmapped parts of MMIO and PIO windows 2021-04-30 11:16:52 +01:00
grackle.c grackle: use qdev gpios for PCI IRQs 2020-10-18 16:21:42 +01:00
i440fx.c hw/pci: remove all references to find_i440fx function 2021-09-04 17:34:05 -04:00
Kconfig hw/pci-host/Kconfig: Add missing dependency MV64361 -> I8259 2021-07-20 20:10:03 +02:00
meson.build hw/pci-host: Rename Raven ASIC PCI bridge as raven.c 2021-07-11 22:29:04 +02:00
mv643xx.h hw/pci-host: Add emulation of Marvell MV64361 PPC system controller 2021-05-04 11:41:25 +10:00
mv64361.c ppc/pegasos2: Access MV64361 registers via their memory region 2021-10-21 11:42:47 +11:00
pam.c hw/pci-host/pam: Replace magic number by PAM_REGIONS_COUNT definition 2020-12-13 17:07:05 +01:00
pnv_phb3_msi.c dma: Let dma_memory_read/write() take MemTxAttrs argument 2021-12-30 17:16:32 +01:00
pnv_phb3_pbcq.c ppc/pnv: Move mapping of the PHB3 CQ regions under pnv_pbcq_realize() 2021-12-17 17:57:19 +01:00
pnv_phb3.c ppc/pnv: Complete user created PHB3 devices 2022-01-12 11:28:27 +01:00
pnv_phb4_pec.c ppc/pnv: Introduce user creatable pnv-phb4 devices 2022-01-12 11:28:27 +01:00
pnv_phb4.c ppc/pnv: use PHB4 obj in pnv_pec_stk_pci_xscom_ops 2022-01-18 12:56:30 +01:00
ppce500.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
q35.c hw/i386: Add a default_bus_bypass_iommu pc machine option 2021-07-16 11:10:45 -04:00
raven.c pci: Rename pci_root_bus_new_inplace() to pci_root_bus_init() 2021-09-30 13:42:10 +01:00
remote.c multi-process: setup PCI host bridge for remote device 2021-02-10 09:23:22 +00:00
sabre.c Do not include exec/address-spaces.h if it's not really necessary 2021-05-02 17:24:51 +02:00
sh_pci.c hw/sh4: Coding style: White space fixes 2021-10-30 11:46:40 +02:00
trace-events hw/pci-host/bonito: Trace PCI config accesses smaller than 32-bit 2021-07-02 10:41:16 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
uninorth.c hw: Use the PCI_DEVFN() macro from 'hw/pci/pci.h' 2021-01-04 23:24:44 +01:00
versatile.c pci: Rename pci_root_bus_new_inplace() to pci_root_bus_init() 2021-09-30 13:42:10 +01:00
xen_igd_pt.c xen: Use ERRP_GUARD() 2020-07-10 15:18:09 +02:00
xilinx-pcie.c hw/mips/boston: Fix Lesser GPL version number 2020-11-03 16:51:13 +01:00