Benjamin Herrenschmidt <b...@kernel.crashing.org> writes:

> On Wed, 2012-09-12 at 17:53 +0200, Alexander Graf wrote:
>> On 09/12/2012 04:54 PM, Erlon Cruz wrote:
>> > Hi all,
>> >
>> > We are planning to implement DLPAR capacity on QEMU pSeries. As we
>> 
>> What is DLPAR? Hotplug support?
>
> Yes.
>
>> > lack of experience in the internals of the arch we would like you guys
>> > to give us some design directions
>> > and confirm if we going in the right direction. Our first idea is:
>> >
>> >      1 - to patch 'spapr.c' so it can dynamically insert/remove basic
>> > items into the device tree.
>> 
>> What exactly would you like to patch into it? We already do have support 
>> for dynamic dt creation with the spapr target.
>
> No we don't. We don't have the necessary bits and pieces to pass the DT
> updates down to the guest. PAPR defines a mechanism using RTAS calls
> which we need to implement, but there are some issues remaining:
>
>  - We don't have a way to "initiate" a DLPAR operation. This is
> currently done by proprietary tools that communicate with the HMC. We
> want to invent some kind of hotplug "interrupt" (using existing RTAS
> event facilities). All it needs to do is indicate the DT path (ie.
> connector) where something is to be plugged to or unplugged, which can
> then trigger the relevant configure-connector calls to retrieve the DT
> bits.
>
>  - We have a problem with PCI. Currently, the content of the PCI
> bus(ses) is discovered by SLOF running inside the guest. Not by qemu.
> It's SLOF that assigns the BARs and create the device-tree nodes for the
> various PCI devices. However, with hotplug, the guest expects to get
> fully populated DT nodes for hotplugged PCI devices and fully assigned
> BARS. Under pHyp that works because under the hood, RTAS contains an OFW
> implementation which does all the assignment before passing the stuff to
> the OS, but under qemu, RTAS is actually in qemu. This means we'll
> probably have to move back the PCI device node creation and resource
> assignment to qemu (like it was in the very early versions of the spapr
> support).

I know you and I have discussed this in the past, but not on the list
and now I don't recall the reasoning.

Why not add a proper RTAS and do this work there?

Regards,

Anthony Liguori

Reply via email to