[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 11/24] pnv/phb4: Bury unwanted "pnv-phb4-pec-stack" devices
From: |
Greg Kurz |
Subject: |
Re: [PATCH 11/24] pnv/phb4: Bury unwanted "pnv-phb4-pec-stack" devices |
Date: |
Mon, 18 May 2020 10:49:06 +0200 |
On Mon, 18 May 2020 07:03:55 +0200
Markus Armbruster <address@hidden> wrote:
> The number of stacks is controlled by property "num-stacks".
> pnv_pec_instance_init() creates the maximum supported number, because
> the property has not been set then. pnv_pec_realize() realizes only
> the wanted number. Works, although it can leave unrealized devices
> hanging around in the QOM composition tree. Affects machine powernv9.
>
> Bury the unwanted devices by making pnv_pec_realize() unparent them.
> Visible in "info qom-tree":
>
> /machine (powernv9-machine)
> /chip[0] (power9_v2.0-pnv-chip)
> [...]
> /pec[0] (pnv-phb4-pec)
> /stack[0] (pnv-phb4-pec-stack)
> [...]
> - /stack[1] (pnv-phb4-pec-stack)
> - /phb (pnv-phb4)
> - /pcie-mmcfg-mmio[0] (qemu:memory-region)
> - /root (pnv-phb4-root-port)
> - /source (xive-source)
> - /stack[2] (pnv-phb4-pec-stack)
> - /phb (pnv-phb4)
> - /pcie-mmcfg-mmio[0] (qemu:memory-region)
> - /root (pnv-phb4-root-port)
> - /source (xive-source)
> /xscom-pec-0.0-nest[0] (qemu:memory-region)
> /xscom-pec-0.0-pci[0] (qemu:memory-region)
> /pec[1] (pnv-phb4-pec)
> /stack[0] (pnv-phb4-pec-stack)
> [...]
> /stack[1] (pnv-phb4-pec-stack)
> [...]
> - /stack[2] (pnv-phb4-pec-stack)
> - /phb (pnv-phb4)
> - /pcie-mmcfg-mmio[0] (qemu:memory-region)
> - /root (pnv-phb4-root-port)
> - /source (xive-source)
> /xscom-pec-0.1-nest[0] (qemu:memory-region)
> /xscom-pec-0.1-pci[0] (qemu:memory-region)
> /pec[2] (pnv-phb4-pec)
> /stack[0] (pnv-phb4-pec-stack)
> [...]
> /stack[1] (pnv-phb4-pec-stack)
> [...]
> /stack[2] (pnv-phb4-pec-stack)
> [...]
>
> Cc: Cédric Le Goater <address@hidden>
> Cc: David Gibson <address@hidden>
> Cc: address@hidden
> Signed-off-by: Markus Armbruster <address@hidden>
> ---
Makes sense :)
Reviewed-by: Greg Kurz <address@hidden>
> hw/pci-host/pnv_phb4_pec.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c
> index 911d147ffd..565345a018 100644
> --- a/hw/pci-host/pnv_phb4_pec.c
> +++ b/hw/pci-host/pnv_phb4_pec.c
> @@ -397,6 +397,9 @@ static void pnv_pec_realize(DeviceState *dev, Error
> **errp)
> return;
> }
> }
> + for (; i < PHB4_PEC_MAX_STACKS; i++) {
> + object_unparent(OBJECT(&pec->stacks[i]));
> + }
>
> /* Initialize the XSCOM regions for the PEC registers */
> snprintf(name, sizeof(name), "xscom-pec-%d.%d-nest", pec->chip_id,