Index: head/sys/powerpc/powernv/opal.h =================================================================== --- head/sys/powerpc/powernv/opal.h +++ head/sys/powerpc/powernv/opal.h @@ -79,6 +79,20 @@ #define OPAL_UNMAP_PE 0 #define OPAL_MAP_PE 1 +#define OPAL_PCI_BUS_ANY 0 +#define OPAL_PCI_BUS_3BITS 2 +#define OPAL_PCI_BUS_4BITS 3 +#define OPAL_PCI_BUS_5BITS 4 +#define OPAL_PCI_BUS_6BITS 5 +#define OPAL_PCI_BUS_7BITS 6 +#define OPAL_PCI_BUS_ALL 7 /* Match bus number exactly */ + +#define OPAL_IGNORE_RID_DEVICE_NUMBER 0 +#define OPAL_COMPARE_RID_DEVICE_NUMBER 1 + +#define OPAL_IGNORE_RID_FUNC_NUMBER 0 +#define OPAL_COMPARE_RID_FUNC_NUMBER 1 + #define OPAL_SUCCESS 0 #define OPAL_PARAMETER -1 #define OPAL_BUSY -2 Index: head/sys/powerpc/powernv/opal_pci.c =================================================================== --- head/sys/powerpc/powernv/opal_pci.c +++ head/sys/powerpc/powernv/opal_pci.c @@ -254,8 +254,8 @@ * such time as we start wanting to do things like bhyve. */ err = opal_call(OPAL_PCI_SET_PE, sc->phb_id, OPAL_PCI_DEFAULT_PE, - 0, 0, 0, 0, /* All devices */ - OPAL_MAP_PE); + 0, OPAL_PCI_BUS_ANY, OPAL_IGNORE_RID_DEVICE_NUMBER, + OPAL_IGNORE_RID_FUNC_NUMBER, OPAL_MAP_PE); if (err != 0) { device_printf(dev, "PE mapping failed: %d\n", err); return (ENXIO);