aboutsummaryrefslogtreecommitdiff
path: root/trace-events
diff options
context:
space:
mode:
authorAlex Williamson <alex.williamson@redhat.com>2015-09-23 13:04:49 -0600
committerAlex Williamson <alex.williamson@redhat.com>2015-09-23 13:04:49 -0600
commit89dcccc5931cc8afc2ccc7cd378695165768148b (patch)
treef1afa6e8095cc92c4cf19166135b85aa8989958f /trace-events
parentff635e3775447b7e797f1bad8cf33403199faba1 (diff)
downloadqemu-89dcccc5931cc8afc2ccc7cd378695165768148b.zip
qemu-89dcccc5931cc8afc2ccc7cd378695165768148b.tar.gz
qemu-89dcccc5931cc8afc2ccc7cd378695165768148b.tar.bz2
vfio/pci: Add emulated PCI IDs
Specifying an emulated PCI vendor/device ID can be useful for testing various quirk paths, even though the behavior and functionality of the device with bogus IDs is fully unsupportable. We need to use a uint32_t for the vendor/device IDs, even though the registers themselves are only 16-bit in order to be able to determine whether the value is valid and user set. The same support is added for subsystem vendor/device ID, though these have the possibility of being useful and supported for more than a testing tool. An emulated platform might want to impose their own subsystem IDs or at least hide the physical subsystem ID. Windows guests will often reinstall drivers due to a change in subsystem IDs, something that VM users may want to avoid. Of course careful attention would be required to ensure that guest drivers do not rely on the subsystem ID as a basis for device driver quirks. All of these options are added using the standard experimental option prefix and should not be considered stable. Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'trace-events')
-rw-r--r--trace-events4
1 files changed, 4 insertions, 0 deletions
diff --git a/trace-events b/trace-events
index bc55171..25c53e0 100644
--- a/trace-events
+++ b/trace-events
@@ -1560,6 +1560,10 @@ vfio_initfn(const char *name, int group_id) " (%s) group %d"
vfio_pci_reset(const char *name) " (%s)"
vfio_pci_reset_flr(const char *name) "%s FLR/VFIO_DEVICE_RESET"
vfio_pci_reset_pm(const char *name) "%s PCI PM Reset"
+vfio_pci_emulated_vendor_id(const char *name, uint16_t val) "%s %04x"
+vfio_pci_emulated_device_id(const char *name, uint16_t val) "%s %04x"
+vfio_pci_emulated_sub_vendor_id(const char *name, uint16_t val) "%s %04x"
+vfio_pci_emulated_sub_device_id(const char *name, uint16_t val) "%s %04x"
# hw/vfio/pci-quirks.
vfio_quirk_rom_blacklisted(const char *name, uint16_t vid, uint16_t did) "%s %04x:%04x"