[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 23/34] ppc/pnv: Complete user created PHB3 devices
From: |
Cédric Le Goater |
Subject: |
[PULL 23/34] ppc/pnv: Complete user created PHB3 devices |
Date: |
Wed, 12 Jan 2022 12:55:40 +0100 |
PHB3s ared SysBus devices and should be allowed to be dynamically
created.
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220105212338.49899-9-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
hw/pci-host/pnv_phb3.c | 9 +++++++++
hw/ppc/pnv.c | 2 ++
2 files changed, 11 insertions(+)
diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c
index a52aedcad31b..7fb35dc03147 100644
--- a/hw/pci-host/pnv_phb3.c
+++ b/hw/pci-host/pnv_phb3.c
@@ -993,6 +993,9 @@ static void pnv_phb3_realize(DeviceState *dev, Error **errp)
/* User created devices */
if (!phb->chip) {
+ Error *local_err = NULL;
+ BusState *s;
+
phb->chip = pnv_get_chip(pnv, phb->chip_id);
if (!phb->chip) {
error_setg(errp, "invalid chip id: %d", phb->chip_id);
@@ -1004,6 +1007,12 @@ static void pnv_phb3_realize(DeviceState *dev, Error
**errp)
* correctly the device tree.
*/
pnv_chip_parent_fixup(phb->chip, OBJECT(phb), phb->phb_id);
+
+ s = qdev_get_parent_bus(DEVICE(phb->chip));
+ if (!qdev_set_parent_bus(DEVICE(phb), s, &local_err)) {
+ error_propagate(errp, local_err);
+ return;
+ }
}
if (phb->phb_id >= PNV_CHIP_GET_CLASS(phb->chip)->num_phbs) {
diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
index fa5e7bc75192..8dc63823573e 100644
--- a/hw/ppc/pnv.c
+++ b/hw/ppc/pnv.c
@@ -1941,6 +1941,8 @@ static void pnv_machine_power8_class_init(ObjectClass
*oc, void *data)
pmc->compat = compat;
pmc->compat_size = sizeof(compat);
+
+ machine_class_allow_dynamic_sysbus_dev(mc, TYPE_PNV_PHB3);
}
static void pnv_machine_power9_class_init(ObjectClass *oc, void *data)
--
2.31.1
- [PULL 17/34] pnv_phb4.c: add unique chassis and slot for pnv_phb4_root_port, (continued)
- [PULL 17/34] pnv_phb4.c: add unique chassis and slot for pnv_phb4_root_port, Cédric Le Goater, 2022/01/12
- [PULL 10/34] target/ppc: powerpc_excp: Group unimplemented exceptions, Cédric Le Goater, 2022/01/12
- [PULL 25/34] pnv_phb3.h: change TYPE_PNV_PHB3_ROOT_BUS name, Cédric Le Goater, 2022/01/12
- [PULL 16/34] pnv_phb3.c: add unique chassis and slot for pnv_phb3_root_port, Cédric Le Goater, 2022/01/12
- [PULL 20/34] pnv_phb4.c: check if root port exists in rc_config functions, Cédric Le Goater, 2022/01/12
- [PULL 18/34] ppc/pnv: Attach PHB3 root port device when defaults are enabled, Cédric Le Goater, 2022/01/12
- [PULL 15/34] target/ppc: Set the correct endianness for powernv memory dumps, Cédric Le Goater, 2022/01/12
- [PULL 07/34] docs: Clarifications and formatting changes in ppc docs., Cédric Le Goater, 2022/01/12
- [PULL 13/34] target/ppc: Use ppc_interrupts_little_endian in powerpc_excp, Cédric Le Goater, 2022/01/12
- [PULL 30/34] ppc/pnv: move PHB4 XSCOM init to phb4_realize(), Cédric Le Goater, 2022/01/12
- [PULL 23/34] ppc/pnv: Complete user created PHB3 devices,
Cédric Le Goater <=
- [PULL 27/34] pnv_phb4_pec.c: move pnv_pec_phb_offset() to pnv_phb4.c, Cédric Le Goater, 2022/01/12
- [PULL 12/34] target/ppc: Add MSR_ILE support to ppc_interrupts_little_endian, Cédric Le Goater, 2022/01/12
- [PULL 11/34] target/ppc: Add HV support to ppc_interrupts_little_endian, Cédric Le Goater, 2022/01/12
- [PULL 21/34] ppc/pnv: Introduce support for user created PHB3 devices, Cédric Le Goater, 2022/01/12
- [PULL 32/34] ppc/pnv: Introduce user creatable pnv-phb4 devices, Cédric Le Goater, 2022/01/12
- [PULL 29/34] ppc/pnv: set phb4 properties in stk_realize(), Cédric Le Goater, 2022/01/12
- [PULL 26/34] pnv_phb4.c: change TYPE_PNV_PHB4_ROOT_BUS name, Cédric Le Goater, 2022/01/12
- [PULL 22/34] ppc/pnv: Reparent user created PHB3 devices to the PnvChip, Cédric Le Goater, 2022/01/12
- [PULL 19/34] pnv_phb4.c: make pnv-phb4-root-port user creatable, Cédric Le Goater, 2022/01/12
- [PULL 33/34] ppc/pnv: turn pnv_phb4_update_regions() into static, Cédric Le Goater, 2022/01/12