Hi,

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

This module is another IPMI solution?! we will utilize either ManageabilityPkg or IpmiFeaturePkg. And the IPMI protocol specified in the EDK2 repo is used by ManageabilityPkg.

Can we make the IpmiCommandLib more generic so that we don't have to create it again when we use ManageabilityPkg?

Second, because edk2 does not define a protocol for KCS, you don't use "Transport Protocol" and "Protocol Driver" in the KCS ManageabilityTransportLib you implement for reference. But, for other interfaces, we should use the protocol provided by the PI or UEFI specifications.

Please let me know if i was wrong

Thanks,

- Tinh


On 3/3/2023 2:40 PM, Chang, Abner via groups.io wrote:
From: Abner Chang <abner.ch...@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 this version 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.

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           | 375 +++++++++
  .../IpmiProtocol/Common/IpmiProtocolCommon.c  | 245 ++++++
  .../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 +-
  .../Library/RiscVOpensbiLib/opensbi           |   2 +-
  29 files changed, 3908 insertions(+), 3 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



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#100811): https://edk2.groups.io/g/devel/message/100811
Mute This Topic: https://groups.io/mt/97357738/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to