summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev/acpica/actbl.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/contrib/dev/acpica/actbl.h')
-rw-r--r--sys/contrib/dev/acpica/actbl.h68
1 files changed, 37 insertions, 31 deletions
diff --git a/sys/contrib/dev/acpica/actbl.h b/sys/contrib/dev/acpica/actbl.h
index 9606f9b..1c8b9a6 100644
--- a/sys/contrib/dev/acpica/actbl.h
+++ b/sys/contrib/dev/acpica/actbl.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: actbl.h - Table data structures defined in ACPI specification
- * $Revision: 66 $
+ * $Revision: 1.72 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2005, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -159,15 +159,15 @@
*/
typedef struct rsdp_descriptor /* Root System Descriptor Pointer */
{
- char Signature [8]; /* ACPI signature, contains "RSD PTR " */
- UINT8 Checksum; /* To make sum of struct == 0 */
- char OemId [6]; /* OEM identification */
- UINT8 Revision; /* Must be 0 for 1.0, 2 for 2.0 */
- UINT32 RsdtPhysicalAddress; /* 32-bit physical address of RSDT */
- UINT32 Length; /* XSDT Length in bytes including hdr */
- UINT64 XsdtPhysicalAddress; /* 64-bit physical address of XSDT */
- UINT8 ExtendedChecksum; /* Checksum of entire table */
- char Reserved [3]; /* Reserved field must be 0 */
+ char Signature[8]; /* ACPI signature, contains "RSD PTR " */
+ UINT8 Checksum; /* ACPI 1.0 checksum */
+ char OemId[6]; /* OEM identification */
+ UINT8 Revision; /* Must be (0) for ACPI 1.0 or (2) for ACPI 2.0+ */
+ UINT32 RsdtPhysicalAddress; /* 32-bit physical address of the RSDT */
+ UINT32 Length; /* XSDT Length in bytes, including header */
+ UINT64 XsdtPhysicalAddress; /* 64-bit physical address of the XSDT */
+ UINT8 ExtendedChecksum; /* Checksum of entire table (ACPI 2.0) */
+ char Reserved[3]; /* Reserved, must be zero */
} RSDP_DESCRIPTOR;
@@ -182,15 +182,15 @@ typedef struct acpi_common_facs /* Common FACS for internal use */
#define ACPI_TABLE_HEADER_DEF /* ACPI common table header */ \
- char Signature [4]; /* ACPI signature (4 ASCII characters) */\
- UINT32 Length; /* Length of table, in bytes, including header */\
+ char Signature[4]; /* ASCII table signature */\
+ UINT32 Length; /* Length of table in bytes, including this header */\
UINT8 Revision; /* ACPI Specification minor version # */\
UINT8 Checksum; /* To make sum of entire table == 0 */\
- char OemId [6]; /* OEM identification */\
- char OemTableId [8]; /* OEM table identification */\
+ char OemId[6]; /* ASCII OEM identification */\
+ char OemTableId[8]; /* ASCII OEM table identification */\
UINT32 OemRevision; /* OEM revision number */\
- char AslCompilerId [4]; /* ASL compiler vendor ID */\
- UINT32 AslCompilerRevision; /* ASL compiler revision number */
+ char AslCompilerId [4]; /* ASCII ASL compiler vendor ID */\
+ UINT32 AslCompilerRevision; /* ASL compiler version */
typedef struct acpi_table_header /* ACPI common table header */
@@ -209,18 +209,20 @@ typedef struct acpi_table_header /* ACPI common table header */
#define DUAL_PIC 0
#define MULTIPLE_APIC 1
-
/* Master MADT */
typedef struct multiple_apic_table
{
ACPI_TABLE_HEADER_DEF /* ACPI common table header */
UINT32 LocalApicAddress; /* Physical address of local APIC */
- UINT32_BIT PCATCompat : 1; /* A one indicates system also has dual 8259s */
- UINT32_BIT Reserved1 : 31;
-} MULTIPLE_APIC_TABLE;
+ /* Flags (32 bits) */
+ UINT8_BIT PCATCompat : 1; /* 00: System also has dual 8259s */
+ UINT8_BIT : 7; /* 01-07: Reserved, must be zero */
+ UINT8 Reserved1[3]; /* 08-31: Reserved, must be zero */
+
+} MULTIPLE_APIC_TABLE;
/* Values for Type in APIC_HEADER_DEF */
@@ -260,16 +262,18 @@ typedef struct apic_header
#define TRIGGER_RESERVED 2
#define TRIGGER_LEVEL 3
-/* Common flag definitions */
+/* Common flag definitions (16 bits each) */
#define MPS_INTI_FLAGS \
- UINT16_BIT Polarity : 2; /* Polarity of APIC I/O input signals */\
- UINT16_BIT TriggerMode : 2; /* Trigger mode of APIC input signals */\
- UINT16_BIT Reserved1 : 12; /* Reserved, must be zero */
+ UINT8_BIT Polarity : 2; /* 00-01: Polarity of APIC I/O input signals */\
+ UINT8_BIT TriggerMode : 2; /* 02-03: Trigger mode of APIC input signals */\
+ UINT8_BIT : 4; /* 04-07: Reserved, must be zero */\
+ UINT8 Reserved1; /* 08-15: Reserved, must be zero */
#define LOCAL_APIC_FLAGS \
- UINT32_BIT ProcessorEnabled: 1; /* Processor is usable if set */\
- UINT32_BIT Reserved2 : 31; /* Reserved, must be zero */
+ UINT8_BIT ProcessorEnabled: 1; /* 00: Processor is usable if set */\
+ UINT8_BIT : 7; /* 01-07: Reserved, must be zero */\
+ UINT8 Reserved2; /* 08-15: Reserved, must be zero */
/* Sub-structures for MADT */
@@ -322,7 +326,7 @@ typedef struct madt_local_apic_nmi
typedef struct madt_address_override
{
APIC_HEADER_DEF
- UINT16 Reserved; /* Reserved - must be zero */
+ UINT16 Reserved; /* Reserved, must be zero */
UINT64 Address; /* APIC physical address */
} MADT_ADDRESS_OVERRIDE;
@@ -331,7 +335,7 @@ typedef struct madt_io_sapic
{
APIC_HEADER_DEF
UINT8 IoSapicId; /* I/O SAPIC ID */
- UINT8 Reserved; /* Reserved - must be zero */
+ UINT8 Reserved; /* Reserved, must be zero */
UINT32 InterruptBase; /* Glocal interrupt for SAPIC start */
UINT64 Address; /* SAPIC physical address */
@@ -343,8 +347,10 @@ typedef struct madt_local_sapic
UINT8 ProcessorId; /* ACPI processor id */
UINT8 LocalSapicId; /* SAPIC ID */
UINT8 LocalSapicEid; /* SAPIC EID */
- UINT8 Reserved [3]; /* Reserved - must be zero */
+ UINT8 Reserved[3]; /* Reserved, must be zero */
LOCAL_APIC_FLAGS
+ UINT32 ProcessorUID; /* Numeric UID - ACPI 3.0 */
+ char ProcessorUIDString[1]; /* String UID - ACPI 3.0 */
} MADT_LOCAL_SAPIC;
@@ -357,7 +363,7 @@ typedef struct madt_interrupt_source
UINT8 ProcessorEid; /* Processor EID */
UINT8 IoSapicVector; /* Vector value for PMI interrupts */
UINT32 Interrupt; /* Global system interrupt */
- UINT32 Reserved; /* Reserved - must be zero */
+ UINT32 Flags; /* Interrupt Source Flags */
} MADT_INTERRUPT_SOURCE;
OpenPOWER on IntegriCloud