On 12/10/22 12:21, Markus Armbruster wrote:
The next commit needs to include hw/ppc/pnv.h from
hw/pci-host/pnv_phb.h. Avoid an inclusion loop.
Signed-off-by: Markus Armbruster <arm...@redhat.com>
Reviewed-by: Cédric Le Goater <c...@kaod.org>
Thanks,
C.
(one comment below)
---
hw/pci-host/pnv_phb.h | 1 +
include/hw/pci-host/pnv_phb4.h | 3 ++-
include/hw/ppc/pnv.h | 3 ++-
hw/ppc/pnv_psi.c | 1 +
4 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/hw/pci-host/pnv_phb.h b/hw/pci-host/pnv_phb.h
index 58ebd6dd0f..202de8796c 100644
--- a/hw/pci-host/pnv_phb.h
+++ b/hw/pci-host/pnv_phb.h
@@ -12,6 +12,7 @@
#include "hw/pci/pcie_host.h"
#include "hw/pci/pcie_port.h"
+#include "hw/ppc/pnv.h"
Now that the chip definitions have been extrated in pnv_chip.h, I find
it curious that we need to include pnv.h since it should only contain
machine definitions. No big deal, I will take a look later. You did
the hard part and thanks for that.
#include "qom/object.h"
typedef struct PnvChip PnvChip;
diff --git a/include/hw/pci-host/pnv_phb4.h b/include/hw/pci-host/pnv_phb4.h
index d9cea3f952..b4f2b29fb5 100644
--- a/include/hw/pci-host/pnv_phb4.h
+++ b/include/hw/pci-host/pnv_phb4.h
@@ -10,14 +10,15 @@
#ifndef PCI_HOST_PNV_PHB4_H
#define PCI_HOST_PNV_PHB4_H
+#include "hw/pci-host/pnv_phb.h"
#include "hw/pci/pci_bus.h"
+#include "hw/ppc/pnv.h"
#include "hw/ppc/xive.h"
#include "qom/object.h"
typedef struct PnvPhb4PecState PnvPhb4PecState;
typedef struct PnvPhb4PecStack PnvPhb4PecStack;
typedef struct PnvPHB4 PnvPHB4;
-typedef struct PnvPHB PnvPHB;
typedef struct PnvChip PnvChip;
/*
diff --git a/include/hw/ppc/pnv.h b/include/hw/ppc/pnv.h
index ca49e4281d..96fb850419 100644
--- a/include/hw/ppc/pnv.h
+++ b/include/hw/ppc/pnv.h
@@ -25,7 +25,6 @@
#include "hw/sysbus.h"
#include "hw/ipmi/ipmi.h"
#include "hw/ppc/pnv_pnor.h"
-#include "hw/pci-host/pnv_phb.h"
#define TYPE_PNV_CHIP "pnv-chip"
@@ -59,6 +58,8 @@ DECLARE_INSTANCE_CHECKER(PnvChip, PNV_CHIP_POWER10,
PowerPCCPU *pnv_chip_find_cpu(PnvChip *chip, uint32_t pir);
+typedef struct PnvPHB PnvPHB;
+
#define TYPE_PNV_MACHINE MACHINE_TYPE_NAME("powernv")
typedef struct PnvMachineClass PnvMachineClass;
typedef struct PnvMachineState PnvMachineState;
diff --git a/hw/ppc/pnv_psi.c b/hw/ppc/pnv_psi.c
index 98045ed3d2..8aa09ab26b 100644
--- a/hw/ppc/pnv_psi.c
+++ b/hw/ppc/pnv_psi.c
@@ -18,6 +18,7 @@
*/
#include "qemu/osdep.h"
+#include "exec/address-spaces.h"
#include "hw/irq.h"
#include "target/ppc/cpu.h"
#include "qemu/log.h"