[Skiboot] [PATCH 00/19] Implement MCTP and PLDM features

Christophe Lombard clombard at linux.vnet.ibm.com
Sat Feb 26 01:28:29 AEDT 2022


PLDM is designed to be an interface and data model that provides efficient
access to low-level platform inventory, monitoring, control, event, and
data/parameters transfer functions. For example, temperature, voltage, or
fan sensors can have a PLDM representation that can be used to monitor or
control the platform using a set of PLDM messages. PLDM over MCTP binding
defines the format of PLDM over MCTP messages.

This patch set covers these following steps:
- initialize MCTP binding over LPC Bus interface.
- define PLDM responder and PLDM control and discovery requests.
- define PLDM requester and define the functions and data structures used
for discovering, describing, initializing, and accessing sensors and
effecters within the management controllers and management devices of a
platform management subsystem using PLDM messaging. 
- encode and decode APIs for in-band readFile and writeFile commands.

To enable the new PLDM features, add CONFIG_PLDM as a parameter:
  make .... CONFIG_PLDM=1

This patch set should be applied on top of this previous set:
Import external libraries for MCTP/PLDM protocols.

Christophe Lombard (19):
  hw: Move lpc firmware space helpers
  hw/ast-bmc: Initialize ast lpc mctp binding
  core/pldm: PLDM over MCTP Binding
  core/pldm: Add PLDM responder support
  core/pldm: Encode GetTID response
  core/pldm: Encode GetPLDMTypes response
  core/pldm: Encode GetPLDMCommands response
  core/pldm: Encode GetPLDMVersion response
  core/pldm: Implement PLDM requester
  core/pldm: PLDM for Platform Monitoring and Control Specification
  core/pldm: Encode state effecter request
  core/pldm: Send a system firmware Graceful Restart request
  core/pldm: Send a system chassis Off-Soft Graceful request
  core/pldm: PLDM for BIOS Control and Configuration Specification
  core/pldm: Find lid attribute from bios tables
  core/pldm: PLDM for File-IO operations
  core/pldm: Add file io read request
  core/pldm: Add file io write request
  core/pldm: Get file handle and file length

 core/Makefile.inc                  |   6 +-
 core/pldm/Makefile.inc             |  18 ++
 core/pldm/pldm-bios-requests.c     | 348 ++++++++++++++++++++
 core/pldm/pldm-common.c            | 146 +++++++++
 core/pldm/pldm-file-io-requests.c  | 488 +++++++++++++++++++++++++++++
 core/pldm/pldm-platform-requests.c | 398 +++++++++++++++++++++++
 core/pldm/pldm-requester.c         | 268 ++++++++++++++++
 core/pldm/pldm-responder.c         | 328 +++++++++++++++++++
 core/pldm/pldm.h                   |  78 +++++
 hw/ast-bmc/Makefile.inc            |   6 +
 hw/ast-bmc/ast-mctp.c              | 344 ++++++++++++++++++++
 hw/lpc.c                           |  74 +++++
 include/ast.h                      |   6 +
 include/lpc.h                      |   6 +
 include/pldm.h                     |  23 ++
 libflash/ipmi-hiomap.c             |  60 +---
 16 files changed, 2538 insertions(+), 59 deletions(-)
 create mode 100644 core/pldm/Makefile.inc
 create mode 100644 core/pldm/pldm-bios-requests.c
 create mode 100644 core/pldm/pldm-common.c
 create mode 100644 core/pldm/pldm-file-io-requests.c
 create mode 100644 core/pldm/pldm-platform-requests.c
 create mode 100644 core/pldm/pldm-requester.c
 create mode 100644 core/pldm/pldm-responder.c
 create mode 100644 core/pldm/pldm.h
 create mode 100644 hw/ast-bmc/ast-mctp.c
 create mode 100644 include/pldm.h

-- 
2.35.1



More information about the Skiboot mailing list