Index: sys/dev/pci/pci.c =================================================================== --- sys/dev/pci/pci.c +++ sys/dev/pci/pci.c @@ -6261,11 +6261,14 @@ pci_find_pcie_root_port(device_t dev) { struct pci_devinfo *dinfo; - devclass_t pci_class; + devclass_t pci_class, vmd_bus_class; device_t pcib, bus; pci_class = devclass_find("pci"); - KASSERT(device_get_devclass(device_get_parent(dev)) == pci_class, + vmd_bus_class = devclass_find("vmd_bus"); + printf("%s %d\n", device_get_name(device_get_parent(dev)), dev == NULL); + KASSERT(device_get_devclass(device_get_parent(dev)) == pci_class || + device_get_devclass(device_get_parent(dev)) == vmd_bus_class, ("%s: non-pci device %s", __func__, device_get_nameunit(dev))); /*