iova_t __to_iova(struct vfio_pci_device *device, void *vaddr);
iova_t to_iova(struct vfio_pci_device *device, void *vaddr);
+static inline bool vfio_pci_device_match(struct vfio_pci_device *device,
+ u16 vendor_id, u16 device_id)
+{
+ return (vendor_id == vfio_pci_config_readw(device, PCI_VENDOR_ID)) &&
+ (device_id == vfio_pci_config_readw(device, PCI_DEVICE_ID));
+}
+
#endif /* SELFTESTS_VFIO_LIB_INCLUDE_VFIO_UTIL_H */
/* Check that Vendor and Device match what the kernel reports. */
vendor = read_pci_id_from_sysfs("vendor");
device = read_pci_id_from_sysfs("device");
-
- ASSERT_EQ(vendor, vfio_pci_config_readw(self->device, PCI_VENDOR_ID));
- ASSERT_EQ(device, vfio_pci_config_readw(self->device, PCI_DEVICE_ID));
+ ASSERT_TRUE(vfio_pci_device_match(self->device, vendor, device));
printf("Vendor: %04x, Device: %04x\n", vendor, device);