Sync change from SMM to StandaloneMm GenericIpmi driver. Update SmmIpmbInterface and SmmSsifInterface Lib to support MM_STANDALONE. And Format code with uncrustify.
Cc: Abner Chang <abner.ch...@amd.com> Cc: Nate DeSimone <nathaniel.l.desim...@intel.com> Signed-off-by: Lixia Huang <lisa.hu...@intel.com> --- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/StandaloneMm/StandaloneMmGenericIpmi.c | 315 +++++++++++++++++--- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/IpmbInterfaceLib/SmmIpmbInterfaceLib.c | 4 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/SsifInterfaceLib/SmmSsifInterfaceLib.c | 64 ++-- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/StandaloneMm/StandaloneMmGenericIpmi.inf | 10 + Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc | 2 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/IpmbInterfaceLib/SmmIpmbInterfaceLib.inf | 4 +- Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/SsifInterfaceLib/SmmSsifInterfaceLib.inf | 4 +- 7 files changed, 326 insertions(+), 77 deletions(-) diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/StandaloneMm/StandaloneMmGenericIpmi.c b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/StandaloneMm/StandaloneMmGenericIpmi.c index d808e2517c99..1b9841e4b745 100644 --- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/StandaloneMm/StandaloneMmGenericIpmi.c +++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/StandaloneMm/StandaloneMmGenericIpmi.c @@ -19,17 +19,157 @@ #include <Library/UefiBootServicesTableLib.h> #include <Library/IpmiBaseLib.h> #include <Library/TimerLib.h> +#include <Library/BmcCommonInterfaceLib.h> #include <SmStatusCodes.h> #include "IpmiHooks.h" #include "IpmiBmcCommon.h" #include "IpmiBmc.h" -IPMI_BMC_INSTANCE_DATA *mIpmiInstance; -EFI_HANDLE mHandle; +IPMI_BMC_INSTANCE_DATA *mIpmiInstance; +EFI_HANDLE mIpmiTransportHandle; +EFI_HANDLE mIpmiTransport2Handle; /** + +Routine Description: + Initialize the API and parameters for IPMI Transport2 Instance + +Arguments: + IpmiInstance - Pointer to IPMI Instance. + +Returns: + VOID - Nothing. + +**/ +VOID +InitIpmiTransport2 ( + IN IPMI_BMC_INSTANCE_DATA *IpmiInstance + ) +{ + IpmiInstance->IpmiTransport2.InterfaceType = FixedPcdGet8 (PcdDefaultSystemInterface); + IpmiInstance->IpmiTransport2.IpmiTransport2BmcStatus = BmcStatusOk; + IpmiInstance->IpmiTransport2.IpmiSubmitCommand2 = IpmiSendCommand2; + IpmiInstance->IpmiTransport2.IpmiSubmitCommand2Ex = IpmiSendCommand2Ex; + + if (FixedPcdGet8 (PcdBtInterfaceSupport) == 1) { + InitBtInterfaceData (&IpmiInstance->IpmiTransport2); + } + + if (FixedPcdGet8 (PcdSsifInterfaceSupport) == 1) { + InitSsifInterfaceData (&IpmiInstance->IpmiTransport2); + } + + if (FixedPcdGet8 (PcdIpmbInterfaceSupport) == 1) { + InitIpmbInterfaceData (&IpmiInstance->IpmiTransport2); + } +} + +/** + +Routine Description: + Notify call back to initialize the interfaces and install SMM IPMI + protocol. + +Arguments: + Protocol - Pointer to the protocol guid. + Interface - Pointer to the protocol instance. + Handle - Handle on which the protocol is installed. + +Returns: + Status of Notify call back. + +**/ +EFI_STATUS +EFIAPI +SmmNotifyCallback ( + IN CONST EFI_GUID *Protocol, + IN VOID *Interface, + IN EFI_HANDLE Handle + ) +{ + EFI_STATUS Status; + IPMI_INTERFACE_STATE InterfaceState; + + InterfaceState = IpmiInterfaceNotReady; + + if (FixedPcdGet8 (PcdSsifInterfaceSupport) == 1) { + InitSsifInterfaceData (&mIpmiInstance->IpmiTransport2); + + if (mIpmiInstance->IpmiTransport2.Interface.Ssif.InterfaceState == IpmiInterfaceInitialized) { + InterfaceState = IpmiInterfaceInitialized; + } + } + + if (FixedPcdGet8 (PcdIpmbInterfaceSupport) == 1) { + InitIpmbInterfaceData (&mIpmiInstance->IpmiTransport2); + } + + if (mIpmiInstance->IpmiTransport2.Interface.Ipmb.InterfaceState == IpmiInterfaceInitialized) { + InterfaceState = IpmiInterfaceInitialized; + } + + if (InterfaceState != IpmiInterfaceInitialized) { + return EFI_SUCCESS; + } + + // Default Interface data should be initialized to install Ipmi Transport2 Protocol. + if (InterfaceState == IpmiInterfaceInitialized) { + mIpmiTransport2Handle = NULL; + Status = gMmst->MmInstallProtocolInterface ( + &mIpmiTransport2Handle, + &gSmmIpmiTransport2ProtocolGuid, + EFI_NATIVE_INTERFACE, + &mIpmiInstance->IpmiTransport2 + ); + } + + ASSERT_EFI_ERROR (Status); + return EFI_SUCCESS; +} + +/** + +Routine Description: + Registers Protocol call back. + +Arguments: + ProtocolGuid - Pointer to Protocol GUID to register call back. + +Returns: + Status. + +**/ +EFI_STATUS +MmRegisterProtocolCallback ( + IN EFI_GUID *ProtocolGuid + ) +{ + EFI_STATUS Status; + VOID *Registration; + + if ((ProtocolGuid == NULL) || + ((ProtocolGuid != NULL) && IsZeroBuffer (ProtocolGuid, sizeof (EFI_GUID)))) + { + return EFI_INVALID_PARAMETER; + } + + Status = gMmst->MmRegisterProtocolNotify ( + ProtocolGuid, + SmmNotifyCallback, + &Registration + ); + return Status; +} + +EFI_STATUS +SmmInitializeIpmiKcsPhysicalLayer ( + VOID + ) + +/** + Routine Description: - Setup and initialize the BMC for the SMM phase. In order to verify the BMC is functioning + Setup and initialize the BMC for the DXE phase. In order to verify the BMC is functioning as expected, the BMC Selftest is performed. The results are then checked and any errors are reported to the error manager. Errors are collected throughout this routine and reported just prior to installing the driver. If there are more errors than MAX_SOFT_COUNT, then they @@ -43,25 +183,27 @@ Returns: EFI_SUCCESS - Successful driver initialization **/ -EFI_STATUS -SmmInitializeIpmiKcsPhysicalLayer ( - VOID - ) { - EFI_STATUS Status; + EFI_STATUS Status; + UINT8 ErrorCount; + IPMI_INTERFACE_STATE InterfaceState; + UINT8 Index; - DEBUG ((DEBUG_INFO,"SmmInitializeIpmiKcsPhysicalLayer entry \n")); + DEBUG ((DEBUG_INFO, "SmmInitializeIpmiKcsPhysicalLayer entry \n")); + ErrorCount = 0; + InterfaceState = IpmiInterfaceNotReady; Status = gMmst->MmAllocatePool ( EfiRuntimeServicesData, sizeof (IPMI_BMC_INSTANCE_DATA), - (VOID **)&mIpmiInstance); - - if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "mIpmiInstance mem alloc failed - 0x%x\n", Status)); - return Status; + (VOID **)&mIpmiInstance + ); + ASSERT (mIpmiInstance != NULL); + if (mIpmiInstance == NULL) { + DEBUG ((DEBUG_ERROR, "ERROR!! Null Pointer returned by AllocateZeroPool ()\n")); + ASSERT_EFI_ERROR (EFI_OUT_OF_RESOURCES); + return EFI_OUT_OF_RESOURCES; } else { - // // Initialize the KCS transaction timeout. Assume delay unit is 1000 us. // @@ -70,23 +212,110 @@ SmmInitializeIpmiKcsPhysicalLayer ( // // Initialize IPMI IO Base, we still use SMS IO base to get device ID and Seltest result since SMM IF may have different cmds supported // - mIpmiInstance->IpmiIoBase = FixedPcdGet16 (PcdIpmiSmmIoBaseAddress); - mIpmiInstance->Signature = SM_IPMI_BMC_SIGNATURE; - mIpmiInstance->SlaveAddress = BMC_SLAVE_ADDRESS; - mIpmiInstance->BmcStatus = BMC_NOTREADY; - mIpmiInstance->IpmiTransport.IpmiSubmitCommand = IpmiSendCommand; - mIpmiInstance->IpmiTransport.GetBmcStatus = IpmiGetBmcStatus; - - mHandle = NULL; - Status = gMmst->MmInstallProtocolInterface ( - &mHandle, - &gSmmIpmiTransportProtocolGuid, - EFI_NATIVE_INTERFACE, - &mIpmiInstance->IpmiTransport - ); - ASSERT_EFI_ERROR (Status); - - DEBUG ((DEBUG_INFO,"SmmInitializeIpmiKcsPhysicalLayer exit \n")); + mIpmiInstance->IpmiIoBase = FixedPcdGet16 (PcdIpmiSmmIoBaseAddress); + mIpmiInstance->Signature = SM_IPMI_BMC_SIGNATURE; + mIpmiInstance->SlaveAddress = BMC_SLAVE_ADDRESS; + mIpmiInstance->BmcStatus = BMC_NOTREADY; + mIpmiInstance->IpmiTransport.IpmiSubmitCommand = IpmiSendCommand; + mIpmiInstance->IpmiTransport.GetBmcStatus = IpmiGetBmcStatus; + + if (FixedPcdGet8 (PcdKcsInterfaceSupport) == 1) { + DEBUG ((DEBUG_INFO, "IPMI: Waiting for Getting BMC DID in SMM \n")); + // + // Get the Device ID and check if the system is in Force Update mode. + // + // Just obey the Spec.. + // To improve performance, we're going to comment it. + // + + mIpmiTransportHandle = NULL; + Status = gMmst->MmInstallProtocolInterface ( + &mIpmiTransportHandle, + &gSmmIpmiTransportProtocolGuid, + EFI_NATIVE_INTERFACE, + &mIpmiInstance->IpmiTransport + ); + ASSERT_EFI_ERROR (Status); + } + + InitIpmiTransport2 (mIpmiInstance); + + // Check interface data initialized successfully else register notify protocol. + for (Index = SysInterfaceKcs; Index < SysInterfaceMax; Index++) { + switch (Index) { + case SysInterfaceKcs: + if (FixedPcdGet8 (PcdKcsInterfaceSupport) == 1) { + if ((mIpmiInstance->BmcStatus != BMC_HARDFAIL) && (mIpmiInstance->BmcStatus != BMC_UPDATE_IN_PROGRESS)) { + BMC_INTERFACE_STATUS BmcStatus; + mIpmiInstance->IpmiTransport2.Interface.KcsInterfaceState = IpmiInterfaceInitialized; + Status = CheckSelfTestByInterfaceType ( + &mIpmiInstance->IpmiTransport2, + &BmcStatus, + SysInterfaceKcs + ); + if (!EFI_ERROR (Status) && (BmcStatus != BmcStatusHardFail)) { + InterfaceState = IpmiInterfaceInitialized; + } else { + mIpmiInstance->IpmiTransport2.Interface.KcsInterfaceState = IpmiInterfaceInitError; + } + } + } + + break; + + case SysInterfaceBt: + if (FixedPcdGet8 (PcdBtInterfaceSupport) == 1) { + if (mIpmiInstance->IpmiTransport2.Interface.Bt.InterfaceState == IpmiInterfaceInitialized) { + InterfaceState = IpmiInterfaceInitialized; + } + } + + break; + + case SysInterfaceSsif: + if (FixedPcdGet8 (PcdSsifInterfaceSupport) == 1) { + if (mIpmiInstance->IpmiTransport2.Interface.Ssif.InterfaceState == IpmiInterfaceInitialized) { + InterfaceState = IpmiInterfaceInitialized; + } else if (mIpmiInstance->IpmiTransport2.Interface.Ssif.InterfaceState == IpmiInterfaceInitError) { + // Register protocol notify for SMBUS Protocol. + Status = MmRegisterProtocolCallback (&mIpmiInstance->IpmiTransport2.Interface.Ssif.SsifInterfaceApiGuid); + } + } + + break; + + case SysInterfaceIpmb: + if (FixedPcdGet8 (PcdIpmbInterfaceSupport) == 1) { + if (mIpmiInstance->IpmiTransport2.Interface.Ipmb.InterfaceState == IpmiInterfaceInitialized) { + InterfaceState = IpmiInterfaceInitialized; + } else if (mIpmiInstance->IpmiTransport2.Interface.Ipmb.InterfaceState == IpmiInterfaceInitError) { + // Register protocol notify for SMBUS Protocol. + Status = MmRegisterProtocolCallback (&mIpmiInstance->IpmiTransport2.Interface.Ipmb.IpmbInterfaceApiGuid); + } + } + + break; + + default: + break; + } + } + + // Default Interface data should be initialized to install Ipmi Transport2 Protocol. + if (InterfaceState == IpmiInterfaceInitialized) { + mIpmiTransport2Handle = NULL; + Status = gMmst->MmInstallProtocolInterface ( + &mIpmiTransport2Handle, + &gSmmIpmiTransport2ProtocolGuid, + EFI_NATIVE_INTERFACE, + &mIpmiInstance->IpmiTransport2 + ); + if (EFI_ERROR (Status)) { + DEBUG ((DEBUG_ERROR, "IPMI Transport2 protocol install Status = %r \n", Status)); + } + } + + DEBUG ((DEBUG_INFO, "SmmInitializeIpmiKcsPhysicalLayer exit \n")); return EFI_SUCCESS; } @@ -104,8 +333,8 @@ SmmInitializeIpmiKcsPhysicalLayer ( **/ EFI_STATUS InitializeGenericIpmiStandaloneMm ( - IN EFI_HANDLE ImageHandle, - IN EFI_MM_SYSTEM_TABLE *SystemTable + IN EFI_HANDLE ImageHandle, + IN EFI_MM_SYSTEM_TABLE *SystemTable ) { SmmInitializeIpmiKcsPhysicalLayer (); @@ -124,21 +353,31 @@ InitializeGenericIpmiStandaloneMm ( EFI_STATUS EFIAPI GenericIpmiStandaloneMmUnload ( - IN EFI_HANDLE ImageHandle + IN EFI_HANDLE ImageHandle ) { - EFI_STATUS Status; + EFI_STATUS Status; Status = EFI_SUCCESS; if (mIpmiInstance != NULL) { - if (mHandle != NULL) { + if (mIpmiTransportHandle != NULL) { Status = gMmst->MmUninstallProtocolInterface ( - mHandle, + mIpmiTransportHandle, &gSmmIpmiTransportProtocolGuid, &mIpmiInstance->IpmiTransport ); ASSERT_EFI_ERROR (Status); } + + if (mIpmiTransport2Handle != NULL) { + Status = gMmst->MmUninstallProtocolInterface ( + mIpmiTransport2Handle, + &gSmmIpmiTransport2ProtocolGuid, + &mIpmiInstance->IpmiTransport2 + ); + ASSERT_EFI_ERROR (Status); + } + gMmst->MmFreePool (mIpmiInstance); } diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/IpmbInterfaceLib/SmmIpmbInterfaceLib.c b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/IpmbInterfaceLib/SmmIpmbInterfaceLib.c index b5d63353e403..589ea81a72c1 100644 --- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/IpmbInterfaceLib/SmmIpmbInterfaceLib.c +++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/IpmbInterfaceLib/SmmIpmbInterfaceLib.c @@ -8,7 +8,7 @@ **/ #include <Library/DebugLib.h> -#include <Library/SmmServicesTableLib.h> +#include <Library/MmServicesTableLib.h> #include <Library/BmcCommonInterfaceLib.h> #include <Library/IpmbInterfaceLib.h> #include <Protocol/I2cMaster.h> @@ -76,7 +76,7 @@ IpmiGetI2cApiPtr ( IpmiTransport2->Interface.Ipmb.IpmbInterfaceApiGuid = gEfiI2cMasterProtocolGuid; // Locate the I2C SMM Protocol for Communication. - Status = gSmst->SmmLocateProtocol ( + Status = gMmst->MmLocateProtocol ( &gEfiI2cMasterProtocolGuid, NULL, (VOID **)&I2cMasterTransmit diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/SsifInterfaceLib/SmmSsifInterfaceLib.c b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/SsifInterfaceLib/SmmSsifInterfaceLib.c index e784631909ce..1f50977c31be 100644 --- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/SsifInterfaceLib/SmmSsifInterfaceLib.c +++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/SsifInterfaceLib/SmmSsifInterfaceLib.c @@ -8,7 +8,7 @@ **/ #include <Library/DebugLib.h> -#include <Library/SmmServicesTableLib.h> +#include <Library/MmServicesTableLib.h> #include <Library/BmcCommonInterfaceLib.h> #include <Library/MemoryAllocationLib.h> #include <Library/SsifInterfaceLib.h> @@ -54,14 +54,14 @@ IpmiSmbusSendCommand ( if (EfiSmbusHcProtocol != NULL) { Status = EfiSmbusHcProtocol->Execute ( - EfiSmbusHcProtocol, - SlaveAddress, - Command, - Operation, - PecCheck, - Length, - Buffer - ); + EfiSmbusHcProtocol, + SlaveAddress, + Command, + Operation, + PecCheck, + Length, + Buffer + ); } DEBUG ((DEBUG_INFO, "%a EfiSmbusHcProtocol->Execute Status = %r\n", __func__, Status)); @@ -95,13 +95,13 @@ IpmiGetSmbusApiPtr ( IpmiTransport2->Interface.Ssif.SsifInterfaceApiGuid = gEfiSmbusHcProtocolGuid; HandleCount = 0; - Status = gSmst->SmmLocateHandle ( - ByProtocol, - &gEfiSmbusHcProtocolGuid, - NULL, - &HandleCount, - HandleBuffer - ); + Status = gMmst->MmLocateHandle ( + ByProtocol, + &gEfiSmbusHcProtocolGuid, + NULL, + &HandleCount, + HandleBuffer + ); if (EFI_ERROR (Status) && (Status == EFI_BUFFER_TOO_SMALL)) { // Allocate memory for Handle buffer HandleBuffer = AllocateZeroPool (HandleCount); @@ -109,13 +109,13 @@ IpmiGetSmbusApiPtr ( return EFI_NOT_FOUND; } - Status = gSmst->SmmLocateHandle ( - ByProtocol, - &gEfiSmbusHcProtocolGuid, - NULL, - &HandleCount, - HandleBuffer - ); + Status = gMmst->MmLocateHandle ( + ByProtocol, + &gEfiSmbusHcProtocolGuid, + NULL, + &HandleCount, + HandleBuffer + ); if (EFI_ERROR (Status)) { // Free HandleBuffer memory FreePool (HandleBuffer); @@ -124,11 +124,11 @@ IpmiGetSmbusApiPtr ( } for (Index = 0; Index < HandleCount; Index++) { - Status = gSmst->SmmHandleProtocol ( - HandleBuffer[Index], - &gEfiSmbusHcProtocolGuid, - (VOID **)&EfiSmbusHcProtocol - ); + Status = gMmst->MmHandleProtocol ( + HandleBuffer[Index], + &gEfiSmbusHcProtocolGuid, + (VOID **)&EfiSmbusHcProtocol + ); if (EFI_ERROR (Status)) { continue; } @@ -137,10 +137,10 @@ IpmiGetSmbusApiPtr ( IpmiTransport2->Interface.Ssif.SsifInterfaceApiPtr = (UINTN)EfiSmbusHcProtocol; Status = CheckSelfTestByInterfaceType ( - IpmiTransport2, - &BmcStatus, - SysInterfaceSsif - ); + IpmiTransport2, + &BmcStatus, + SysInterfaceSsif + ); if (EFI_ERROR (Status) || (BmcStatus == BmcStatusHardFail)) { IpmiTransport2->Interface.Ssif.InterfaceState = IpmiInterfaceInitError; continue; diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/StandaloneMm/StandaloneMmGenericIpmi.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/StandaloneMm/StandaloneMmGenericIpmi.inf index 170e0a8d136b..e4abc4db29fe 100644 --- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/StandaloneMm/StandaloneMmGenericIpmi.inf +++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/StandaloneMm/StandaloneMmGenericIpmi.inf @@ -38,14 +38,24 @@ IoLib ReportStatusCodeLib TimerLib + BmcCommonInterfaceLib + BtInterfaceLib + SsifInterfaceLib + IpmbInterfaceLib [Protocols] gSmmIpmiTransportProtocolGuid # PROTOCOL ALWAYS_PRODUCED + gSmmIpmiTransport2ProtocolGuid # PROTOCOL ALWAYS_PRODUCED [Guids] [Pcd] gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiSmmIoBaseAddress + gIpmiFeaturePkgTokenSpaceGuid.PcdDefaultSystemInterface + gIpmiFeaturePkgTokenSpaceGuid.PcdBtInterfaceSupport + gIpmiFeaturePkgTokenSpaceGuid.PcdSsifInterfaceSupport + gIpmiFeaturePkgTokenSpaceGuid.PcdKcsInterfaceSupport + gIpmiFeaturePkgTokenSpaceGuid.PcdIpmbInterfaceSupport [Depex] gIpmiTransportProtocolGuid diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc index cfdfc916a464..c9c76565c672 100644 --- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc +++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc @@ -57,7 +57,7 @@ SsifInterfaceLib|IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/SsifInterfaceLib/DxeSsifInterfaceLib.inf IpmbInterfaceLib|IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/IpmbInterfaceLib/DxeIpmbInterfaceLib.inf -[LibraryClasses.common.DXE_SMM_DRIVER] +[LibraryClasses.common.DXE_SMM_DRIVER,LibraryClasses.common.MM_STANDALONE] IpmiBaseLib|IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf SsifInterfaceLib|IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/SsifInterfaceLib/SmmSsifInterfaceLib.inf IpmbInterfaceLib|IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/IpmbInterfaceLib/SmmIpmbInterfaceLib.inf diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/IpmbInterfaceLib/SmmIpmbInterfaceLib.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/IpmbInterfaceLib/SmmIpmbInterfaceLib.inf index 5030d5659dc2..32e72bef9bc1 100644 --- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/IpmbInterfaceLib/SmmIpmbInterfaceLib.inf +++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/IpmbInterfaceLib/SmmIpmbInterfaceLib.inf @@ -14,7 +14,7 @@ FILE_GUID = C39F9DC3-37C7-41C1-BE05-8C1524493947 MODULE_TYPE = DXE_SMM_DRIVER VERSION_STRING = 1.1 - LIBRARY_CLASS = IpmbInterfaceLib | DXE_SMM_DRIVER + LIBRARY_CLASS = IpmbInterfaceLib | DXE_SMM_DRIVER MM_STANDALONE [Sources] SmmIpmbInterfaceLib.c @@ -27,7 +27,7 @@ [LibraryClasses] DebugLib BaseMemoryLib - SmmServicesTableLib + MmServicesTableLib BmcCommonInterfaceLib [Protocols] diff --git a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/SsifInterfaceLib/SmmSsifInterfaceLib.inf b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/SsifInterfaceLib/SmmSsifInterfaceLib.inf index b1fb44241c37..8ff1a2cf927e 100644 --- a/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/SsifInterfaceLib/SmmSsifInterfaceLib.inf +++ b/Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/BmcInterfaceCommonAccess/SsifInterfaceLib/SmmSsifInterfaceLib.inf @@ -14,7 +14,7 @@ FILE_GUID = DB817B63-FA26-44FA-BF84-8D48596F982B MODULE_TYPE = DXE_SMM_DRIVER VERSION_STRING = 1.1 - LIBRARY_CLASS = SsifInterfaceLib | DXE_SMM_DRIVER + LIBRARY_CLASS = SsifInterfaceLib | DXE_SMM_DRIVER MM_STANDALONE [Sources] SmmSsifInterfaceLib.c @@ -26,7 +26,7 @@ IpmiFeaturePkg/IpmiFeaturePkg.dec [LibraryClasses] - SmmServicesTableLib + MmServicesTableLib MemoryAllocationLib BmcCommonInterfaceLib -- 2.26.2.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#112091): https://edk2.groups.io/g/devel/message/112091 Mute This Topic: https://groups.io/mt/103008784/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-