1 #ifndef __PIRTABLE_H 2 #define __PIRTABLE_H 3 4 #include "types.h" // u32 5 6 struct link_info { 7 u8 link; 8 u16 bitmap; 9 } PACKED; 10 11 struct pir_slot { 12 u8 bus; 13 u8 dev; 14 struct link_info links[4]; 15 u8 slot_nr; 16 u8 reserved; 17 } PACKED; 18 19 struct pir_header { 20 u32 signature; 21 u16 version; 22 u16 size; 23 u8 router_bus; 24 u8 router_devfunc; 25 u16 exclusive_irqs; 26 u32 compatible_devid; 27 u32 miniport_data; 28 u8 reserved[11]; 29 u8 checksum; 30 struct pir_slot slots[0]; 31 } PACKED; 32 33 #define PIR_SIGNATURE 0x52495024 // $PIR 34 35 #endif // pirtable.h 36