vf token is set by a vfio-pci based PF driver and it must be known to the vfio-pci based VF driver. This vf-token is set by the PF driver before VF drivers can access the device. vfio-pci driver and qemu support vf-token. This RFC patch series adds support to provide the vf-token (uuid format) in the domain XML and to generate the qemu commandline including the vf-token. To support vf-token the new element will be used as follows: <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x0' slot='0x00' function='0x1'> <vf-token uuid='00112233-4455-6677-8899-aabbccddeeff'/> </address> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> </hostdev> The generated commandline will include the following: -device {"driver":"vfio-pci","host":"0000:00:0.1", "vf-token":"00112233-4455-6677-8899-aabbccddeeff", "id":"hostdev0","bus":"pci.0","addr":"0x1"} Changes since initial RFC: 1. Added documentation 2. Added test cases and ran test suite - virtsocketest fails when run with 'ninja test' 3. fixed spaces and uuid string format 4. Used S:vftoken in virJSONValueObjectAdd instead of introducing a conditional Vivek Kashyap (7): virpci: Define vf-token qemu: vf-token capability conf: vf-token flag conf: vf-token parsing and formatting conf: test cases qemu: validate & generate command line doc: doc and news NEWS.rst | 8 +++++ docs/formatdomain.rst | 4 +++ src/conf/device_conf.c | 32 +++++++++++++++-- src/conf/device_conf.h | 3 ++ src/conf/domain_addr.h | 1 + src/conf/domain_conf.c | 8 +++++ src/conf/schemas/basictypes.rng | 7 ++++ src/libvirt_private.syms | 1 + src/qemu/qemu_capabilities.c | 3 ++ src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 13 +++++++ src/qemu/qemu_domain_address.c | 3 ++ src/qemu/qemu_validate.c | 20 +++++++++++ src/util/virpci.c | 7 ++++ src/util/virpci.h | 12 +++++++ .../qemucapabilitiesdata/caps_8.1.0_s390x.xml | 1 + .../caps_8.1.0_x86_64.xml | 1 + .../caps_8.2.0_x86_64.xml | 1 + .../hostdev-vfio-vf-token.x86_64-latest.args | 34 +++++++++++++++++++ .../hostdev-vfio-vf-token.xml | 22 ++++++++++++ tests/qemuxml2argvtest.c | 1 + 21 files changed, 181 insertions(+), 2 deletions(-) create mode 100644 tests/qemuxml2argvdata/hostdev-vfio-vf-token.x86_64-latest.args create mode 100644 tests/qemuxml2argvdata/hostdev-vfio-vf-token.xml -- 2.25.1 _______________________________________________ Devel mailing list -- devel@xxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx