Avi Kivity <a...@redhat.com> writes:

> On 05/14/2010 08:03 PM, Markus Armbruster wrote:
>> Avi Kivity<a...@redhat.com>  writes:
>>
>>    
>>> On 05/14/2010 11:50 AM, Markus Armbruster wrote:
[...]
>>>> We have a list of buses, each containing a list of device functions.
>>>> Not sure the additional level of nesting you propose buys us anything.
>>>>
>>>>        
>>> A slot is the hotpluggable entity.  Open your computer and you can
>>> actually see them.
>>>      
>> QEMU doesn't really know that.
>>    
>
> How can that be?  Do we signal hotplug notifications to a function or
> to a slot?
>
> Can we hotplug a single function in an already occupied slot?

What I meant to say: we have no concept of "slot" in the higher level
interfaces, we have only bus and device.

If a PCI device has multiple functions, we have a separate qdev device
for each function.  You can't unplug a "slot" (concept doesn't exist in
qdev), only a qdev device.  Naturally, when you unplug a qdev device,
all functions in the same PCI slot need to go.  This happens deep down
in the bowels of ACPI, in piix4_device_hotplug().  qdev is not aware of
this magic relation between the qdev devices for functions in the same
slot.

[...]

Reply via email to