]> git.proxmox.com Git - mirror_edk2.git/commitdiff
DynamicTablesPkg: Update FADT generator to ACPI 6.3
authorSami Mujawar <sami.mujawar@arm.com>
Fri, 16 Aug 2019 11:19:29 +0000 (12:19 +0100)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Thu, 26 Mar 2020 17:48:44 +0000 (17:48 +0000)
Update FADT table generator to support ACPI revision 6.3

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c

index e9e4991dc127abb97f859436df0c4ceafdb3f5ec..1f05a04c7cab0ce3d1264e34d9d0ef252277d81e 100644 (file)
@@ -5,7 +5,7 @@
   SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
   @par Reference(s):\r
-  - ACPI 6.2 Specification - Errata A, September 2017\r
+  - ACPI 6.3 Specification, January 2019\r
 \r
 **/\r
 \r
@@ -32,8 +32,8 @@ Requirements:
 \r
 /** This macro defines the FADT flag options for ARM Platforms.\r
 */\r
-#define FADT_FLAGS  (EFI_ACPI_6_2_HW_REDUCED_ACPI |          \\r
-                     EFI_ACPI_6_2_LOW_POWER_S0_IDLE_CAPABLE)\r
+#define FADT_FLAGS  (EFI_ACPI_6_3_HW_REDUCED_ACPI |          \\r
+                     EFI_ACPI_6_3_LOW_POWER_S0_IDLE_CAPABLE)\r
 \r
 /** This macro defines the valid mask for the FADT flag option\r
     if HW_REDUCED_ACPI flag in the table is set.\r
@@ -42,47 +42,47 @@ Requirements:
     22-31 (reserved).\r
 \r
   Valid bits are:\r
-    EFI_ACPI_6_2_WBINVD                               BIT0\r
-    EFI_ACPI_6_2_PWR_BUTTON                           BIT4\r
-    EFI_ACPI_6_2_SLP_BUTTON                           BIT5\r
-    EFI_ACPI_6_2_FIX_RTC                              BIT6\r
-    EFI_ACPI_6_2_DCK_CAP                              BIT9\r
-    EFI_ACPI_6_2_RESET_REG_SUP                        BIT10\r
-    EFI_ACPI_6_2_SEALED_CASE                          BIT11\r
-    EFI_ACPI_6_2_HEADLESS                             BIT12\r
-    EFI_ACPI_6_2_USE_PLATFORM_CLOCK                   BIT15\r
-    EFI_ACPI_6_2_FORCE_APIC_CLUSTER_MODEL             BIT18\r
-    EFI_ACPI_6_2_FORCE_APIC_PHYSICAL_DESTINATION_MODE BIT19\r
-    EFI_ACPI_6_2_HW_REDUCED_ACPI                      BIT20\r
-    EFI_ACPI_6_2_LOW_POWER_S0_IDLE_CAPABLE            BIT21\r
+    EFI_ACPI_6_3_WBINVD                               BIT0\r
+    EFI_ACPI_6_3_PWR_BUTTON                           BIT4\r
+    EFI_ACPI_6_3_SLP_BUTTON                           BIT5\r
+    EFI_ACPI_6_3_FIX_RTC                              BIT6\r
+    EFI_ACPI_6_3_DCK_CAP                              BIT9\r
+    EFI_ACPI_6_3_RESET_REG_SUP                        BIT10\r
+    EFI_ACPI_6_3_SEALED_CASE                          BIT11\r
+    EFI_ACPI_6_3_HEADLESS                             BIT12\r
+    EFI_ACPI_6_3_USE_PLATFORM_CLOCK                   BIT15\r
+    EFI_ACPI_6_3_FORCE_APIC_CLUSTER_MODEL             BIT18\r
+    EFI_ACPI_6_3_FORCE_APIC_PHYSICAL_DESTINATION_MODE BIT19\r
+    EFI_ACPI_6_3_HW_REDUCED_ACPI                      BIT20\r
+    EFI_ACPI_6_3_LOW_POWER_S0_IDLE_CAPABLE            BIT21\r
 */\r
 #define VALID_HARDWARE_REDUCED_FLAG_MASK  (                   \\r
-          EFI_ACPI_6_2_WBINVD                               | \\r
-          EFI_ACPI_6_2_PWR_BUTTON                           | \\r
-          EFI_ACPI_6_2_SLP_BUTTON                           | \\r
-          EFI_ACPI_6_2_FIX_RTC                              | \\r
-          EFI_ACPI_6_2_DCK_CAP                              | \\r
-          EFI_ACPI_6_2_RESET_REG_SUP                        | \\r
-          EFI_ACPI_6_2_SEALED_CASE                          | \\r
-          EFI_ACPI_6_2_HEADLESS                             | \\r
-          EFI_ACPI_6_2_USE_PLATFORM_CLOCK                   | \\r
-          EFI_ACPI_6_2_FORCE_APIC_CLUSTER_MODEL             | \\r
-          EFI_ACPI_6_2_FORCE_APIC_PHYSICAL_DESTINATION_MODE | \\r
-          EFI_ACPI_6_2_HW_REDUCED_ACPI                      | \\r
-          EFI_ACPI_6_2_LOW_POWER_S0_IDLE_CAPABLE)\r
+          EFI_ACPI_6_3_WBINVD                               | \\r
+          EFI_ACPI_6_3_PWR_BUTTON                           | \\r
+          EFI_ACPI_6_3_SLP_BUTTON                           | \\r
+          EFI_ACPI_6_3_FIX_RTC                              | \\r
+          EFI_ACPI_6_3_DCK_CAP                              | \\r
+          EFI_ACPI_6_3_RESET_REG_SUP                        | \\r
+          EFI_ACPI_6_3_SEALED_CASE                          | \\r
+          EFI_ACPI_6_3_HEADLESS                             | \\r
+          EFI_ACPI_6_3_USE_PLATFORM_CLOCK                   | \\r
+          EFI_ACPI_6_3_FORCE_APIC_CLUSTER_MODEL             | \\r
+          EFI_ACPI_6_3_FORCE_APIC_PHYSICAL_DESTINATION_MODE | \\r
+          EFI_ACPI_6_3_HW_REDUCED_ACPI                      | \\r
+          EFI_ACPI_6_3_LOW_POWER_S0_IDLE_CAPABLE)\r
 \r
 #pragma pack(1)\r
 \r
-/** The AcpiFadt is a template EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE\r
+/** The AcpiFadt is a template EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE\r
     structure used for generating the FADT Table.\r
   Note: fields marked with "{Template}" will be updated dynamically.\r
 */\r
 STATIC\r
-EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE AcpiFadt = {\r
+EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE AcpiFadt = {\r
   ACPI_HEADER (\r
-    EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,\r
-    EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE,\r
-    EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_REVISION\r
+    EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,\r
+    EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE,\r
+    EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_REVISION\r
     ),\r
   // UINT32     FirmwareCtrl\r
   0,\r
@@ -91,7 +91,7 @@ EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE AcpiFadt = {
   // UINT8      Reserved0\r
   EFI_ACPI_RESERVED_BYTE,\r
   // UINT8      PreferredPmProfile\r
-  EFI_ACPI_6_2_PM_PROFILE_UNSPECIFIED,  // {Template}: Power Management Profile\r
+  EFI_ACPI_6_3_PM_PROFILE_UNSPECIFIED,  // {Template}: Power Management Profile\r
   // UINT16     SciInt\r
   0,\r
   // UINT32     SmiCmd\r
@@ -160,37 +160,37 @@ EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE AcpiFadt = {
   0,\r
   // UINT32     Flags\r
   FADT_FLAGS,\r
-  // EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE  ResetReg\r
+  // EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE  ResetReg\r
   NULL_GAS,\r
   // UINT8      ResetValue\r
   0,\r
   // UINT16     ArmBootArch\r
-  EFI_ACPI_6_2_ARM_PSCI_COMPLIANT,  // {Template}: ARM Boot Architecture Flags\r
+  EFI_ACPI_6_3_ARM_PSCI_COMPLIANT,  // {Template}: ARM Boot Architecture Flags\r
   // UINT8      MinorRevision\r
-  EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION,\r
+  EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_MINOR_REVISION,\r
   // UINT64     XFirmwareCtrl\r
   0,\r
   // UINT64     XDsdt\r
   0,\r
-  // EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE  XPm1aEvtBlk\r
+  // EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE  XPm1aEvtBlk\r
   NULL_GAS,\r
-  // EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE  XPm1bEvtBlk\r
+  // EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE  XPm1bEvtBlk\r
   NULL_GAS,\r
-  // EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE  XPm1aCntBlk\r
+  // EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE  XPm1aCntBlk\r
   NULL_GAS,\r
-  // EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE  XPm1bCntBlk\r
+  // EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE  XPm1bCntBlk\r
   NULL_GAS,\r
-  // EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE  XPm2CntBlk\r
+  // EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE  XPm2CntBlk\r
   NULL_GAS,\r
-  // EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE  XPmTmrBlk\r
+  // EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE  XPmTmrBlk\r
   NULL_GAS,\r
-  // EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE  XGpe0Blk\r
+  // EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE  XGpe0Blk\r
   NULL_GAS,\r
-  // EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE  XGpe1Blk\r
+  // EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE  XGpe1Blk\r
   NULL_GAS,\r
-  // EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE  SleepControlReg\r
+  // EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE  SleepControlReg\r
   NULL_GAS,\r
-  // EFI_ACPI_6_2_GENERIC_ADDRESS_STRUCTURE  SleepStatusReg\r
+  // EFI_ACPI_6_3_GENERIC_ADDRESS_STRUCTURE  SleepStatusReg\r
   NULL_GAS,\r
   // UINT64     HypervisorVendorIdentity\r
   EFI_ACPI_RESERVED_QWORD  // {Template}: Hypervisor Vendor ID\r
@@ -532,7 +532,7 @@ BuildFadtTable (
              This,\r
              (EFI_ACPI_DESCRIPTION_HEADER*)&AcpiFadt,\r
              AcpiTableInfo,\r
-             sizeof (EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE)\r
+             sizeof (EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE)\r
              );\r
   if (EFI_ERROR (Status)) {\r
     DEBUG ((\r
@@ -614,9 +614,9 @@ ACPI_TABLE_GENERATOR FadtGenerator = {
   // Generator Description\r
   L"ACPI.STD.FADT.GENERATOR",\r
   // ACPI Table Signature\r
-  EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,\r
+  EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_SIGNATURE,\r
   // ACPI Table Revision supported by this Generator\r
-  EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_REVISION,\r
+  EFI_ACPI_6_3_FIXED_ACPI_DESCRIPTION_TABLE_REVISION,\r
   // Minimum supported ACPI Table Revision\r
   EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE_REVISION,\r
   // Creator ID\r