Browse Source

ManageabilityPkg: Add IpmiProtocol to Manageability Package

Add Ipmi Protocol/Ppi/SMM modules to ManageabilityPkg.

Signed-off-by: Abner Chang <abner.chang@amd.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Isaac Oram <isaac.w.oram@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Abdul Lateef Attar <abdattar@amd.com>
Cc: Nickle Wang <nicklew@nvidia.com>
Cc: Igor Kulchytskyy <igork@ami.com>
Reviewed-by: Nickle Wang <nicklew@nvidia.com>
Abner Chang 1 year ago
parent
commit
d34cfa0d0e

+ 7 - 0
Features/ManageabilityPkg/Include/Dsc/Manageability.dsc

@@ -16,3 +16,10 @@
   NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
   ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
 
+[Components.IA32]
+  ManageabilityPkg/Universal/IpmiProtocol/Pei/IpmiPpiPei.inf
+
+[Components.X64]
+  ManageabilityPkg/Universal/IpmiProtocol/Dxe/IpmiProtocolDxe.inf
+  ManageabilityPkg/Universal/IpmiProtocol/Smm/IpmiProtocolSmm.inf
+

+ 1 - 2
Features/ManageabilityPkg/Universal/IpmiProtocol/Common/IpmiProtocolCommon.c

@@ -51,8 +51,7 @@ SetupIpmiTransportHardwareInformation (
     KcsHardwareInfo->IoDataOutAddress.IoAddress16 = IPMI_KCS_REG_DATA_OUT;
     KcsHardwareInfo->IoCommandAddress.IoAddress16 = IPMI_KCS_REG_COMMAND;
     KcsHardwareInfo->IoStatusAddress.IoAddress16  = IPMI_KCS_REG_STATUS;
-    *HardwareInformation                          =
-      (MANAGEABILITY_TRANSPORT_HARDWARE_INFORMATION)KcsHardwareInfo;
+    HardwareInformation->Kcs                      = KcsHardwareInfo;
     return EFI_SUCCESS;
   } else {
     DEBUG ((DEBUG_ERROR, "%a: No implementation of setting hardware information.", __FUNCTION__));

+ 1 - 1
Features/ManageabilityPkg/Universal/IpmiProtocol/Common/IpmiProtocolCommon.h

@@ -15,7 +15,7 @@
 ///
 /// IPMI KCS hardware information.
 ///
-#define IPMI_KCS_BASE_ADDRESS  PcdGet16 (PcdIpmiKcsBaseAddress)
+#define IPMI_KCS_BASE_ADDRESS  PcdGet16 (PcdIpmiKcsIoBaseAddress)
 #define IPMI_KCS_REG_DATA_IN   IPMI_KCS_BASE_ADDRESS + IPMI_KCS_DATA_IN_REGISTER_OFFSET
 #define IPMI_KCS_REG_DATA_OUT  IPMI_KCS_BASE_ADDRESS + IPMI_KCS_DATA_OUT_REGISTER_OFFSET
 #define IPMI_KCS_REG_COMMAND   IPMI_KCS_BASE_ADDRESS + IPMI_KCS_COMMAND_REGISTER_OFFSET

+ 1 - 1
Features/ManageabilityPkg/Universal/IpmiProtocol/Dxe/IpmiProtocolDxe.inf

@@ -44,7 +44,7 @@
   gManageabilityTransportKcsGuid
 
 [FixedPcd]
-  gEfiMdePkgTokenSpaceGuid.PcdIpmiKcsBaseAddress
+  gEfiMdePkgTokenSpaceGuid.PcdIpmiKcsIoBaseAddress   # Used as default KCS I/O base adddress
 
 [Depex]
   TRUE

+ 1 - 1
Features/ManageabilityPkg/Universal/IpmiProtocol/Pei/IpmiPpiPei.inf

@@ -47,7 +47,7 @@
   gManageabilityTransportKcsGuid
 
 [FixedPcd]
-  gEfiMdePkgTokenSpaceGuid.PcdIpmiKcsBaseAddress
+  gEfiMdePkgTokenSpaceGuid.PcdIpmiKcsIoBaseAddress   # Used as default KCS I/O base adddress
 
 [Depex]
   TRUE

+ 1 - 1
Features/ManageabilityPkg/Universal/IpmiProtocol/Smm/IpmiProtocolSmm.inf

@@ -46,7 +46,7 @@
   gManageabilityTransportKcsGuid
 
 [FixedPcd]
-  gEfiMdePkgTokenSpaceGuid.PcdIpmiKcsBaseAddress
+  gEfiMdePkgTokenSpaceGuid.PcdIpmiKcsIoBaseAddress   # Used as default KCS I/O base adddress
 
 [Depex]
   TRUE