[SeaBIOS] [PATCH 2/4] pci: add foreachcap() helper
Eduard - Gabriel Munteanu
eduard.munteanu at linux360.ro
Sat Aug 28 17:02:56 CEST 2010
This iterates over capabilities exposed by PCI devices. It's needed by
IOMMU initialization code to discover the Secure Device capability.
Signed-off-by: Eduard - Gabriel Munteanu <eduard.munteanu at linux360.ro>
---
src/pci.h | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/src/pci.h b/src/pci.h
index 9c3108c..60e0359 100644
--- a/src/pci.h
+++ b/src/pci.h
@@ -2,6 +2,7 @@
#define __PCI_H
#include "types.h" // u32
+#include "pci_regs.h" // PCI_CAPABILITY_LIST et al.
static inline u8 pci_bdf_to_bus(u16 bdf) {
return bdf >> 8;
@@ -52,6 +53,10 @@ int pci_next(int bdf, int *pmax);
for (MAX=0x0100, BDF=pci_next(0, &MAX) \
; BDF >= 0 \
; BDF=pci_next(BDF+1, &MAX))
+#define foreachcap(BDF, PTR, CAP) \
+ for (PTR = PCI_CAPABILITY_LIST, CAP = pci_config_readb(BDF, PTR); \
+ CAP; \
+ PTR = CAP + PCI_CAP_LIST_NEXT, CAP = pci_config_readb(BDF, PTR))
#define foreachpci_in_bus(BDF, MAX, BUS) \
for (MAX = pci_bus_devfn_to_bdf(BUS, 0) + 0x0100, \
--
1.7.1
More information about the SeaBIOS
mailing list