[SLOF] [PATCH v4] board-qemu: add private hcall to inform host on "phandle" update
david at gibson.dropbear.id.au
Thu Sep 7 16:21:51 AEST 2017
On Wed, Sep 06, 2017 at 02:33:45PM +0200, Greg Kurz wrote:
> On Tue, 25 Jul 2017 17:00:54 +1000
> Alexey Kardashevskiy <aik at ozlabs.ru> wrote:
> > On 24/07/17 22:34, Greg Kurz wrote:
> > > The "interrupt-map" property in each PHB node references the "phandle"
> > > property of the "interrupt-controller" node. This is used by the guest
> > > OS to setup IRQs for any PCI device plugged into the PHB. QEMU sets this
> > > property to an arbitrary value in the flattened DT passed to SLOF.
> > >
> > > Since commit 82954d4c1088, SLOF has some generic code to convert all
> > > references to any "phandle" property to a SLOF specific value.
> > >
> > > This is is perfectly okay for coldplug devices, since the guest OS only
> > > sees the converted value in "interrupt-map". It is a problem though for
> > > hotplug devices. Since they don't go through SLOF, the guest OS receives
> > > the arbitrary value set by QEMU and fails to setup IRQs.
> > >
> > > In order to support PHB hotplug, this patch introduces a new private
> > > hcall, which allows SLOF to tell QEMU that a "phandle" was converted
> > > from an old value to a new value.
> > Thanks, applied.
> But David Gibson seems to be "really, really" opposed to this solution as
> expressed in this thread:
I certainly don't like it.
> He's asking if we can change SLOF to not use phandles as raw pointers
> instead... I must admit that this goes way beyond my very limited
> knowledge on SLOF and forth... :-\
From what Thomas has told me, it's pretty hard :(.
> I hope that someone here can provide some hints on the feasibility
> and effort needed to satisfy David's request.
I really dislike this approach, but I've yet to find a better one.
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_!
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 833 bytes
Desc: not available
More information about the SLOF