Message ID | 20220811163950.578927-9-danielhb413@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | enable pnv-phb user created devices | expand |
On 11/08/2022 18:39, Daniel Henrique Barboza wrote: > Enable pnv-phb user created devices for powernv9 now that we have > everything in place. > > Reviewed-by: Cédric Le Goater <clg@kaod.org> > Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> > --- Same comment as in patch 6 regarding the QOM relationship of the user-created root port. Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Fred > hw/pci-host/pnv_phb.c | 2 +- > hw/pci-host/pnv_phb4_pec.c | 6 ++++-- > hw/ppc/pnv.c | 2 ++ > 3 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c > index 1f53ff77c5..17d9960aa1 100644 > --- a/hw/pci-host/pnv_phb.c > +++ b/hw/pci-host/pnv_phb.c > @@ -167,7 +167,7 @@ static void pnv_phb_realize(DeviceState *dev, Error **errp) > pnv_phb4_bus_init(dev, PNV_PHB4(phb->backend)); > } > > - if (phb->version == 3 && !defaults_enabled()) { > + if (!defaults_enabled()) { > return; > } > > diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c > index 8dc363d69c..9871f462cd 100644 > --- a/hw/pci-host/pnv_phb4_pec.c > +++ b/hw/pci-host/pnv_phb4_pec.c > @@ -146,8 +146,10 @@ static void pnv_pec_realize(DeviceState *dev, Error **errp) > pec->num_phbs = pecc->num_phbs[pec->index]; > > /* Create PHBs if running with defaults */ > - for (i = 0; i < pec->num_phbs; i++) { > - pnv_pec_default_phb_realize(pec, i, errp); > + if (defaults_enabled()) { > + for (i = 0; i < pec->num_phbs; i++) { > + pnv_pec_default_phb_realize(pec, i, errp); > + } > } > > /* Initialize the XSCOM regions for the PEC registers */ > diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c > index 0644f45a1d..ec0558ed1c 100644 > --- a/hw/ppc/pnv.c > +++ b/hw/ppc/pnv.c > @@ -2188,6 +2188,8 @@ static void pnv_machine_power9_class_init(ObjectClass *oc, void *data) > pmc->compat = compat; > pmc->compat_size = sizeof(compat); > pmc->dt_power_mgt = pnv_dt_power_mgt; > + > + machine_class_allow_dynamic_sysbus_dev(mc, TYPE_PNV_PHB); > } > > static void pnv_machine_power10_class_init(ObjectClass *oc, void *data)
diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index 1f53ff77c5..17d9960aa1 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -167,7 +167,7 @@ static void pnv_phb_realize(DeviceState *dev, Error **errp) pnv_phb4_bus_init(dev, PNV_PHB4(phb->backend)); } - if (phb->version == 3 && !defaults_enabled()) { + if (!defaults_enabled()) { return; } diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c index 8dc363d69c..9871f462cd 100644 --- a/hw/pci-host/pnv_phb4_pec.c +++ b/hw/pci-host/pnv_phb4_pec.c @@ -146,8 +146,10 @@ static void pnv_pec_realize(DeviceState *dev, Error **errp) pec->num_phbs = pecc->num_phbs[pec->index]; /* Create PHBs if running with defaults */ - for (i = 0; i < pec->num_phbs; i++) { - pnv_pec_default_phb_realize(pec, i, errp); + if (defaults_enabled()) { + for (i = 0; i < pec->num_phbs; i++) { + pnv_pec_default_phb_realize(pec, i, errp); + } } /* Initialize the XSCOM regions for the PEC registers */ diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index 0644f45a1d..ec0558ed1c 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -2188,6 +2188,8 @@ static void pnv_machine_power9_class_init(ObjectClass *oc, void *data) pmc->compat = compat; pmc->compat_size = sizeof(compat); pmc->dt_power_mgt = pnv_dt_power_mgt; + + machine_class_allow_dynamic_sysbus_dev(mc, TYPE_PNV_PHB); } static void pnv_machine_power10_class_init(ObjectClass *oc, void *data)