qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] ppc/pnv: Generate phandle for the "interrupt-pa


From: David Gibson
Subject: Re: [Qemu-devel] [PATCH] ppc/pnv: Generate phandle for the "interrupt-parent" property
Date: Wed, 24 Jul 2019 18:57:30 +1000
User-agent: Mutt/1.12.0 (2019-05-25)

On Wed, Jul 24, 2019 at 09:11:54AM +0200, Cédric Le Goater wrote:
> On 24/07/2019 05:23, David Gibson wrote:
> > On Tue, Jul 23, 2019 at 11:01:38AM +0200, Cédric Le Goater wrote:
> >> Devices such as the BT or serial devices require a valid
> >> "interrupt-parent" phandle in the device tree and it is currently
> >> empty (0x0). It was not a problem until now but since OpenFirmare
> >> started using a recent libdft (>= 1.4.7), petitboot fails to boot the
> >> system image with error :
> >>
> >>    dtc_resize: fdt_open_into returned FDT_ERR_BADMAGIC
> >>
> >> Provide a phandle for the LPC bus.
> >>
> >> Suggested-by: Greg Kurz <address@hidden>
> >> Signed-off-by: Cédric Le Goater <address@hidden>
> > 
> > I've applied this, since it looks to be correct.
> > 
> > But.. can you connect the dots for me in how this being missing
> > results in a BADMAGIC error??
> 
> Some binary called by petitboot segfaults when trying to kexec an image on 
> a system with a bogus DT (generated by QEMU). I don't know exactly which one 
> as I only see the error message above and the segv message in dmesg

Ok, I'm still not seeing how that gets you to a BADMAGIC error.

> 
> I didn't notice before because I was using an old open-power-v2.1 image. I 
> have
> switched to more recent ones now :
> 
>   
> https://openpower.xyz/job/openpower/job/openpower-op-build/label=slave,target=witherspoon/lastSuccessfulBuild/
>   
> https://openpower.xyz/job/openpower/job/openpower-op-build/label=slave,target=palmetto/lastSuccessfulBuild/
> 
> Btw, where could we keep some images of reference ? I have a couple of 
> patches 
> which enables the QEMU PowerNV machine to boot directly from the PNOR using :
>  
>   -drive file=./witherspoon.pnor,format=raw,if=mtd
> 
> Thanks,
> 
> C. 
> 
> > 
> >> ---
> >>  hw/ppc/pnv.c | 5 +++++
> >>  1 file changed, 5 insertions(+)
> >>
> >> diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
> >> index 36f57479a1f5..2deceecdccb5 100644
> >> --- a/hw/ppc/pnv.c
> >> +++ b/hw/ppc/pnv.c
> >> @@ -431,9 +431,14 @@ static void pnv_dt_isa(PnvMachineState *pnv, void 
> >> *fdt)
> >>          .fdt = fdt,
> >>          .offset = isa_offset,
> >>      };
> >> +    uint32_t phandle;
> >>  
> >>      _FDT((fdt_setprop(fdt, isa_offset, "primary", NULL, 0)));
> >>  
> >> +    phandle = qemu_fdt_alloc_phandle(fdt);
> >> +    assert(phandle > 0);
> >> +    _FDT((fdt_setprop_cell(fdt, isa_offset, "phandle", phandle)));
> >> +
> >>      /* ISA devices are not necessarily parented to the ISA bus so we
> >>       * can not use object_child_foreach() */
> >>      qbus_walk_children(BUS(pnv->isa_bus), pnv_dt_isa_device, NULL, NULL, 
> >> NULL,
> > 
> 

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]