[libvirt] [PATCH v2 RESEND 00/12] PCI passthrough support on s390

Ján Tomko jtomko at redhat.com
Mon Jul 23 11:37:37 UTC 2018


On Tue, Jul 10, 2018 at 04:02:14PM +0800, Yi Min Zhao wrote:
>Abstract
>========
>The PCI representation in QEMU has recently been extended for S390
>allowing configuration of zPCI attributes like uid (user-defined
>identifier) and fid (PCI function identifier).
>The details can be found here:
>https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg07262.html
>
>To support the new zPCI feature of the S390 platform, two new XML
>attributes, @uid and @fid, are introduced for device addresses of type
>'pci', i.e.:
>  <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'
>      uid='0x0003' fid='0x00000027'/>
>  </hostdev>
>
>uid and fid are optional attributes. If they are defined by the user,
>unique values within the guest domain must be used. If they are not
>specified and the architecture requires them, they are automatically
>generated with non-conflicting values.
>
>Current implementation is the most seamless one for the user as it
>unites the address specific data of a PCI device on one XML element.
>It could accommodate both specifying our special parameters (uid and fid)
>and re-using standard statements (domain, bus, slot and function) for
>PCI devices. User can still specify bus/slot/function for the virtualized
>PCI devices in the XML.
>
>Thus uid/fid act as an extension to the PCI address and are stored in
>a new structure 'virZPCIDeviceAddress' which is a member of common PCI
>Address structure. Additionally, two hashtables are used for assignment
>and reservation of uid/fid.
>
>In support of extending the PCI address, a new PCI address extension flag is
>introduced. This extension flag allows is not only dedicated for the S390
>platform but also other architectures needing certain extensions to PCI
>address space.
>
>Code Base
>=========
>commit in master:
>767f9e1449b1a36111532847f0c62dc758263c42
>qemu: validate: Enforce compile time switch type checking for videos
>
>Change Log
>==========
>v1->v2:
>1. Separate test commit and merge testcases into corresponding commits that
>   introduce the functionalities firstly.
>2. Spare some checks for zpci device.
>3. Add vsock and controller support.
>4. Add uin32 type schema.
>5. Rename zpciuid and zpcifid to zpci_uid and zpci_fid.
>6. Always return multibus support on S390.
>
>Yi Min Zhao (12):
>  conf: Add definitions for 'uid' and 'fid' PCI address attributes
>  qemu: Introduce zPCI capability
>  conf: Introduce a new PCI address extension flag
>  qemu: Enable PCI multi bus for S390 guests
>  qemu: Auto add pci-root for s390/s390x guests
>  conf: Introduce address caching for PCI extensions
>  conf: Introduce parser, formatter for uid and fid
>  conf: Allocate/release 'uid' and 'fid' in PCI address
>  qemu: Generate and use zPCI device in QEMU command line
>  qemu: Add hotpluging support for PCI devices on S390 guests
>  docs: Add 'uid' and 'fid' information
>  news: Update news for PCI address extension attributes
>

The patches look OK to me, therefore:

Reviewed-by: Ján Tomko <jtomko at redhat.com>

But I'd like to hear from some other developer who touched the PCI code
last (Laine? Andrea?)

Jano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20180723/9622ad55/attachment-0001.sig>


More information about the libvir-list mailing list