Kevin O'Connor | c5e06fb | 2013-09-14 22:22:28 -0400 | [diff] [blame] | 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 |