]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/IndustryStandard/Acpi20.h
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / Acpi20.h
index 4476bf9f22d469abde3b322417cb6fd5eb1b4fa6..8a0adbbb6a974e314de30c1130c7410aeaf95048 100644 (file)
@@ -1,14 +1,8 @@
-/** @file   \r
-       ACPI 2.0 definitions from the ACPI Specification, revision 2.0\r
+/** @file\r
+  ACPI 2.0 definitions from the ACPI Specification, revision 2.0\r
 \r
-  Copyright (c) 2006 - 2008, 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
+  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 **/\r
 \r
 #ifndef _ACPI_2_0_H_\r
 \r
 #include <IndustryStandard/Acpi10.h>\r
 \r
+//\r
+// Define for Desriptor\r
+//\r
+#define ACPI_LARGE_GENERIC_REGISTER_DESCRIPTOR_NAME          0x02\r
+\r
+#define ACPI_GENERIC_REGISTER_DESCRIPTOR          0x82\r
+\r
+//\r
+// Ensure proper structure formats\r
+//\r
+#pragma pack(1)\r
+\r
+///\r
+/// Generic Register Descriptor\r
+///\r
+typedef PACKED struct {\r
+  ACPI_LARGE_RESOURCE_HEADER    Header;\r
+  UINT8                         AddressSpaceId;\r
+  UINT8                         RegisterBitWidth;\r
+  UINT8                         RegisterBitOffset;\r
+  UINT8                         AddressSize;\r
+  UINT64                        RegisterAddress;\r
+} EFI_ACPI_GENERIC_REGISTER_DESCRIPTOR;\r
+\r
+#pragma pack()\r
+\r
 //\r
 // Ensure proper structure formats\r
 //\r
@@ -32,8 +52,6 @@ typedef struct {
   UINT64  Address;\r
 } EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE;\r
 \r
-#pragma pack()\r
-\r
 //\r
 // Generic Address Space Address IDs\r
 //\r
@@ -79,7 +97,7 @@ typedef struct {
 \r
 //\r
 // Root System Description Table\r
-// No definition needed as it is a common description table header, the same with \r
+// No definition needed as it is a common description table header, the same with\r
 // EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT32 table pointers.\r
 //\r
 \r
@@ -90,7 +108,7 @@ typedef struct {
 \r
 //\r
 // Extended System Description Table\r
-// No definition needed as it is a common description table header, the same with \r
+// No definition needed as it is a common description table header, the same with\r
 // EFI_ACPI_DESCRIPTION_HEADER, followed by a variable number of UINT64 table pointers.\r
 //\r
 \r
@@ -99,10 +117,6 @@ typedef struct {
 ///\r
 #define EFI_ACPI_2_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
@@ -160,13 +174,23 @@ typedef struct {
   EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE  XGpe0Blk;\r
   EFI_ACPI_2_0_GENERIC_ADDRESS_STRUCTURE  XGpe1Blk;\r
 } EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE;\r
-#pragma pack()\r
 \r
 ///\r
 /// FADT Version (as defined in ACPI 2.0 spec.)\r
 ///\r
 #define EFI_ACPI_2_0_FIXED_ACPI_DESCRIPTION_TABLE_REVISION  0x03\r
 \r
+//\r
+// Fixed ACPI Description Table Preferred Power Management Profile\r
+//\r
+#define EFI_ACPI_2_0_PM_PROFILE_UNSPECIFIED         0\r
+#define EFI_ACPI_2_0_PM_PROFILE_DESKTOP             1\r
+#define EFI_ACPI_2_0_PM_PROFILE_MOBILE              2\r
+#define EFI_ACPI_2_0_PM_PROFILE_WORKSTATION         3\r
+#define EFI_ACPI_2_0_PM_PROFILE_ENTERPRISE_SERVER   4\r
+#define EFI_ACPI_2_0_PM_PROFILE_SOHO_SERVER         5\r
+#define EFI_ACPI_2_0_PM_PROFILE_APPLIANCE_PC        6\r
+\r
 //\r
 // Fixed ACPI Description Table Boot Architecture Flags\r
 // All other bits are reserved and must be set to 0.\r
@@ -309,11 +333,6 @@ typedef struct {
   UINT32  GlobalSystemInterrupt;\r
 } EFI_ACPI_2_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
 ///\r
@@ -335,8 +354,6 @@ typedef struct {
   UINT64  LocalApicAddress;\r
 } EFI_ACPI_2_0_LOCAL_APIC_ADDRESS_OVERRIDE_STRUCTURE;\r
 \r
-#pragma pack()\r
-\r
 ///\r
 /// IO SAPIC Structure\r
 ///\r
@@ -425,7 +442,7 @@ typedef struct {
 /// BUGBUG: Don't know where this came from except SR870BN4 uses it.\r
 /// #define EFI_ACPI_2_0_MULTIPLE_SAPIC_DESCRIPTION_TABLE_SIGNATURE 0x43495053\r
 ///\r
-#define EFI_ACPI_2_0_MULTIPLE_SAPIC_DESCRIPTION_TABLE_SIGNATURE  SIGNATURE_32('S', 'P', 'I', 'C')\r
+#define EFI_ACPI_2_0_MULTIPLE_SAPIC_DESCRIPTION_TABLE_SIGNATURE  SIGNATURE_32('A', 'P', 'I', 'C')\r
 \r
 ///\r
 /// "BOOT" MS Simple Boot Spec\r
@@ -513,8 +530,10 @@ typedef struct {
 #define EFI_ACPI_2_0_EXTENDED_SYSTEM_DESCRIPTION_TABLE_SIGNATURE  SIGNATURE_32('X', 'S', 'D', 'T')\r
 \r
 ///\r
-/// "MCFG" Static Resource Affinity Table\r
+/// "MCFG" PCI Express Memory Mapped Configuration Space Base Address Description Table\r
 ///\r
 #define EFI_ACPI_2_0_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_SIGNATURE  SIGNATURE_32('M', 'C', 'F', 'G')\r
 \r
+#pragma pack()\r
+\r
 #endif\r