Explorar el Código

SimicsOpenBoardPkg/AcpiPlatform: Use FADT duty offset and width PCDs

REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3543

Updates the FADT DUTY_OFFSET and DUTY_WIDTH values during boot in the
function PlatformUpdateTables() along with other previously updated
values in the FADT.

Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
Reviewed-by: Ankit Sinha <ankit.sinha@intel.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
Michael Kubacki hace 2 años
padre
commit
61af47078e

+ 3 - 0
Platform/Intel/SimicsOpenBoardPkg/AcpiTables/MinPlatformAcpiTables/AcpiPlatform.c

@@ -1328,6 +1328,9 @@ PlatformUpdateTables (
       FadtHeader->XGpe1Blk.AccessSize = 0;
     }
 
+    FadtHeader->DutyOffset = PcdGet8 (PcdFadtDutyOffset);
+    FadtHeader->DutyWidth = PcdGet8 (PcdFadtDutyWidth);
+
     DEBUG(( EFI_D_ERROR, "ACPI FADT table @ address 0x%x\n", Table ));
     DEBUG(( EFI_D_ERROR, "  IaPcBootArch 0x%x\n", FadtHeader->IaPcBootArch ));
     DEBUG(( EFI_D_ERROR, "  Flags 0x%x\n", FadtHeader->Flags ));

+ 2 - 0
Platform/Intel/SimicsOpenBoardPkg/AcpiTables/MinPlatformAcpiTables/AcpiPlatform.inf

@@ -61,6 +61,8 @@
   gMinPlatformPkgTokenSpaceGuid.PcdFadtPreferredPmProfile
   gMinPlatformPkgTokenSpaceGuid.PcdFadtIaPcBootArch
   gMinPlatformPkgTokenSpaceGuid.PcdFadtFlags
+  gMinPlatformPkgTokenSpaceGuid.PcdFadtDutyOffset
+  gMinPlatformPkgTokenSpaceGuid.PcdFadtDutyWidth
 
   gPcAtChipsetPkgTokenSpaceGuid.PcdHpetBaseAddress
   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress

+ 2 - 2
Platform/Intel/SimicsOpenBoardPkg/AcpiTables/MinPlatformAcpiTables/Fadt/Fadt.c

@@ -34,8 +34,8 @@
 #define EFI_ACPI_P_LVL3_LAT           0x03E9 // 1001
 #define EFI_ACPI_FLUSH_SIZE           0x0000
 #define EFI_ACPI_FLUSH_STRIDE         0x0000
-#define EFI_ACPI_DUTY_OFFSET          0x01
-#define EFI_ACPI_DUTY_WIDTH           0x00
+#define EFI_ACPI_DUTY_OFFSET          0x00  // To be fixed during boot
+#define EFI_ACPI_DUTY_WIDTH           0x00  // To be fixed during boot
 
 #define EFI_ACPI_DAY_ALRM             0x0D
 #define EFI_ACPI_MON_ALRM             0x00