[edk2-devel][edk2-platforms][PATCH V1 1/1] WhitleyOpenBoardPkg/BoardAcpiLib: Fix GP Fault in ACPI Enable SMI

Nate DeSimone nathaniel.l.desimone at intel.com
Thu Aug 12 02:51:59 UTC 2021


Pushed: https://github.com/tianocore/edk2-platforms/commit/cd4e6b7

-----Original Message-----
From: Oram, Isaac W <isaac.w.oram at intel.com> 
Sent: Wednesday, August 11, 2021 4:40 PM
To: devel at edk2.groups.io
Cc: Desimone, Nathaniel L <nathaniel.l.desimone at intel.com>; Chiu, Chasel <chasel.chiu at intel.com>
Subject: [edk2-devel][edk2-platforms][PATCH V1 1/1] WhitleyOpenBoardPkg/BoardAcpiLib: Fix GP Fault in ACPI Enable SMI

Fixed AcpiSmm library BoardAcpiLib to use the correct SMM services table and DynamicSiliconLibrarySmmProtocol.

Cc: Nate DeSimone <nathaniel.l.desimone at intel.com>
Cc: Chasel Chiu <chasel.chiu at intel.com>
Signed-off-by: Isaac Oram <isaac.w.oram at intel.com>
---
 Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmBoardAcpiEnableLib.inf |  4 ++--  Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmSiliconAcpiEnableLib.c | 16 ++++++++--------
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmBoardAcpiEnableLib.inf b/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmBoardAcpiEnableLib.inf
index fcbc94cc50..19d29ed40f 100644
--- a/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmBoardAcpiEnableLib.inf
+++ b/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmBoardAc
+++ piEnableLib.inf
@@ -42,7 +42,7 @@
   SmmBoardAcpiEnableLib.c
 
 [Protocols]
-  gDynamicSiLibraryProtocolGuid                 ## CONSUMES
+  gDynamicSiLibrarySmmProtocolGuid                 ## CONSUMES
 
 [Depex]
-  gDynamicSiLibraryProtocolGuid
+  gDynamicSiLibrarySmmProtocolGuid
diff --git a/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmSiliconAcpiEnableLib.c b/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmSiliconAcpiEnableLib.c
index 2b8a35c7e8..484311811b 100644
--- a/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmSiliconAcpiEnableLib.c
+++ b/Platform/Intel/WhitleyOpenBoardPkg/Library/BoardAcpiLib/SmmSilicon
+++ AcpiEnableLib.c
@@ -16,8 +16,8 @@
 #include <Library/PcdLib.h>
 #include <Library/DebugLib.h>
 #include <PchAccess.h>
-#include <Protocol/DynamicSiLibraryProtocol.h>
-#include <Library/UefiBootServicesTableLib.h>
+#include <Protocol/DynamicSiLibrarySmmProtocol.h>
+#include <Library/SmmServicesTableLib.h>
 
 /**
   Clear Port 80h
@@ -61,9 +61,9 @@ SiliconEnableAcpi (
   UINT16                           Pm1Cnt;
   UINT16                           PchPmBase;
   EFI_STATUS                       Status;
-  DYNAMIC_SI_LIBARY_PROTOCOL       *DynamicSiLibraryProtocol = NULL;
+  DYNAMIC_SI_LIBARY_SMM_PROTOCOL   *DynamicSiLibrarySmmProtocol = NULL;
 
-  Status = gBS->LocateProtocol (&gDynamicSiLibraryProtocolGuid, NULL, &DynamicSiLibraryProtocol);
+  Status = gSmst->SmmLocateProtocol (&gDynamicSiLibrarySmmProtocolGuid, 
+ NULL, &DynamicSiLibrarySmmProtocol);
   if (EFI_ERROR (Status)) {
     ASSERT_EFI_ERROR (Status);
     return Status;
@@ -72,7 +72,7 @@ SiliconEnableAcpi (
   //
   // Init Power Management I/O Base aka ACPI Base
   //
-  PchPmBase = DynamicSiLibraryProtocol->PmcGetAcpiBase ();
+  PchPmBase = DynamicSiLibrarySmmProtocol->PmcGetAcpiBase ();
 
   SmiEn = IoRead32 (PchPmBase + R_ACPI_IO_SMI_EN);
 
@@ -112,9 +112,9 @@ SiliconDisableAcpi (
   UINT16                           Pm1Cnt;
   UINT16                           PchPmBase;
   EFI_STATUS                       Status;
-  DYNAMIC_SI_LIBARY_PROTOCOL       *DynamicSiLibraryProtocol = NULL;
+  DYNAMIC_SI_LIBARY_SMM_PROTOCOL   *DynamicSiLibrarySmmProtocol = NULL;
 
-  Status = gBS->LocateProtocol (&gDynamicSiLibraryProtocolGuid, NULL, &DynamicSiLibraryProtocol);
+  Status = gSmst->SmmLocateProtocol (&gDynamicSiLibrarySmmProtocolGuid, 
+ NULL, &DynamicSiLibrarySmmProtocol);
   if (EFI_ERROR (Status)) {
     ASSERT_EFI_ERROR (Status);
     return Status;
@@ -123,7 +123,7 @@ SiliconDisableAcpi (
   //
   // Init Power Management I/O Base aka ACPI Base
   //
-  PchPmBase = DynamicSiLibraryProtocol->PmcGetAcpiBase ();
+  PchPmBase = DynamicSiLibrarySmmProtocol->PmcGetAcpiBase ();
 
   Pm1Cnt = IoRead16 (PchPmBase + R_ACPI_IO_PM1_CNT);
 
--
2.27.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#79141): https://edk2.groups.io/g/devel/message/79141
Mute This Topic: https://groups.io/mt/84829392/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list