2 * Acess2 Kernel (x86 Port)
3 * - By John Hodge (thePowersGang)
6 * - MPTable definitions
9 #define MPPTR_IDENT ('_'|('M'<<8)|('P'<<16)|('_'<<24))
10 #define MPTABLE_IDENT ('P'|('C'<<8)|('M'<<16)|('P'<<24))
12 typedef struct sMPInfo {
18 Uint8 Features[5]; // 2-4 are unused
21 typedef union uMPTable_Ent {
27 Uint8 CPUFlags; // bit 0: Enabled, bit 1: Boot Processor
28 Uint32 CPUSignature; // Stepping, Model, Family
31 } __attribute__((packed)) Proc; // 0x00
36 } __attribute__((packed)) Bus; // 0x01
41 Uint8 Flags; // bit 0: Enabled
43 } __attribute__((packed)) IOAPIC; // 0x02
47 Uint16 Flags; // 0,1: Polarity, 2,3: Trigger Mode
52 } __attribute__((packed)) IOInt;
56 Uint16 Flags; // 0,1: Polarity, 2,3: Trigger Mode
59 Uint8 DestLocalAPICID;
60 Uint8 DestLocalAPICIRQ;
61 } __attribute__((packed)) LocalInt;
62 } __attribute__((packed)) tMPTable_Ent;
64 typedef struct sMPTable {
66 Uint16 BaseTableLength;
77 Uint32 LocalAPICMemMap; //!< Address used to access the local APIC
78 Uint16 ExtendedTableLen;
79 Uint8 ExtendedTableChecksum;
82 tMPTable_Ent Entries[];