--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation \r
+All rights reserved. This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
+ \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+Module Name:\r
+ \r
+ AcpiDescription.h\r
+ \r
+Abstract:\r
+\r
+\r
+ GUIDs used for ACPI Description\r
+\r
+--*/\r
+\r
+#ifndef _EFI_ACPI_DESCRIPTION_H_\r
+#define _EFI_ACPI_DESCRIPTION_H_\r
+\r
+#define EFI_ACPI_DESCRIPTION_GUID \\r
+ { \\r
+ 0x3c699197, 0x93c, 0x4c69, 0xb0, 0x6b, 0x12, 0x8a, 0xe3, 0x48, 0x1d, 0xc9 \\r
+ }\r
+\r
+typedef struct {\r
+ UINT8 AddressSpaceId;\r
+ UINT8 RegisterBitWidth;\r
+ UINT8 RegisterBitOffset;\r
+ UINT8 AccessSize;\r
+ UINT64 Address;\r
+} EFI_ACPI_GENERIC_ADDRESS_STRUCTURE;\r
+\r
+#define ACPI_ADDRESS_ID_MEMORY 0\r
+#define ACPI_ADDRESS_ID_IO 1\r
+#define ACPI_ADDRESS_ID_PCI 2\r
+#define ACPI_ADDRESS_ID_EC 3\r
+#define ACPI_ADDRESS_ID_SMBUS 4\r
+\r
+#define ACPI_ADDRESS_ACCESS_ANY 0\r
+#define ACPI_ADDRESS_ACCESS_BYTE 1\r
+#define ACPI_ADDRESS_ACCESS_WORD 2\r
+#define ACPI_ADDRESS_ACCESS_DWORD 3\r
+#define ACPI_ADDRESS_ACCESS_QWORD 4\r
+\r
+//\r
+// Following structure defines ACPI Description information.\r
+// This information is platform specific, may be consumed by DXE generic driver.\r
+//\r
+#pragma pack(1)\r
+typedef struct _EFI_ACPI_DESCRIPTION {\r
+ //\r
+ // For Timer\r
+ //\r
+ EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM_TMR_BLK;\r
+ UINT8 PM_TMR_LEN;\r
+ UINT8 TMR_VAL_EXT;\r
+\r
+ //\r
+ // For RTC\r
+ //\r
+ UINT8 DAY_ALRM;\r
+ UINT8 MON_ALRM;\r
+ UINT8 CENTURY;\r
+\r
+ //\r
+ // For Reset\r
+ //\r
+ EFI_ACPI_GENERIC_ADDRESS_STRUCTURE RESET_REG;\r
+ UINT8 RESET_VALUE;\r
+\r
+ //\r
+ // For Shutdown\r
+ //\r
+ EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM1a_EVT_BLK;\r
+ EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM1b_EVT_BLK;\r
+ EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM1a_CNT_BLK;\r
+ EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM1b_CNT_BLK;\r
+ EFI_ACPI_GENERIC_ADDRESS_STRUCTURE PM2_CNT_BLK;\r
+ UINT8 PM1_EVT_LEN;\r
+ UINT8 PM1_CNT_LEN;\r
+ UINT8 PM2_CNT_LEN;\r
+ UINT8 SLP_TYPa;\r
+ UINT8 SLP_TYPb;\r
+\r
+ //\r
+ // For sleep\r
+ //\r
+ UINT8 SLP1_TYPa;\r
+ UINT8 SLP1_TYPb;\r
+ UINT8 SLP2_TYPa;\r
+ UINT8 SLP2_TYPb;\r
+ UINT8 SLP3_TYPa;\r
+ UINT8 SLP3_TYPb;\r
+ UINT8 SLP4_TYPa;\r
+ UINT8 SLP4_TYPb;\r
+\r
+ //\r
+ // GPE\r
+ //\r
+ EFI_ACPI_GENERIC_ADDRESS_STRUCTURE GPE0_BLK;\r
+ EFI_ACPI_GENERIC_ADDRESS_STRUCTURE GPE1_BLK;\r
+ UINT8 GPE0_BLK_LEN;\r
+ UINT8 GPE1_BLK_LEN;\r
+ UINT8 GPE1_BASE;\r
+\r
+ //\r
+ // IAPC Boot Arch\r
+ //\r
+ UINT16 IAPC_BOOT_ARCH;\r
+\r
+ //\r
+ // Flags\r
+ //\r
+ UINT32 Flags;\r
+\r
+} EFI_ACPI_DESCRIPTION;\r
+#pragma pack()\r
+\r
+extern EFI_GUID gEfiAcpiDescriptionGuid;\r
+\r
+#endif\r