[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 02/19] ppc/pnv: Introduce a "chip" property under PHB3
From: |
Cédric Le Goater |
Subject: |
[PATCH v2 02/19] ppc/pnv: Introduce a "chip" property under PHB3 |
Date: |
Mon, 13 Dec 2021 14:28:13 +0100 |
This change will help us move the mapping of XSCOM regions under the
PHB3 realize routine, which will be necessary for user created PHB3
devices.
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
include/hw/pci-host/pnv_phb3.h | 3 +++
hw/pci-host/pnv_phb3.c | 1 +
hw/ppc/pnv.c | 2 ++
3 files changed, 6 insertions(+)
diff --git a/include/hw/pci-host/pnv_phb3.h b/include/hw/pci-host/pnv_phb3.h
index e2a2e3624532..e9c13e6bd821 100644
--- a/include/hw/pci-host/pnv_phb3.h
+++ b/include/hw/pci-host/pnv_phb3.h
@@ -16,6 +16,7 @@
#include "qom/object.h"
typedef struct PnvPHB3 PnvPHB3;
+typedef struct PnvChip PnvChip;
/*
* PHB3 XICS Source for MSIs
@@ -157,6 +158,8 @@ struct PnvPHB3 {
PnvPHB3RootPort root;
QLIST_HEAD(, PnvPhb3DMASpace) dma_spaces;
+
+ PnvChip *chip;
};
uint64_t pnv_phb3_reg_read(void *opaque, hwaddr off, unsigned size);
diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c
index a7f96850055a..3aa42ef9d4b9 100644
--- a/hw/pci-host/pnv_phb3.c
+++ b/hw/pci-host/pnv_phb3.c
@@ -1092,6 +1092,7 @@ static const char *pnv_phb3_root_bus_path(PCIHostState
*host_bridge,
static Property pnv_phb3_properties[] = {
DEFINE_PROP_UINT32("index", PnvPHB3, phb_id, 0),
DEFINE_PROP_UINT32("chip-id", PnvPHB3, chip_id, 0),
+ DEFINE_PROP_LINK("chip", PnvPHB3, chip, TYPE_PNV_CHIP, PnvChip *),
DEFINE_PROP_END_OF_LIST(),
};
diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
index 6359bce549ca..74c25c1c5d98 100644
--- a/hw/ppc/pnv.c
+++ b/hw/ppc/pnv.c
@@ -1231,6 +1231,8 @@ static void pnv_chip_power8_realize(DeviceState *dev,
Error **errp)
object_property_set_int(OBJECT(phb), "index", i, &error_fatal);
object_property_set_int(OBJECT(phb), "chip-id", chip->chip_id,
&error_fatal);
+ object_property_set_link(OBJECT(phb), "chip", OBJECT(chip),
+ &error_fatal);
if (!sysbus_realize(SYS_BUS_DEVICE(phb), errp)) {
return;
}
--
2.31.1
- [PATCH v2 00/19] ppc/pnv: Add support for user created PHB3/PHB4 devices, Cédric Le Goater, 2021/12/13
- [PATCH v2 06/19] ppc/pnv: Use QOM hierarchy to scan PHB3 devices, Cédric Le Goater, 2021/12/13
- [PATCH v2 02/19] ppc/pnv: Introduce a "chip" property under PHB3,
Cédric Le Goater <=
- [PATCH v2 10/19] ppc/pnv: Introduce a num_stack class attribute, Cédric Le Goater, 2021/12/13
- [PATCH v2 12/19] ppc/pnv: Remove "system-memory" property from PHB4 PEC, Cédric Le Goater, 2021/12/13
- [PATCH v2 03/19] ppc/pnv: Use the chip class to check the index of PHB3 devices, Cédric Le Goater, 2021/12/13
- [PATCH v2 11/19] ppc/pnv: Compute the PHB index from the PHB4 PEC model, Cédric Le Goater, 2021/12/13
- [PATCH v2 04/19] ppc/pnv: Drop the "num-phbs" property, Cédric Le Goater, 2021/12/13
- [PATCH v2 07/19] ppc/pnv: Introduce a num_pecs class attribute for PHB4 PEC devices, Cédric Le Goater, 2021/12/13
- [PATCH v2 13/19] ppc/pnv: Move realize of PEC stacks under the PEC model, Cédric Le Goater, 2021/12/13
- [PATCH v2 01/19] ppc/pnv: Change the maximum of PHB3 devices for Power8NVL, Cédric Le Goater, 2021/12/13