aboutsummaryrefslogtreecommitdiff
path: root/src/pci.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pci.h')
-rw-r--r--src/pci.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/pci.h b/src/pci.h
index b54cd37..edf94b1 100644
--- a/src/pci.h
+++ b/src/pci.h
@@ -25,4 +25,38 @@ u8 pci_config_readb(PCIDevice d, u32 addr);
int pci_find_device(u16 vendid, u16 devid, int index, PCIDevice *dev);
int pci_find_class(u32 classid, int index, PCIDevice *dev);
+
+/****************************************************************
+ * PIR table
+ ****************************************************************/
+
+struct pir_header {
+ u32 signature;
+ u16 version;
+ u16 size;
+ u8 router_bus;
+ u8 router_devfunc;
+ u16 exclusive_irqs;
+ u32 compatible_devid;
+ u32 miniport_data;
+ u8 reserved[11];
+ u8 checksum;
+} PACKED;
+
+#define PIR_SIGNATURE 0x52495024 // $PIR
+
+struct link_info {
+ u8 link;
+ u16 bitmap;
+} PACKED;
+
+struct pir_slot {
+ u8 bus;
+ u8 dev;
+ struct link_info links[4];
+ u8 slot_nr;
+ u8 reserved;
+} PACKED;
+
+
#endif