Hi, Abner:
I ask you a favor.

KCS actually layer on LPC interface.
KCS is a usual BMC-to-CPU communication channel.

Does MCTP-over-KCS feature require some special LPC interface hardware changes?
Or, MCTP is just a software stack and it uses current LPC interface, not any special hardward design change requirement.


Thanks





At 2023-10-26 13:03:02, "Chang, Abner via groups.io" <abner.chang=amd.com@groups.io> wrote: >[AMD Official Use Only - General] > >Merged. I will send another patch for Uncrustify updates if any. > >Abner > >> -----Original Message----- >> From: Chang, Abner >> Sent: Tuesday, October 24, 2023 10:44 AM >> To: Konstantin Aladyshev <aladyshev22@gmail.com>; devel@edk2.groups.io >> Cc: Attar, AbdulLateef (Abdul Lateef) <AbdulLateef.Attar@amd.com>; >> nicklew@nvidia.com >> Subject: RE: [PATCH edk2-platforms v3 00/16] MTCP-over-KCS support >> >> For entire V3 and the additional patch 16/16, >> Reviewed-by: Abner Chang <abner.chang@amd.com> >> >> I will do the Uncrustify check and merge this patch set once the corresponding >> edk2 changes are merged. >> Thanks >> Abner >> >> > -----Original Message----- >> > From: Konstantin Aladyshev <aladyshev22@gmail.com> >> > Sent: Monday, October 23, 2023 9:05 PM >> > To: devel@edk2.groups.io >> > Cc: Chang, Abner <Abner.Chang@amd.com>; Attar, AbdulLateef (Abdul >> > Lateef) <AbdulLateef.Attar@amd.com>; nicklew@nvidia.com; Konstantin >> > Aladyshev <aladyshev22@gmail.com> >> > Subject: [PATCH edk2-platforms v3 00/16] MTCP-over-KCS support >> > >> > Caution: This message originated from an External Source. Use proper >> caution >> > when opening attachments, clicking links, or responding. >> > >> > >> > The Manageability KCS transport library needs to support requests both >> > from MCTP and IPMI transports. Currently the code only handles IPMI >> > case correctly. >> > In the MCTP case the communication should be based on the MCTP-over- >> KCS >> > specification (DSP0254). This specification defines a special KCS >> > binding header and trailer structures that need to be present in every >> > MCTP message. >> > The header structure contains a length field, therefore response packet >> > size is not needed to be known beforehand. >> > The trailer structure contains a PEC checksum that can be used to check >> > itegrity of the response message. >> > Modify Manageability KCS transport library code to check which message >> > is processed (IPMI or MCTP) and handle each case correctly based on its >> > own specification. >> > This patch is a result of a joint effort from the Konstantin Aladyshev >> > <aladyshev22@gmail.com> and Abner Chang <abner.chang@amd.com>. >> > >> > Tested: >> > PLDM communication between the HOST and BMC was tested with both >> > components implemented via open-source software: >> > - The HOST (UEFI firmware) part was based one the edk2 [1] and >> > edk2-platforms [2] code, >> > - The BMC part was based on the openbmc [3] distribution. >> > >> > The testing process and all the necessary utilities are described in >> > the [4] repository. >> > >> > The provided changes keep IPMI over KCS stack working as reported by >> > Abner Chang. >> > >> > [1]: https://github.com/tianocore/edk2 >> > [2]: https://github.com/tianocore/edk2-platforms >> > [3]: https://github.com/openbmc/openbmc >> > [4]: https://github.com/Kostr/PLDM >> > >> > Changes v2 -> v3: >> > - Add new patch that adds PLDM completion code check >> > >> > Changes v1 -> v2: >> > - Add new patches with corrections for the PLDM protocol. The >> > resulting communication via EDKII_PLDM_PROTOCOL was successfully >> > tested. >> > >> > Abner Chang (4): >> > ManageabilityPkg: Add PLDM terminus PCDs >> > PldmProtocolDxe: Correct TID argument usage >> > ManageabilityPkg/PldmProtocol: Remove PLDM command table >> > PldmSmbiosTransferDxe: Implement Set PLDM terminus ID API >> > >> > Konstantin Aladyshev (12): >> > ManageabilityPkg: Add definition for the MCTP KCS TRAILER structure >> > ManageabilityPkg: Check MCTP EIDs for reserved values >> > ManageabilityPkg: Support both MCTP and IPMI in KCS tranport library >> > ManageabilityPkg: Check header fields in the MCTP response >> > ManageabilityPkg: Correct typo in MCTP destination EID field >> > ManageabilityPkg: Update the algorithm of using MCTP endpoint ID PCD >> > ManageabilityPkg: Correct value for the MCTP TAG_OWNER response bit >> > ManageabilityPkg: Don't check MCTP header fields if transfer has >> > failed >> > ManageabilityPkg: Use correct constants for PLDM header checks >> > ManageabilityPkg: Return error on multiple-packet MCTP responses >> > ManageabilityPkg: Return error on PLDM header check fails >> > ManageabilityPkg: Check PLDM completion code >> > >> > .../Include/Library/BasePldmProtocolLib.h | 16 + >> > .../Library/ManageabilityTransportMctpLib.h | 9 +- >> > .../Include/Protocol/MctpProtocol.h | 12 +- >> > .../Include/Protocol/PldmProtocol.h | 18 +- >> > .../Protocol/PldmSmbiosTransferProtocol.h | 26 ++ >> > .../Common/KcsCommon.c | 284 +++++++++++++++--- >> > .../Dxe/ManageabilityTransportMctp.c | 4 +- >> > .../PldmProtocolLibrary/Dxe/PldmProtocolLib.c | 49 ++- >> > .../Dxe/PldmProtocolLib.inf | 6 +- >> > .../ManageabilityPkg/ManageabilityPkg.dec | 6 + >> > .../MctpProtocol/Common/MctpProtocolCommon.c | 129 +++++++- >> > .../Universal/MctpProtocol/Dxe/MctpProtocol.c | 51 +++- >> > .../PldmProtocol/Common/PldmProtocolCommon.c | 148 +++------ >> > .../PldmProtocol/Common/PldmProtocolCommon.h | 25 +- >> > .../Universal/PldmProtocol/Dxe/PldmProtocol.c | 69 ++++- >> > .../PldmProtocol/Dxe/PldmProtocolDxe.inf | 4 - >> > .../PldmSmbiosTransferDxe.c | 28 ++ >> > 17 files changed, 690 insertions(+), 194 deletions(-) >> > >> > -- >> > 2.34.1 > > > > >
_._,_._,_

Groups.io Links:

You receive all messages sent to this group.

View/Reply Online (#110374) | | Mute This Topic | New Topic
Your Subscription | Contact Group Owner | Unsubscribe [rebecca@openfw.io]

_._,_._,_