diff options
Diffstat (limited to 'pci.h')
-rw-r--r-- | pci.h | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -60,6 +60,11 @@ extern void pci_config_maskw(int bdf, int addr, uint16_t off, uint16_t on); extern int pci_next(int bdf, int *pmax); +#define PCI_DEVFN(slot, func) ((((slot) & 0x1f) << 3) | ((func) & 0x07)) +#define PCI_BUS(devfn) ((devfn) >> 8) +#define PCI_SLOT(devfn) (((devfn) >> 3) & 0x1f) +#define PCI_FUNC(devfn) ((devfn) & 0x07) + #define foreachpci(BDF, MAX) \ for (MAX = 0x0100, BDF = pci_next(0, &MAX); \ BDF >= 0; \ |