qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug 1894869] Re: Chelsio T4 has old MSIX PBA offset bug


From: Alex Williamson
Subject: [Bug 1894869] Re: Chelsio T4 has old MSIX PBA offset bug
Date: Tue, 15 Sep 2020 14:41:44 -0000

I don't understand the purpose of function 7 on these cards, the class
code indicates an Ethernet device, but without any BARs, I very much
doubt that the functions provide any useful service.  Config space is
invalid for the function as QEMU identifies, the referenced BAR resource
for the MSI-X vector table and PBA is invalid.  Without proving that the
function provides an actual netdev interface in the host, I don't see
any value to adding a quirk to work around the invalid MSI-X capability.
The solution is to simply not assign this function to a VM.

SR-IOV is not enable on these cards.  Perhaps enabling SR-IOV would
provide the additional NICs you're trying to assign.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1894869

Title:
  Chelsio T4 has old MSIX PBA offset bug

Status in QEMU:
  New
Status in Debian:
  In Progress

Bug description:
  There exists a bug with Chelsio NICs T4 that causes the following
  error:

  kvm: -device vfio-
  pci,host=0000:83:00.7,id=hostpci1.7,bus=pci.0,addr=0x11.7: vfio
  0000:83:00.7: hardware reports invalid configuration, MSIX PBA outside
  of specified BAR

  I discovered this bug on a Proxmox system, and I was working with a
  downstream Proxmox developer to try to fix this issue. They provided
  me with the following change to make from line 1484 of hw/vfio/pci.c:

  static void vfio_msix_early_setup(VFIOPCIDevice *vdev, Error **errp)
            * is 0x1000, so we hard code that here.
            */
           if (vdev->vendor_id == PCI_VENDOR_ID_CHELSIO &&
  -            (vdev->device_id & 0xff00) == 0x5800) {
  +            ((vdev->device_id & 0xff00) == 0x5800 ||
  +             (vdev->device_id & 0xff00) == 0x1425)) {
               msix->pba_offset = 0x1000;
           } else if (vdev->msix_relo == OFF_AUTOPCIBAR_OFF) {
               error_setg(errp, "hardware reports invalid configuration, "

  However, I found that this did not fix the issue, so the bug appears
  to work differently than the one that was present on the T5 NICs which
  has already been patched. I have attached the output of my lspci
  -nnkvv

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1894869/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]