[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [for-2.11 PATCH 19/26] spapr: populate PHB DRC entries fo
From: |
Greg Kurz |
Subject: |
Re: [Qemu-ppc] [for-2.11 PATCH 19/26] spapr: populate PHB DRC entries for root DT node |
Date: |
Wed, 26 Jul 2017 17:45:14 +0200 |
On Tue, 25 Jul 2017 15:51:21 -0500
Michael Roth <address@hidden> wrote:
> Quoting Greg Kurz (2017-07-25 13:02:03)
> > From: Nathan Fontenot <address@hidden>
> >
> > This add entries to the root OF node to advertise our PHBs as being
> > DR-capable in accordance with PAPR specification.
> >
> > Signed-off-by: Nathan Fontenot <address@hidden>
> > Signed-off-by: Michael Roth <address@hidden>
> > Reviewed-by: David Gibson <address@hidden>
> > Signed-off-by: Greg Kurz <address@hidden>
> > ---
> > Changes since RFC:
> > - rebased against ppc-for-2.10
> > - use error_report
> > ---
> > hw/ppc/spapr.c | 10 ++++++++++
> > 1 file changed, 10 insertions(+)
> >
> > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> > index 5950c009ab7e..632040f35ecc 100644
> > --- a/hw/ppc/spapr.c
> > +++ b/hw/ppc/spapr.c
> > @@ -1151,6 +1151,16 @@ static void *spapr_build_fdt(sPAPRMachineState
> > *spapr,
> > exit(1);
> > }
> >
> > + if (smc->dr_phb_enabled) {
> > + int offset = fdt_path_offset(fdt, "/");
> > + ret = spapr_drc_populate_dt(fdt, offset, NULL,
> > + SPAPR_DR_CONNECTOR_TYPE_PHB);
>
> This might actually clobber LMB/MEM entries added earlier since they both
> try to create the /ibm,drc* entries in / from scratch.
>
Oh, looking at the description of fdt_setprop() in <libfdt.h>, I guess you're
probably right.
> If that's the case, we can arrange the code something like:
>
> uint32_t root_drc_types = 0;
>
> if (smc->dr_lmb_enabled) {
> root_drc_types |= SPAPR_DR_CONNECTOR_TYPE_LMB;
> }
>
> if (smc->dr_phb_enabled) {
> root_drc_types |= SPAPR_DR_CONNECTOR_TYPE_PHB;
> }
>
> ...
>
> if (root_drc_types) {
> int offset = fdt_path_offset(fdt, "/");
> ret = spapr_drc_populate_dt(fdt, offset, NULL, root_drc_types);
> }
>
Good idea. I'll do just that.
Thanks!
>
> > + if (ret < 0) {
> > + error_report("Couldn't set up PHB DR device tree properties");
> > + exit(1);
> > + }
> > + }
> > +
> > return fdt;
> > }
> >
> >
>
pgp6HJvOVuwjc.pgp
Description: OpenPGP digital signature
- Re: [Qemu-ppc] [for-2.11 PATCH 16/26] spapr: enable PHB hotplug for pseries-2.11, (continued)
[Qemu-ppc] [for-2.11 PATCH 17/26] spapr_pci: introduce drc_id property, Greg Kurz, 2017/07/25
[Qemu-ppc] [for-2.11 PATCH 18/26] spapr: create DR connectors for PHBs, Greg Kurz, 2017/07/25
[Qemu-ppc] [for-2.11 PATCH 19/26] spapr: populate PHB DRC entries for root DT node, Greg Kurz, 2017/07/25
[Qemu-ppc] [for-2.11 PATCH 20/26] spapr_events: add support for phb hotplug events, Greg Kurz, 2017/07/25
[Qemu-ppc] [for-2.11 PATCH 21/26] qdev: pass an Object * to qbus_set_hotplug_handler(), Greg Kurz, 2017/07/25
[Qemu-ppc] [for-2.11 PATCH 22/26] spapr_pci: provide node start offset via spapr_populate_pci_dt(), Greg Kurz, 2017/07/25
[Qemu-ppc] [for-2.11 PATCH 23/26] spapr_pci: add ibm, my-drc-index property for PHB hotplug, Greg Kurz, 2017/07/25
[Qemu-ppc] [for-2.11 PATCH 24/26] spapr: allow guest to update the XICS phandle, Greg Kurz, 2017/07/25