[libvirt] [PATCH v6 00/13] PCI passthrough support on s390

Yi Min Zhao zyimin at linux.ibm.com
Mon Oct 15 01:47:27 UTC 2018



在 2018/10/14 下午8:47, Andrea Bolognani 写道:
> On Fri, 2018-10-12 at 16:04 +0100, Daniel P. Berrangé wrote:
>> On Fri, Sep 28, 2018 at 04:46:13PM +0800, Yi Min Zhao wrote:
> [...]
>>>    <hostdev mode='subsystem' type='pci'>
>>>      <driver name='vfio'/>
>>>      <source>
>>>        <address domain='0x0001' bus='0x00' slot='0x00' function='0x0'/>
>>>      </source>
>>>      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'>
>>>        <zpci uid='0x0003' fid='0x00000027'/>
>>>      </address>
>>>    </hostdev>
>> I'm not sure if this was discussed in earlier versions, but to me
>> this use of a child element looks wrong.
>>
>> What we're effectively saying is that s390 has a different addressing
>> scheme. It happens to share some fields with the current PCI addressing
>> scheme, but it is none the less a distinct scheme.
>>
>> IOW, I think it should be
>>
>>     <address type='zpci' domain='0x0000' bus='0x00' slot='0x01'
>>                          function='0x0' uid='0x0003' fid='0x00000027'/>
>>
>> Of course internally we can still share much logic for assigning the
>> addreses between "pci" and "zpci".
> So what happens with PCI devices on s390 is that *two* devices will
> be added to the guest: one is the usual virtio-net-pci or what have
> you, which has its own PCI address allocated using the same algorithm
> as other architectures; the other one is a '-device zpci', which IIUC
> works basically like an adapter between the PCI device itself and the
> guest OS, and which is identified using uid and fid.
>
> Calling it a completely different address type seems like a bit of a
> stretch: there is definitely a PCI address involved, which is why the
> zPCI part was implemented through a potentially reusable "PCI address
> extension" mechanism.
>
Sorry, this mail went into trash box..

-- 
Yi Min




More information about the libvir-list mailing list