Bug 234553 - [cxgbe][pci][ppt] T420-CR VF fails probe by ppt module for bhyve
Summary: [cxgbe][pci][ppt] T420-CR VF fails probe by ppt module for bhyve
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 12.0-RELEASE
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-net (Nobody)
Depends on:
Reported: 2019-01-02 00:13 UTC by Ryan Moeller
Modified: 2020-07-24 19:40 UTC (History)
3 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Ryan Moeller 2019-01-02 00:13:33 UTC
Using `iovctl` I can create VFs for cxgbe0, cxgbe1. They show up in `pciconf -lv` in the ppt devclass. However, most of the device configuration appears to be invalid (see pciconf output below). In particular, the hdr=0x7f means `ppt_probe()` will return ENXIO for the device instead of BUS_PROBE_WILDCARD, preventing the device from being passed through to a bhyve VM.

I naively tried modifying the vmm driver to bypass the cfg.hdrtype check, which allowed me to pass the device through to a VM, but the kernel in the VM then failed to recognize the VF as anything. It is not present in `pciconf -l` inside the VM and I see no messages about it in the VM console.


ppt0@pci0:1:1:0:        class=0xffffff card=0x00000000 chip=0x48011425 rev=0xff hdr=0x7f
    vendor     = 'Chelsio Communications Inc'
    device     = 'T420-CR Unified Wire Ethernet Controller [VF]'
Comment 1 Ryan Moeller freebsd_committer 2020-07-24 19:40:09 UTC
This appears to be working now in FreeBSD 12.1


ppt0@pci0:8:0:1:        class=0x020000 card=0x00001425 chip=0x40011425 rev=0x00 hdr=0x00
    vendor     = 'Chelsio Communications Inc'
    device     = 'T420-CR Unified Wire Ethernet Controller'
    class      = network
    subclass   = ethernet