[edk2-devel] [edk2-platforms][PATCH v1 3/3] SimicsOpenBoardPkg/AcpiPlatform: Use FADT duty offset and width PCDs

Michael Kubacki posted 3 patches 3 years, 10 months ago
[edk2-devel] [edk2-platforms][PATCH v1 3/3] SimicsOpenBoardPkg/AcpiPlatform: Use FADT duty offset and width PCDs
Posted by Michael Kubacki 3 years, 10 months ago
From: Michael Kubacki <michael.kubacki@microsoft.com>

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>
---
 Platform/Intel/SimicsOpenBoardPkg/AcpiTables/MinPlatformAcpiTables/AcpiPlatform.c   | 3 +++
 Platform/Intel/SimicsOpenBoardPkg/AcpiTables/MinPlatformAcpiTables/Fadt/Fadt.c      | 4 ++--
 Platform/Intel/SimicsOpenBoardPkg/AcpiTables/MinPlatformAcpiTables/AcpiPlatform.inf | 2 ++
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/Platform/Intel/SimicsOpenBoardPkg/AcpiTables/MinPlatformAcpiTables/AcpiPlatform.c b/Platform/Intel/SimicsOpenBoardPkg/AcpiTables/MinPlatformAcpiTables/AcpiPlatform.c
index 1edac89240fa..b06119f5eae7 100644
--- a/Platform/Intel/SimicsOpenBoardPkg/AcpiTables/MinPlatformAcpiTables/AcpiPlatform.c
+++ b/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 ));
diff --git a/Platform/Intel/SimicsOpenBoardPkg/AcpiTables/MinPlatformAcpiTables/Fadt/Fadt.c b/Platform/Intel/SimicsOpenBoardPkg/AcpiTables/MinPlatformAcpiTables/Fadt/Fadt.c
index d1fe98e24bc7..652f1f2e87af 100644
--- a/Platform/Intel/SimicsOpenBoardPkg/AcpiTables/MinPlatformAcpiTables/Fadt/Fadt.c
+++ b/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
diff --git a/Platform/Intel/SimicsOpenBoardPkg/AcpiTables/MinPlatformAcpiTables/AcpiPlatform.inf b/Platform/Intel/SimicsOpenBoardPkg/AcpiTables/MinPlatformAcpiTables/AcpiPlatform.inf
index 7dfd0832a308..c6198fb76307 100644
--- a/Platform/Intel/SimicsOpenBoardPkg/AcpiTables/MinPlatformAcpiTables/AcpiPlatform.inf
+++ b/Platform/Intel/SimicsOpenBoardPkg/AcpiTables/MinPlatformAcpiTables/AcpiPlatform.inf
@@ -61,6 +61,8 @@ [Pcd]
   gMinPlatformPkgTokenSpaceGuid.PcdFadtPreferredPmProfile
   gMinPlatformPkgTokenSpaceGuid.PcdFadtIaPcBootArch
   gMinPlatformPkgTokenSpaceGuid.PcdFadtFlags
+  gMinPlatformPkgTokenSpaceGuid.PcdFadtDutyOffset
+  gMinPlatformPkgTokenSpaceGuid.PcdFadtDutyWidth
 
   gPcAtChipsetPkgTokenSpaceGuid.PcdHpetBaseAddress
   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress
-- 
2.28.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#88724): https://edk2.groups.io/g/devel/message/88724
Mute This Topic: https://groups.io/mt/90405227/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-