public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Tinh Nguyen" <tinhnguyen@os.amperecomputing.com>
To: devel@edk2.groups.io, abner.chang@amd.com
Subject: Re: [edk2-devel] [edk2-platforms][PATCH V2 0/8] Introduce ManageabilityPkg
Date: Thu, 9 Mar 2023 22:14:00 +0700	[thread overview]
Message-ID: <be0a823a-bff0-0ec4-9893-425cd31c8366@amperemail.onmicrosoft.com> (raw)
In-Reply-To: <20230308141647.1318-1-abner.chang@amd.com>

Hi Abner,

I'm not sure if I understand this module completely.

This module is another IPMI solution? we will utilize either 
ManageabilityPkg (using IPMI protocol specified in the EDK2 repo) or 
IpmiFeaturePkg (using IpmiTransportProtocol). How do I use 
IpmiCommandLib 
(IpmiFeaturePkg/Library/IpmiCommandLib/IpmiCommandLib.inf) in combined 
with ManageabilityPkg?

Another question, you don't use "Transport Protocol" and "Protocol 
Driver" in the KCS ManageabilityTransportLib you implement for reference 
because edk2 does not define a protocol for KCS , right?

However, if I want to support other interfaces, I should build 
"ManageabilityTransportLib" using the protocol provided by the PI or 
UEFI specifications.

Thanks,

- Tinh

On 3/8/2023 9:16 PM, Chang, Abner via groups.io wrote:
> From: Abner Chang <abner.chang@amd.com>
>
> edk2 ManageabilityPkg is introduced to provide edk2 drivers
> and libraries for industry platform management standards,
> such as PLDM (Platform Level Data Model), MCTP (Management
> Component Transfer Protocol),
> IPMI (Intelligent Platform Management Interface) and others.
> The framework of ManageabilityPkg is designed to flexibly
> support the transport interfaces for above industry
> standards, the transport interfaces such as KCS or I2C for
> IPMI, PCI VDM (Vendor Defined Message),
> I2C or KCS for MCTP, or the OEM proprietary transports.
> Please check the Readme file for the design guidance:
> https://github.com/changab/edk2-platforms/blob/Manageability_IPMI_upstream/Features/ManageabilityPkg/Readme.md
>
> In V2: Fix some issues on below files,
>    1. Features/ManageabilityPkg/Library/Common/KcsCommon.c
>    2. Features/ManageabilityPkg/Library/Dxe/ManageabilityTransportKcs.c
>    3. Features/ManageabilityPkg/Universal/IpmiProtocol/Common/IpmiprotocolCommon.c
>
> In V1, we had implemented,
> - KCS manageability transport library
> - Manageability library helper library
> - IPMI PEI/DXE/SMM protocol implementations
>
> Next upstream would be edk2 MCTP_PROTOCOL
> implementation that also consumes the manageability
> transport libraries.
>
> Signed-off-by: Abner Chang <abner.chang@amd.com>
> Cc: Abdul Lateef Attar <abdattar@amd.com>
> Cc: Leif Lindholm <quic_llindhol@quicinc.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Isaac Oram <isaac.w.oram@intel.com>
> Cc: Nickle Wang <nicklew@nvidia.com>
>
> Abner Chang (8):
>    ManageabilityPkg: Add Readme file
>    ManageabilityPkg: Initial package
>    ManageabilityPkg: Add NULL ManageabilityTransportLib
>    ManageabilityPkg: Add ManageabilityTransportHelperLib
>    ManageabilityPkg/ManageabilityTransportKcsLib
>    ManageabilityPkg: Implement Ipmi Protocol/Ppi
>    ManageabilityPkg: Add IpmiProtocol to Manageability Package
>    edk2-platforms: Maintainers.txt
>
>   .../ManageabilityPkg/ManageabilityPkg.dec     |  48 ++
>   .../Include/Dsc/Manageability.dsc             |  25 +
>   .../ManageabilityPkg/ManageabilityPkg.dsc     |  45 ++
>   .../BaseManageabilityTransportHelper.inf      |  40 +
>   .../BaseManageabilityTransportNull.inf        |  28 +
>   .../Dxe/DxeManageabilityTransportKcs.inf      |  44 +
>   .../IpmiProtocol/Dxe/IpmiProtocolDxe.inf      |  50 ++
>   .../Universal/IpmiProtocol/Pei/IpmiPpiPei.inf |  51 ++
>   .../IpmiProtocol/Smm/IpmiProtocolSmm.inf      |  52 ++
>   .../Library/ManageabilityTransportHelperLib.h |  93 +++
>   .../Library/ManageabilityTransportIpmiLib.h   |  24 +
>   .../Library/ManageabilityTransportLib.h       | 335 ++++++++
>   .../Common/ManageabilityTransportKcs.h        | 106 +++
>   .../IpmiProtocol/Common/IpmiProtocolCommon.h  | 108 +++
>   .../BaseManageabilityTransportHelper.c        | 242 ++++++
>   .../BaseManageabilityTransportNull.c          |  64 ++
>   .../Common/KcsCommon.c                        | 480 +++++++++++
>   .../Dxe/ManageabilityTransportKcs.c           | 384 +++++++++
>   .../IpmiProtocol/Common/IpmiProtocolCommon.c  | 247 ++++++
>   .../Universal/IpmiProtocol/Dxe/IpmiProtocol.c | 177 +++++
>   .../Universal/IpmiProtocol/Pei/IpmiPpi.c      | 151 ++++
>   .../Universal/IpmiProtocol/Smm/IpmiProtocol.c | 147 ++++
>   Features/ManageabilityPkg/Readme.md           | 177 +++++
>   .../Media/ManageabilityDriverStack.svg        | 752 ++++++++++++++++++
>   .../BaseManageabilityTransportHelper.uni      |  13 +
>   .../BaseManageabilityTransportNull.uni        |  13 +
>   .../Dxe/ManageabilityTransportKcs.uni         |  13 +
>   Maintainers.txt                               |  11 +-
>   28 files changed, 3918 insertions(+), 2 deletions(-)
>   create mode 100644 Features/ManageabilityPkg/ManageabilityPkg.dec
>   create mode 100644 Features/ManageabilityPkg/Include/Dsc/Manageability.dsc
>   create mode 100644 Features/ManageabilityPkg/ManageabilityPkg.dsc
>   create mode 100644 Features/ManageabilityPkg/Library/BaseManageabilityTransportHelperLib/BaseManageabilityTransportHelper.inf
>   create mode 100644 Features/ManageabilityPkg/Library/BaseManageabilityTransportNullLib/BaseManageabilityTransportNull.inf
>   create mode 100644 Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Dxe/DxeManageabilityTransportKcs.inf
>   create mode 100644 Features/ManageabilityPkg/Universal/IpmiProtocol/Dxe/IpmiProtocolDxe.inf
>   create mode 100644 Features/ManageabilityPkg/Universal/IpmiProtocol/Pei/IpmiPpiPei.inf
>   create mode 100644 Features/ManageabilityPkg/Universal/IpmiProtocol/Smm/IpmiProtocolSmm.inf
>   create mode 100644 Features/ManageabilityPkg/Include/Library/ManageabilityTransportHelperLib.h
>   create mode 100644 Features/ManageabilityPkg/Include/Library/ManageabilityTransportIpmiLib.h
>   create mode 100644 Features/ManageabilityPkg/Include/Library/ManageabilityTransportLib.h
>   create mode 100644 Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/ManageabilityTransportKcs.h
>   create mode 100644 Features/ManageabilityPkg/Universal/IpmiProtocol/Common/IpmiProtocolCommon.h
>   create mode 100644 Features/ManageabilityPkg/Library/BaseManageabilityTransportHelperLib/BaseManageabilityTransportHelper.c
>   create mode 100644 Features/ManageabilityPkg/Library/BaseManageabilityTransportNullLib/BaseManageabilityTransportNull.c
>   create mode 100644 Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/KcsCommon.c
>   create mode 100644 Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Dxe/ManageabilityTransportKcs.c
>   create mode 100644 Features/ManageabilityPkg/Universal/IpmiProtocol/Common/IpmiProtocolCommon.c
>   create mode 100644 Features/ManageabilityPkg/Universal/IpmiProtocol/Dxe/IpmiProtocol.c
>   create mode 100644 Features/ManageabilityPkg/Universal/IpmiProtocol/Pei/IpmiPpi.c
>   create mode 100644 Features/ManageabilityPkg/Universal/IpmiProtocol/Smm/IpmiProtocol.c
>   create mode 100644 Features/ManageabilityPkg/Readme.md
>   create mode 100644 Features/ManageabilityPkg/Documents/Media/ManageabilityDriverStack.svg
>   create mode 100644 Features/ManageabilityPkg/Library/BaseManageabilityTransportHelperLib/BaseManageabilityTransportHelper.uni
>   create mode 100644 Features/ManageabilityPkg/Library/BaseManageabilityTransportNullLib/BaseManageabilityTransportNull.uni
>   create mode 100644 Features/ManageabilityPkg/Library/ManageabilityTransportKcsLib/Dxe/ManageabilityTransportKcs.uni
>

  parent reply	other threads:[~2023-03-09 15:14 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-08 14:16 [edk2-platforms][PATCH V2 0/8] Introduce ManageabilityPkg Chang, Abner
2023-03-08 14:16 ` [edk2-platforms][PATCH V2 1/8] ManageabilityPkg: Add Readme file Chang, Abner
2023-03-20  7:59   ` Nickle Wang
2023-03-08 14:16 ` [edk2-platforms][PATCH V2 2/8] ManageabilityPkg: Initial package Chang, Abner
2023-03-20  8:07   ` Nickle Wang
2023-03-08 14:16 ` [edk2-platforms][PATCH V2 3/8] ManageabilityPkg: Add NULL ManageabilityTransportLib Chang, Abner
2023-03-20  8:13   ` Nickle Wang
2023-03-08 14:16 ` [edk2-platforms][PATCH V2 4/8] ManageabilityPkg: Add ManageabilityTransportHelperLib Chang, Abner
2023-03-20  8:25   ` Nickle Wang
2023-03-08 14:16 ` [edk2-platforms][PATCH V2 5/8] ManageabilityPkg/ManageabilityTransportKcsLib Chang, Abner
2023-03-20 13:32   ` Nickle Wang
2023-03-21  1:34     ` Chang, Abner
2023-03-08 14:16 ` [edk2-platforms][PATCH V2 6/8] ManageabilityPkg: Implement Ipmi Protocol/Ppi Chang, Abner
2023-03-20 13:39   ` Nickle Wang
2023-03-21  2:01     ` Chang, Abner
2023-03-08 14:16 ` [edk2-platforms][PATCH V2 7/8] ManageabilityPkg: Add IpmiProtocol to Manageability Package Chang, Abner
2023-03-20 13:19   ` Nickle Wang
2023-03-08 14:16 ` [edk2-platforms][PATCH V2 8/8] edk2-platforms: Maintainers.txt Chang, Abner
2023-03-20 13:19   ` Nickle Wang
2023-03-09 15:14 ` Tinh Nguyen [this message]
2023-03-09 16:38   ` [edk2-devel] [edk2-platforms][PATCH V2 0/8] Introduce ManageabilityPkg Chang, Abner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=be0a823a-bff0-0ec4-9893-425cd31c8366@amperemail.onmicrosoft.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox