public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Chang, Abner" <abner.chang@amd.com>
To: <devel@edk2.groups.io>
Cc: Abdul Lateef Attar <abdattar@amd.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Michael D Kinney <michael.d.kinney@intel.com>,
	Liming Gao <gaoliming@byosoft.com.cn>,
	Isaac Oram <isaac.w.oram@intel.com>,
	Nickle Wang <nicklew@nvidia.com>
Subject: [PATCH v3 0/8] Introduce ManageabilityPkg
Date: Tue, 21 Mar 2023 11:20:33 +0800	[thread overview]
Message-ID: <20230321032033.1921-1-abner.chang@amd.com> (raw)

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 V3: 1. Address reviewers commnets on V2.
       2. Revise IpmiPpi driver to not using global vriable.

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      |  41 +
 .../BaseManageabilityTransportNull.inf        |  28 +
 .../Dxe/DxeManageabilityTransportKcs.inf      |  44 +
 .../IpmiProtocol/Dxe/IpmiProtocolDxe.inf      |  50 ++
 .../Universal/IpmiProtocol/Pei/IpmiPpiPei.inf |  53 ++
 .../IpmiProtocol/Smm/IpmiProtocolSmm.inf      |  52 ++
 .../Library/ManageabilityTransportHelperLib.h |  93 +++
 .../Library/ManageabilityTransportIpmiLib.h   |  24 +
 .../Library/ManageabilityTransportLib.h       | 336 ++++++++
 .../Common/ManageabilityTransportKcs.h        | 105 +++
 .../IpmiProtocol/Common/IpmiProtocolCommon.h  | 108 +++
 .../IpmiProtocol/Pei/IpmiPpiInternal.h        |  25 +
 .../BaseManageabilityTransportHelper.c        | 261 ++++++
 .../BaseManageabilityTransportNull.c          |  64 ++
 .../Common/KcsCommon.c                        | 502 ++++++++++++
 .../Dxe/ManageabilityTransportKcs.c           | 389 +++++++++
 .../IpmiProtocol/Common/IpmiProtocolCommon.c  | 252 ++++++
 .../Universal/IpmiProtocol/Dxe/IpmiProtocol.c | 177 +++++
 .../Universal/IpmiProtocol/Pei/IpmiPpi.c      | 159 ++++
 .../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 +-
 29 files changed, 4005 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/Universal/IpmiProtocol/Pei/IpmiPpiInternal.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

-- 
2.37.1.windows.1


             reply	other threads:[~2023-03-21  3:20 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-21  3:20 Chang, Abner [this message]
2023-03-21  8:26 ` [edk2-devel] Set PCIE MMIO Range as XD attribute Yoshinoya

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=20230321032033.1921-1-abner.chang@amd.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