Bug 234553

Summary: [cxgbe][pci][ppt] T420-CR VF fails probe by ppt module for bhyve
Product: Base System Reporter: Ryan Moeller <ryan>
Component: kernAssignee: freebsd-net mailing list <net>
Status: New ---    
Severity: Affects Only Me CC: np, sbruno
Priority: ---    
Version: 12.0-RELEASE   
Hardware: amd64   
OS: Any   

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.

dev.t4nex.0.firmware_version: 1.19.1.0

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]'