#ifndef __PIRTABLE_H | |
#define __PIRTABLE_H | |
#include "types.h" // u32 | |
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; | |
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; | |
struct pir_slot slots[0]; | |
} PACKED; | |
#define PIR_SIGNATURE 0x52495024 // $PIR | |
#endif // pirtable.h |