]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/IndustryStandard/Acpi30.h
MdePkg: Fix ACPI NFIT GUID definitions
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / Acpi30.h
index 207f060bee6b708bc199038455e79c5ebb605ebd..c47d1a28a03b755c582d9747ba77c8b7f7b9ba2d 100644 (file)
@@ -1,8 +1,8 @@
 /** @file   \r
-  ACPI 3.0 definitions from the ACPI Specification Revision 3.0b October 10, 2006.\r
+  ACPI 3.0 definitions from the ACPI Specification Revision 3.0b October 10, 2006\r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation\r
-  All rights reserved. This program and the accompanying materials                          \r
+  Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
+  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
 #include <IndustryStandard/Acpi20.h>\r
 \r
+//\r
+// Define for Desriptor\r
+//\r
+#define ACPI_LARGE_EXTENDED_ADDRESS_SPACE_DESCRIPTOR_NAME    0x0B\r
+\r
+#define ACPI_EXTENDED_ADDRESS_SPACE_DESCRIPTOR    0x8B\r
+\r
+//\r
+// Ensure proper structure formats\r
+//\r
+#pragma pack(1)\r
+\r
+///\r
+/// Extended Address Space Descriptor\r
+///\r
+typedef PACKED struct {\r
+  ACPI_LARGE_RESOURCE_HEADER    Header;\r
+  UINT8                         ResType;\r
+  UINT8                         GenFlag;\r
+  UINT8                         SpecificFlag;\r
+  UINT8                         RevisionId;\r
+  UINT8                         Reserved;\r
+  UINT64                        AddrSpaceGranularity;\r
+  UINT64                        AddrRangeMin;\r
+  UINT64                        AddrRangeMax;\r
+  UINT64                        AddrTranslationOffset;\r
+  UINT64                        AddrLen;\r
+  UINT64                        TypeSpecificAttribute;\r
+} EFI_ACPI_EXTENDED_ADDRESS_SPACE_DESCRIPTOR;\r
+\r
+#pragma pack()\r
+\r
+//\r
+// Memory Type Specific Flags\r
+//\r
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_UC  0x0000000000000001\r
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_WC  0x0000000000000002\r
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_WT  0x0000000000000004\r
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_WB  0x0000000000000008\r
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_UCE 0x0000000000000010\r
+#define EFI_ACPI_MEMORY_TYPE_SPECIFIC_ATTRIBUTES_NV  0x0000000000008000\r
+\r
 //\r
 // Ensure proper structure formats\r
 //\r
@@ -31,8 +73,6 @@ typedef struct {
   UINT8   AccessSize;\r
   UINT64  Address;\r
 } EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE;\r
-     \r
-#pragma pack()\r
 \r
 //\r
 // Generic Address Space Address IDs\r
@@ -108,10 +148,6 @@ typedef struct {
 ///\r
 #define EFI_ACPI_3_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_REVISION 0x01\r
 \r
-//           \r
-// Ensure proper structure formats\r
-//           \r
-#pragma pack(1)\r
 ///\r
 /// Fixed ACPI Description Table Structure (FADT)\r
 ///\r
@@ -169,7 +205,6 @@ typedef struct {
   EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE  XGpe0Blk;\r
   EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE  XGpe1Blk;\r
 } EFI_ACPI_3_0_FIXED_ACPI_DESCRIPTION_TABLE;\r
-#pragma pack()\r
 \r
 ///\r
 /// FADT Version (as defined in ACPI 3.0 spec.)\r
@@ -372,11 +407,6 @@ typedef struct {
   UINT16  Flags;\r
   UINT32  GlobalSystemInterrupt;\r
 } EFI_ACPI_3_0_NON_MASKABLE_INTERRUPT_SOURCE_STRUCTURE;\r
-  \r
-//\r
-// Ensure proper structure formats\r
-//\r
-#pragma pack(1)\r
 \r
 ///\r
 /// Local APIC NMI Structure\r
@@ -399,8 +429,6 @@ typedef struct {
   UINT64  LocalApicAddress;\r
 } EFI_ACPI_3_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE;\r
 \r
-#pragma pack()\r
-\r
 ///\r
 /// IO SAPIC Structure\r
 ///\r
@@ -524,10 +552,6 @@ typedef struct {
 ///\r
 #define EFI_ACPI_3_0_PROCESSOR_LOCAL_APIC_SAPIC_ENABLED (1 << 0)\r
 \r
-//\r
-// Ensure proper structure formats\r
-//\r
-#pragma pack(1)\r
 ///\r
 /// Memory Affinity Structure Definition\r
 ///\r
@@ -545,8 +569,6 @@ typedef struct {
   UINT64  Reserved3;\r
 } EFI_ACPI_3_0_MEMORY_AFFINITY_STRUCTURE;\r
 \r
-#pragma pack()\r
-\r
 //\r
 // Memory Flags.  All other bits are reserved and must be 0.\r
 //\r
@@ -644,7 +666,6 @@ typedef struct {
 \r
 ///\r
 /// "CPEP" Corrected Platform Error Polling Table\r
-/// See\r
 ///\r
 #define EFI_ACPI_3_0_CORRECTED_PLATFORM_ERROR_POLLING_TABLE_SIGNATURE  SIGNATURE_32('C', 'P', 'E', 'P')\r
 \r
@@ -693,9 +714,16 @@ typedef struct {
 ///\r
 #define EFI_ACPI_3_0_WATCHDOG_ACTION_TABLE_SIGNATURE  SIGNATURE_32('W', 'D', 'A', 'T')\r
 \r
+///\r
+/// "WSPT" Windows Specific Properties Table\r
+///\r
+#define EFI_ACPI_3_0_WINDOWS_SPECIFIC_PROPERTIES_TABLE_SIGNATURE  SIGNATURE_32('W', 'S', 'P', 'T')\r
+\r
 ///\r
 /// "iBFT" iSCSI Boot Firmware Table\r
 ///\r
 #define EFI_ACPI_3_0_ISCSI_BOOT_FIRMWARE_TABLE_SIGNATURE  SIGNATURE_32('i', 'B', 'F', 'T')\r
 \r
+#pragma pack()\r
+\r
 #endif\r