qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] [Qemu-devel] Why is "spapr-pci-host-bridge" no-user?


From: Markus Armbruster
Subject: Re: [Qemu-ppc] [Qemu-devel] Why is "spapr-pci-host-bridge" no-user?
Date: Fri, 03 Jun 2016 13:36:55 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Alexey Kardashevskiy <address@hidden> writes:

> On 03/06/16 16:40, Markus Armbruster wrote:
>> Commit 09aa9a5 "spapr-pci: enable adding PHB via -device" set
>> cannot_instantiate_with_device_add_yet without also adding a comment
>> explaining why.  It is currently the only one lacking such a comment.
>> Let's fix that.
>> 
>> Unfortunately, the commit message doesn't tell me (or I'm too dense to
>> understand it):
>> 
>>     spapr-pci: enable adding PHB via -device
>>     
>>     Recent changes introduced cannot_instantiate_with_device_add_yet
>>     and removed capability of adding yet another PCI host bridge via
>>     command line for SPAPR platform (POWERPC64 server).
>>     
>>     This brings the capability back and puts SPAPR PHB into "bridge"
>>     category.
>>     
>>     This is not much use for emulated PHB but it is absolutely required
>>     for VFIO as we put an IOMMU group onto a separate PHB on SPAPR.
>>     
>>     Signed-off-by: Alexey Kardashevskiy <address@hidden>
>>     Signed-off-by: Alexander Graf <address@hidden>
>> 
>> Alexey, can you explain why the device cannot be used with -device /
>> device_add?
>
> It can be used with "-device" with as it is today, i.e. with
> "cannot_instantiate_with_device_add_yet=false".

I misread the code.  But the assignment needs an explanation anyway :)

> With "cannot_instantiate_with_device_add_yet=true", I get this:
>
> qemu-system-ppc64: -device spapr-pci-host-bridge,id=phb10,index=10:
> Parameter 'driver' expects pluggable device type
>
>
> At that moment (sha1 09aa9a526a86fd2e380e86^) it failed because of
> inherited "cannot_instantiate_with_device_add_yet=true" from
> sysbus_device_class_init() (which is gone now):
>
> qemu-system-ppc64: -device spapr-pci-host-bridge,id=phb10,index=10:
> Parameter 'driver' expects pluggable device type
>
> So there was my patch.
>
>
> "device_add" is different, it does not work because:
> (qemu) device_add spapr-pci-host-bridge
> Bus 'main-system-bus' does not support hotplugging
>
> Which I am not sure if it is true for all platforms or just spapr/ppc64 but
> I do not care much now as there is some work to do anyway to support PHB
> hotplug as per LoPAPR specification anyway.
>
> Does this help? :)

Now you made me read the code more carefully, I have different
questions.

Can we delete the assignment?  -device
spapr-pci-host-bridge,id=phb10,index=10 still works for me then.

If not, why?



reply via email to

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