From: Isaac Oram <isaac.w.o...@intel.com> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3242
Implement an open source generic IPMI transport driver. Provides the ability to communicate with a BMC over IPMI in MinPlatform board packages. New changes: 1. Added GenericIpmi 2. Added IPMI base libs 3. Added transport PPI and protocol 4. Updated IPMI command request and response data size from UINT8 to UINT32 in IPMI transport layer to be compatible with EDK2 industry standard IPMI commands. 6. Added the completion code in the first byte of all IPMI response data to be compatible with EDK2 industry standard IPMI commands. Cc: Sai Chaganty <rangasai.v.chaga...@intel.com> Cc: Liming Gao <gaolim...@byosoft.com.cn> Cc: Michael Kubacki <michael.kuba...@microsoft.com> Signed-off-by: Isaac Oram <isaac.w.o...@intel.com> Co-authored-by: Nate DeSimone <nathaniel.l.desim...@intel.com> Isaac Oram (9): IpmiFeaturePkg: Add IPMI driver Include headers IpmiFeaturePkg: Add IpmiBaseLib and IpmiCommandLib IpmiFeaturePkg: Add IpmiInit drivers IpmiFeaturePkg: Add GenericIpmi driver common code IpmiFeaturePkg: Add GenericIpmi PEIM IpmiFeaturePkg: Add GenericIpmi DXE Driver IpmiFeaturePkg: Add GenericIpmi SMM Driver IpmiFeaturePkg: Add IPMI driver build files Maintainers.txt: Add IpmiFeaturePkg maintainers .../GenericIpmi/Common/IpmiBmc.c | 297 +++++++++++ .../GenericIpmi/Common/IpmiBmc.h | 44 ++ .../GenericIpmi/Common/IpmiBmcCommon.h | 179 +++++++ .../GenericIpmi/Common/IpmiHooks.c | 96 ++++ .../GenericIpmi/Common/IpmiHooks.h | 81 +++ .../GenericIpmi/Common/IpmiPhysicalLayer.h | 29 ++ .../GenericIpmi/Common/KcsBmc.c | 483 ++++++++++++++++++ .../GenericIpmi/Common/KcsBmc.h | 236 +++++++++ .../GenericIpmi/Dxe/GenericIpmi.c | 46 ++ .../GenericIpmi/Dxe/GenericIpmi.inf | 66 +++ .../IpmiFeaturePkg/GenericIpmi/Dxe/IpmiInit.c | 452 ++++++++++++++++ .../GenericIpmi/Pei/PeiGenericIpmi.c | 362 +++++++++++++ .../GenericIpmi/Pei/PeiGenericIpmi.h | 138 +++++ .../GenericIpmi/Pei/PeiGenericIpmi.inf | 58 +++ .../GenericIpmi/Pei/PeiIpmiBmc.c | 277 ++++++++++ .../GenericIpmi/Pei/PeiIpmiBmc.h | 38 ++ .../GenericIpmi/Pei/PeiIpmiBmcDef.h | 156 ++++++ .../GenericIpmi/Smm/SmmGenericIpmi.c | 208 ++++++++ .../GenericIpmi/Smm/SmmGenericIpmi.inf | 53 ++ .../IpmiFeaturePkg/Include/IpmiFeature.dsc | 9 +- .../Include/Library/IpmiBaseLib.h | 50 ++ .../Include/Library/IpmiCommandLib.h | 19 +- .../Include/Ppi/IpmiTransportPpi.h | 68 +++ .../Include/Protocol/IpmiTransportProtocol.h | 75 +++ .../IpmiFeaturePkg/Include/ServerManagement.h | 337 ++++++++++++ .../IpmiFeaturePkg/Include/SmStatusCodes.h | 98 ++++ .../IpmiFeaturePkg/IpmiFeaturePkg.dec | 22 +- .../IpmiFeaturePkg/IpmiInit/DxeIpmiInit.c | 4 +- .../IpmiFeaturePkg/IpmiInit/DxeIpmiInit.inf | 6 +- .../IpmiFeaturePkg/IpmiInit/PeiIpmiInit.c | 4 +- .../IpmiFeaturePkg/IpmiInit/PeiIpmiInit.inf | 4 +- .../Library/IpmiBaseLib/IpmiBaseLib.c | 155 ++++++ .../Library/IpmiBaseLib/IpmiBaseLib.inf | 28 + .../Library/IpmiBaseLibNull/IpmiBaseLibNull.c | 76 +++ .../IpmiBaseLibNull/IpmiBaseLibNull.inf | 36 ++ .../Library/IpmiCommandLib/IpmiCommandLib.inf | 4 +- .../IpmiCommandLib/IpmiCommandLibNetFnApp.c | 7 +- .../IpmiCommandLibNetFnChassis.c | 51 +- .../IpmiCommandLibNetFnStorage.c | 7 +- .../IpmiCommandLibNetFnTransport.c | 7 +- .../Library/PeiIpmiBaseLib/PeiIpmiBaseLib.c | 111 ++++ .../Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf | 30 ++ .../Library/SmmIpmiBaseLib/SmmIpmiBaseLib.c | 180 +++++++ .../Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf | 29 ++ .../IpmiFeaturePkg/Readme.md | 4 +- Maintainers.txt | 6 + 46 files changed, 4694 insertions(+), 32 deletions(-) create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Common/IpmiBmc.c create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Common/IpmiBmc.h create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Common/IpmiBmcCommon.h create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Common/IpmiHooks.c create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Common/IpmiHooks.h create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Common/IpmiPhysicalLayer.h create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Common/KcsBmc.c create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Common/KcsBmc.h create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.c create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/GenericIpmi.inf create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Dxe/IpmiInit.c create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.c create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.h create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiGenericIpmi.inf create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiIpmiBmc.c create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiIpmiBmc.h create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Pei/PeiIpmiBmcDef.h create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi.c create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi.inf create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/Library/IpmiBaseLib.h create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/Ppi/IpmiTransportPpi.h create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/Protocol/IpmiTransportProtocol.h create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/ServerManagement.h create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Include/SmStatusCodes.h create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.c create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLib/IpmiBaseLib.inf create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLibNull/IpmiBaseLibNull.c create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/IpmiBaseLibNull/IpmiBaseLibNull.inf create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.c create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/PeiIpmiBaseLib/PeiIpmiBaseLib.inf create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.c create mode 100644 Features/Intel/OutOfBandManagement/IpmiFeaturePkg/Library/SmmIpmiBaseLib/SmmIpmiBaseLib.inf -- 2.27.0.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#72308): https://edk2.groups.io/g/devel/message/72308 Mute This Topic: https://groups.io/mt/81016650/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-