/** @file \r
- ACPI 1.0b definitions from the ACPI Specification, revision 1.0b\r
+ ACPI 1.0b definitions from the ACPI Specification, revision 1.0b\r
\r
Copyright (c) 2006 - 2008, Intel Corporation\r
All rights reserved. This program and the accompanying materials \r
UINT32 Length;\r
} EFI_ACPI_COMMON_HEADER;\r
\r
-//\r
-// Common ACPI description table header. This structure prefaces most ACPI tables.\r
-//\r
#pragma pack(1)\r
-\r
+///\r
+/// Common ACPI description table header. This structure prefaces most ACPI tables.\r
+///\r
typedef struct {\r
UINT32 Signature;\r
UINT32 Length;\r
UINT32 CreatorId;\r
UINT32 CreatorRevision;\r
} EFI_ACPI_DESCRIPTION_HEADER;\r
-\r
#pragma pack()\r
+\r
//\r
// Define for Desriptor\r
//\r
///\r
#define ACPI_TIMER_FREQUENCY 3579545\r
\r
-\r
//\r
-// The commond definition of QWORD, DWORD, and WORD\r
-// Address Space Descriptors\r
+// Ensure proper structure formats\r
//\r
-typedef struct {\r
+#pragma pack(1)\r
+\r
+///\r
+/// The commond definition of QWORD, DWORD, and WORD\r
+/// Address Space Descriptors\r
+///\r
+typedef PACKED struct {\r
UINT8 Desc;\r
UINT16 Len;\r
UINT8 ResType;\r
UINT64 AddrLen;\r
} EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR;\r
\r
+#pragma pack()\r
+\r
+///\r
+/// the End tag identifies an end of resource data.\r
+///\r
typedef struct {\r
UINT8 Desc;\r
UINT8 Checksum;\r
// Fixed ACPI Description Table Fixed Feature Flags\r
// All other bits are reserved and must be set to 0.\r
//\r
-#define EFI_ACPI_1_0_WBINVD (1 << 0)\r
-#define EFI_ACPI_1_0_WBINVD_FLUSH (1 << 1)\r
-#define EFI_ACPI_1_0_PROC_C1 (1 << 2)\r
-#define EFI_ACPI_1_0_P_LVL2_UP (1 << 3)\r
-#define EFI_ACPI_1_0_PWR_BUTTON (1 << 4)\r
-#define EFI_ACPI_1_0_SLP_BUTTON (1 << 5)\r
-#define EFI_ACPI_1_0_FIX_RTC (1 << 6)\r
-#define EFI_ACPI_1_0_RTC_S4 (1 << 7)\r
-#define EFI_ACPI_1_0_TMR_VAL_EXT (1 << 8)\r
-#define EFI_ACPI_1_0_DCK_CAP (1 << 9)\r
+#define EFI_ACPI_1_0_WBINVD BIT0\r
+#define EFI_ACPI_1_0_WBINVD_FLUSH BIT1\r
+#define EFI_ACPI_1_0_PROC_C1 BIT2\r
+#define EFI_ACPI_1_0_P_LVL2_UP BIT3\r
+#define EFI_ACPI_1_0_PWR_BUTTON BIT4\r
+#define EFI_ACPI_1_0_SLP_BUTTON BIT5\r
+#define EFI_ACPI_1_0_FIX_RTC BIT6\r
+#define EFI_ACPI_1_0_RTC_S4 BIT7\r
+#define EFI_ACPI_1_0_TMR_VAL_EXT BIT8\r
+#define EFI_ACPI_1_0_DCK_CAP BIT9\r
\r
///\r
/// Firmware ACPI Control Structure\r
/// Firmware Control Structure Feature Flags\r
/// All other bits are reserved and must be set to 0.\r
///\r
-#define EFI_ACPI_1_0_S4BIOS_F (1 << 0)\r
+#define EFI_ACPI_1_0_S4BIOS_F BIT0\r
\r
///\r
/// Multiple APIC Description Table header definition. The rest of the table\r
/// Multiple APIC Flags\r
/// All other bits are reserved and must be set to 0.\r
///\r
-#define EFI_ACPI_1_0_PCAT_COMPAT (1 << 0)\r
+#define EFI_ACPI_1_0_PCAT_COMPAT BIT0\r
\r
//\r
// Multiple APIC Description Table APIC structure types\r
///\r
/// Local APIC Flags. All other bits are reserved and must be 0.\r
///\r
-#define EFI_ACPI_1_0_LOCAL_APIC_ENABLED (1 << 0)\r
+#define EFI_ACPI_1_0_LOCAL_APIC_ENABLED BIT0\r
\r
///\r
/// IO APIC Structure\r
///\r
/// "RSD PTR " Root System Description Pointer\r
///\r
-#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE 0x2052545020445352ULL\r
+#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_POINTER_SIGNATURE SIGNATURE_64('R', 'S', 'D', ' ', 'P', 'T', 'R', ' ')\r
\r
///\r
/// "APIC" Multiple APIC Description Table\r
///\r
-#define EFI_ACPI_1_0_APIC_SIGNATURE 0x43495041\r
+#define EFI_ACPI_1_0_APIC_SIGNATURE SIGNATURE_32('A', 'P', 'I', 'C')\r
\r
///\r
/// "DSDT" Differentiated System Description Table\r
///\r
-#define EFI_ACPI_1_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445344\r
+#define EFI_ACPI_1_0_DIFFERENTIATED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('D', 'S', 'D', 'T')\r
\r
///\r
/// "FACS" Firmware ACPI Control Structure\r
///\r
-#define EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE 0x53434146\r
+#define EFI_ACPI_1_0_FIRMWARE_ACPI_CONTROL_STRUCTURE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'S')\r
\r
///\r
/// "FACP" Fixed ACPI Description Table\r
///\r
-#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE 0x50434146\r
+#define EFI_ACPI_1_0_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('F', 'A', 'C', 'P')\r
\r
///\r
/// "PSDT" Persistent System Description Table\r
///\r
-#define EFI_ACPI_1_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445350\r
+#define EFI_ACPI_1_0_PERSISTENT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('P', 'S', 'D', 'T')\r
\r
///\r
/// "RSDT" Root System Description Table\r
///\r
-#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445352\r
+#define EFI_ACPI_1_0_ROOT_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('R', 'S', 'D', 'T')\r
\r
///\r
/// "SBST" Smart Battery Specification Table\r
///\r
-#define EFI_ACPI_1_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE 0x54534253\r
+#define EFI_ACPI_1_0_SMART_BATTERY_SPECIFICATION_TABLE_SIGNATURE SIGNATURE_32('S', 'B', 'S', 'T')\r
\r
///\r
/// "SSDT" Secondary System Description Table\r
///\r
-#define EFI_ACPI_1_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE 0x54445353\r
+#define EFI_ACPI_1_0_SECONDARY_SYSTEM_DESCRIPTION_TABLE_SIGNATURE SIGNATURE_32('S', 'S', 'D', 'T')\r
\r
#pragma pack()\r
\r