actbl.h (7c478bd9) | actbl.h (450d6964) |
---|---|
1/****************************************************************************** 2 * 3 * Name: actbl.h - Table data structures defined in ACPI specification | 1/****************************************************************************** 2 * 3 * Name: actbl.h - Table data structures defined in ACPI specification |
4 * $Revision: 69 $ | 4 * $Revision: 72 $ |
5 * 6 *****************************************************************************/ 7 8/****************************************************************************** 9 * 10 * 1. Copyright Notice 11 * 12 * Some or all of this work - Copyright (c) 1999 - 2005, Intel Corp. --- 141 unchanged lines hidden (view full) --- 154/* 155 * ACPI Version-independent tables 156 * 157 * NOTE: The tables that are specific to ACPI versions (1.0, 2.0, etc.) 158 * are in separate files. 159 */ 160typedef struct rsdp_descriptor /* Root System Descriptor Pointer */ 161{ | 5 * 6 *****************************************************************************/ 7 8/****************************************************************************** 9 * 10 * 1. Copyright Notice 11 * 12 * Some or all of this work - Copyright (c) 1999 - 2005, Intel Corp. --- 141 unchanged lines hidden (view full) --- 154/* 155 * ACPI Version-independent tables 156 * 157 * NOTE: The tables that are specific to ACPI versions (1.0, 2.0, etc.) 158 * are in separate files. 159 */ 160typedef struct rsdp_descriptor /* Root System Descriptor Pointer */ 161{ |
162 char Signature [8]; /* ACPI signature, contains "RSD PTR " */ 163 UINT8 Checksum; /* To make sum of struct == 0 */ 164 char OemId [6]; /* OEM identification */ 165 UINT8 Revision; /* Must be 0 for 1.0, 2 for 2.0 */ 166 UINT32 RsdtPhysicalAddress; /* 32-bit physical address of RSDT */ 167 UINT32 Length; /* XSDT Length in bytes including hdr */ 168 UINT64 XsdtPhysicalAddress; /* 64-bit physical address of XSDT */ 169 UINT8 ExtendedChecksum; /* Checksum of entire table */ 170 char Reserved [3]; /* Reserved field must be 0 */ | 162 char Signature[8]; /* ACPI signature, contains "RSD PTR " */ 163 UINT8 Checksum; /* ACPI 1.0 checksum */ 164 char OemId[6]; /* OEM identification */ 165 UINT8 Revision; /* Must be (0) for ACPI 1.0 or (2) for ACPI 2.0+ */ 166 UINT32 RsdtPhysicalAddress; /* 32-bit physical address of the RSDT */ 167 UINT32 Length; /* XSDT Length in bytes, including header */ 168 UINT64 XsdtPhysicalAddress; /* 64-bit physical address of the XSDT */ 169 UINT8 ExtendedChecksum; /* Checksum of entire table (ACPI 2.0) */ 170 char Reserved[3]; /* Reserved, must be zero */ |
171 172} RSDP_DESCRIPTOR; 173 174 175typedef struct acpi_common_facs /* Common FACS for internal use */ 176{ 177 UINT32 *GlobalLock; 178 UINT64 *FirmwareWakingVector; 179 UINT8 VectorWidth; 180 181} ACPI_COMMON_FACS; 182 183 184#define ACPI_TABLE_HEADER_DEF /* ACPI common table header */ \ | 171 172} RSDP_DESCRIPTOR; 173 174 175typedef struct acpi_common_facs /* Common FACS for internal use */ 176{ 177 UINT32 *GlobalLock; 178 UINT64 *FirmwareWakingVector; 179 UINT8 VectorWidth; 180 181} ACPI_COMMON_FACS; 182 183 184#define ACPI_TABLE_HEADER_DEF /* ACPI common table header */ \ |
185 char Signature [4]; /* ACPI signature (4 ASCII characters) */\ 186 UINT32 Length; /* Length of table, in bytes, including header */\ | 185 char Signature[4]; /* ASCII table signature */\ 186 UINT32 Length; /* Length of table in bytes, including this header */\ |
187 UINT8 Revision; /* ACPI Specification minor version # */\ 188 UINT8 Checksum; /* To make sum of entire table == 0 */\ | 187 UINT8 Revision; /* ACPI Specification minor version # */\ 188 UINT8 Checksum; /* To make sum of entire table == 0 */\ |
189 char OemId [6]; /* OEM identification */\ 190 char OemTableId [8]; /* OEM table identification */\ | 189 char OemId[6]; /* ASCII OEM identification */\ 190 char OemTableId[8]; /* ASCII OEM table identification */\ |
191 UINT32 OemRevision; /* OEM revision number */\ | 191 UINT32 OemRevision; /* OEM revision number */\ |
192 char AslCompilerId [4]; /* ASL compiler vendor ID */\ 193 UINT32 AslCompilerRevision; /* ASL compiler revision number */ | 192 char AslCompilerId [4]; /* ASCII ASL compiler vendor ID */\ 193 UINT32 AslCompilerRevision; /* ASL compiler version */ |
194 195 196typedef struct acpi_table_header /* ACPI common table header */ 197{ 198 ACPI_TABLE_HEADER_DEF 199 200} ACPI_TABLE_HEADER; 201 --- 8 unchanged lines hidden (view full) --- 210#define MULTIPLE_APIC 1 211 212/* Master MADT */ 213 214typedef struct multiple_apic_table 215{ 216 ACPI_TABLE_HEADER_DEF /* ACPI common table header */ 217 UINT32 LocalApicAddress; /* Physical address of local APIC */ | 194 195 196typedef struct acpi_table_header /* ACPI common table header */ 197{ 198 ACPI_TABLE_HEADER_DEF 199 200} ACPI_TABLE_HEADER; 201 --- 8 unchanged lines hidden (view full) --- 210#define MULTIPLE_APIC 1 211 212/* Master MADT */ 213 214typedef struct multiple_apic_table 215{ 216 ACPI_TABLE_HEADER_DEF /* ACPI common table header */ 217 UINT32 LocalApicAddress; /* Physical address of local APIC */ |
218 UINT32_BIT PCATCompat : 1; /* A one indicates system also has dual 8259s */ 219 UINT32_BIT Reserved1 : 31; | |
220 | 218 |
219 /* Flags (32 bits) */ 220 221 UINT8_BIT PCATCompat : 1; /* 00: System also has dual 8259s */ 222 UINT8_BIT : 7; /* 01-07: Reserved, must be zero */ 223 UINT8 Reserved1[3]; /* 08-31: Reserved, must be zero */ 224 |
|
221} MULTIPLE_APIC_TABLE; 222 223/* Values for Type in APIC_HEADER_DEF */ 224 225#define APIC_PROCESSOR 0 226#define APIC_IO 1 227#define APIC_XRUPT_OVERRIDE 2 228#define APIC_NMI 3 --- 24 unchanged lines hidden (view full) --- 253#define POLARITY_RESERVED 2 254#define POLARITY_ACTIVE_LOW 3 255 256#define TRIGGER_CONFORMS 0 257#define TRIGGER_EDGE 1 258#define TRIGGER_RESERVED 2 259#define TRIGGER_LEVEL 3 260 | 225} MULTIPLE_APIC_TABLE; 226 227/* Values for Type in APIC_HEADER_DEF */ 228 229#define APIC_PROCESSOR 0 230#define APIC_IO 1 231#define APIC_XRUPT_OVERRIDE 2 232#define APIC_NMI 3 --- 24 unchanged lines hidden (view full) --- 257#define POLARITY_RESERVED 2 258#define POLARITY_ACTIVE_LOW 3 259 260#define TRIGGER_CONFORMS 0 261#define TRIGGER_EDGE 1 262#define TRIGGER_RESERVED 2 263#define TRIGGER_LEVEL 3 264 |
261/* Common flag definitions */ | 265/* Common flag definitions (16 bits each) */ |
262 263#define MPS_INTI_FLAGS \ | 266 267#define MPS_INTI_FLAGS \ |
264 UINT16_BIT Polarity : 2; /* Polarity of APIC I/O input signals */\ 265 UINT16_BIT TriggerMode : 2; /* Trigger mode of APIC input signals */\ 266 UINT16_BIT Reserved1 : 12; /* Reserved, must be zero */ | 268 UINT8_BIT Polarity : 2; /* 00-01: Polarity of APIC I/O input signals */\ 269 UINT8_BIT TriggerMode : 2; /* 02-03: Trigger mode of APIC input signals */\ 270 UINT8_BIT : 4; /* 04-07: Reserved, must be zero */\ 271 UINT8 Reserved1; /* 08-15: Reserved, must be zero */ |
267 268#define LOCAL_APIC_FLAGS \ | 272 273#define LOCAL_APIC_FLAGS \ |
269 UINT32_BIT ProcessorEnabled: 1; /* Processor is usable if set */\ 270 UINT32_BIT Reserved2 : 31; /* Reserved, must be zero */ | 274 UINT8_BIT ProcessorEnabled: 1; /* 00: Processor is usable if set */\ 275 UINT8_BIT : 7; /* 01-07: Reserved, must be zero */\ 276 UINT8 Reserved2; /* 08-15: Reserved, must be zero */ |
271 272/* Sub-structures for MADT */ 273 274typedef struct madt_processor_apic 275{ 276 APIC_HEADER_DEF 277 UINT8 ProcessorId; /* ACPI processor id */ 278 UINT8 LocalApicId; /* Processor's local APIC id */ --- 36 unchanged lines hidden (view full) --- 315 MPS_INTI_FLAGS 316 UINT8 Lint; /* LINTn to which NMI is connected */ 317 318} MADT_LOCAL_APIC_NMI; 319 320typedef struct madt_address_override 321{ 322 APIC_HEADER_DEF | 277 278/* Sub-structures for MADT */ 279 280typedef struct madt_processor_apic 281{ 282 APIC_HEADER_DEF 283 UINT8 ProcessorId; /* ACPI processor id */ 284 UINT8 LocalApicId; /* Processor's local APIC id */ --- 36 unchanged lines hidden (view full) --- 321 MPS_INTI_FLAGS 322 UINT8 Lint; /* LINTn to which NMI is connected */ 323 324} MADT_LOCAL_APIC_NMI; 325 326typedef struct madt_address_override 327{ 328 APIC_HEADER_DEF |
323 UINT16 Reserved; /* Reserved - must be zero */ | 329 UINT16 Reserved; /* Reserved, must be zero */ |
324 UINT64 Address; /* APIC physical address */ 325 326} MADT_ADDRESS_OVERRIDE; 327 328typedef struct madt_io_sapic 329{ 330 APIC_HEADER_DEF 331 UINT8 IoSapicId; /* I/O SAPIC ID */ | 330 UINT64 Address; /* APIC physical address */ 331 332} MADT_ADDRESS_OVERRIDE; 333 334typedef struct madt_io_sapic 335{ 336 APIC_HEADER_DEF 337 UINT8 IoSapicId; /* I/O SAPIC ID */ |
332 UINT8 Reserved; /* Reserved - must be zero */ | 338 UINT8 Reserved; /* Reserved, must be zero */ |
333 UINT32 InterruptBase; /* Glocal interrupt for SAPIC start */ 334 UINT64 Address; /* SAPIC physical address */ 335 336} MADT_IO_SAPIC; 337 338typedef struct madt_local_sapic 339{ 340 APIC_HEADER_DEF 341 UINT8 ProcessorId; /* ACPI processor id */ 342 UINT8 LocalSapicId; /* SAPIC ID */ 343 UINT8 LocalSapicEid; /* SAPIC EID */ | 339 UINT32 InterruptBase; /* Glocal interrupt for SAPIC start */ 340 UINT64 Address; /* SAPIC physical address */ 341 342} MADT_IO_SAPIC; 343 344typedef struct madt_local_sapic 345{ 346 APIC_HEADER_DEF 347 UINT8 ProcessorId; /* ACPI processor id */ 348 UINT8 LocalSapicId; /* SAPIC ID */ 349 UINT8 LocalSapicEid; /* SAPIC EID */ |
344 UINT8 Reserved [3]; /* Reserved - must be zero */ | 350 UINT8 Reserved[3]; /* Reserved, must be zero */ |
345 LOCAL_APIC_FLAGS 346 UINT32 ProcessorUID; /* Numeric UID - ACPI 3.0 */ 347 char ProcessorUIDString[1]; /* String UID - ACPI 3.0 */ 348 349} MADT_LOCAL_SAPIC; 350 351typedef struct madt_interrupt_source 352{ --- 87 unchanged lines hidden --- | 351 LOCAL_APIC_FLAGS 352 UINT32 ProcessorUID; /* Numeric UID - ACPI 3.0 */ 353 char ProcessorUIDString[1]; /* String UID - ACPI 3.0 */ 354 355} MADT_LOCAL_SAPIC; 356 357typedef struct madt_interrupt_source 358{ --- 87 unchanged lines hidden --- |