[AMD Official Use Only - General] Hi stakeholders, Besides of below two IPMI related patch sets, we are going to implement IPMI Protocol on edk2-platforms. However, please help to review below two patches set then we can move forward. https://edk2.groups.io/g/devel/message/98051 https://edk2.groups.io/g/devel/message/97769 The context of having above IPMI patches is here: https://github.com/tianocore/edk2/pull/3837 Implement IPMI Protocol driver on edk2-platforms IpmiFeaturePkg, * Which is the connection between edk2 IpmiLib and edk2 IpmiBaseLib libraries. Address the confusion of IpmiSubmitCommand() function naming between edk2 IPMI Protocol and edk2-platforms IPMI Transport Protocol, also between IpmiLib and IpmiBaseLib libraries. * On edk2: struct _IPMI_PROTOCOL { IPMI_SUBMIT_COMMAND IpmiSubmitCommand; }; * PEI/DXE/SMM library instances of IpmiLib have the reference of IPMI_PROTOCOL. * No implementation of IPMI_PROTOCOL on edk2-platforms as I can see. * On edk2-platforms: struct _IPMI_TRANSPORT { UINT64 Revision; IPMI_SEND_COMMAND IpmiSubmitCommand; IPMI_GET_CHANNEL_STATUS GetBmcStatus; EFI_HANDLE IpmiHandle; UINT8 CompletionCode; }; - The function naming for IPMI_SEND_COMMAND is confusing, PPI one does the same. Solution: The process flow of IPMI functionality is: edk2 module ==> IpmiLib (edk2) library class IpmiSubmitCommand() ==> IPMI protocol driver(edk2-platforms) ==> IpmiBaseLib(edk2-platforms) library class IpmiSendCommand() ==>IPMI Transport Protocol driver (edk2-platforms) Three patches the solution, Patch 1/3: Rename IPMI_TRANSPORT. IpmiSubmitCommand() to IPMI_TRANSPORT. IpmiSendCommand() in the protocol structure. Also address the impacts on other edk2-platform modules. Patch 2/3: Rename IpmiSubmitCommand() in IpmiBaseLib library to IpmiSendCommand(). Also address the impacts on other edk2-platform modules. Patch 3/3: Implement IPMI_PROTOCOL on edk2-platform, this module has the reference of IpmiBaseLib.h from edk2-platforms and IpmiTransport.h from edk2. Impacts, On edk2-platforms: Most of impacts are on IpmiFeaturePkg itself except one impact on PuleyOpenBoardPkg. It should be not a big problem to other edk2 modules that uses IpmiSubmitCommand() already. They can update their code to use the PEI/DXE/SMM IpmiLib library instance from edk2 and add the reference of IPMI_PROTOCOL driver from edk2-platforms in the DSC file. We will proceed the code change if you (especially to IPMI owner) agree with this. Regards, Abner