RE: [PATCH v2] vfio/pci: Mask buggy SR-IOV VF INTx support

From: Eads, Gage
Date: Thu Sep 20 2018 - 18:57:35 EST


Hi Alex,

This patch passes testing with the 0x270c device, and (when I comment out its known_bogus_vf_intx_pin entry) the warning is triggered by QEMU.

Thanks,
Gage

> -----Original Message-----
> From: Alex Williamson [mailto:alex.williamson@xxxxxxxxxx]
> Sent: Thursday, September 20, 2018 3:03 PM
> To: kvm@xxxxxxxxxxxxxxx; Raj, Ashok <ashok.raj@xxxxxxxxx>; Eads, Gage
> <gage.eads@xxxxxxxxx>
> Cc: gnomes@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH v2] vfio/pci: Mask buggy SR-IOV VF INTx support
>
> The SR-IOV spec requires that VFs must report zero for the INTx pin register as
> VFs are precluded from INTx support. It's much easier for the host kernel to
> understand whether a device is a VF and therefore whether a non-zero pin
> register value is bogus than it is to do the same in userspace. Override the INTx
> count for such devices and virtualize the pin register to provide a consistent view
> of the device to the user.
>
> As this is clearly a spec violation, warn about it to support hardware validation,
> but also provide a known whitelist as it doesn't do much good to continue
> complaining if the hardware vendor doesn't plan to fix it.
>
> Known devices with this issue: 8086:270c
>
> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx>

Tested-by: Gage Eads <gage.eads@xxxxxxxxx>