aboutsummaryrefslogtreecommitdiff
path: root/core/pldm/pldm-mctp.c
diff options
context:
space:
mode:
authorChristophe Lombard <clombard@linux.ibm.com>2023-08-29 11:23:27 +0200
committerReza Arbab <arbab@linux.ibm.com>2023-09-12 14:22:11 -0500
commitce16acd4390aba8661b6a9f41d025c25895a8371 (patch)
treef2548286e3fca2a0690582b319a851a527e6f635 /core/pldm/pldm-mctp.c
parent819a4145a85f05c465899d5777d8f94dc3619052 (diff)
downloadskiboot-ce16acd4390aba8661b6a9f41d025c25895a8371.zip
skiboot-ce16acd4390aba8661b6a9f41d025c25895a8371.tar.gz
skiboot-ce16acd4390aba8661b6a9f41d025c25895a8371.tar.bz2
core/pldm: PLDM for Platform Monitoring and Control Specification
This specification defines 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. A PDR (Platform Descriptor Record) is a set of data that is used to provide semantic information about sensors, effecters, monitored or controller entities, and functions and services within a PLDM implementation. PDRs are mostly used to support PLDM monitoring and control and platform events. The PDRs for a PLDM subsystem are collected into a single, central PDR Repository. A central repository provides a single place from which PDR information can be retrieved. The GetPDR command is used to retrieve individual PDRs from a PDR Repository. The record is identified by the PDR recordHandle value that is passed in the request. The patch dump all the PDRs within a PDR Repository. Reviewed-by: Abhishek Singh Tomar <abhishek@linux.ibm.com> Signed-off-by: Christophe Lombard <clombard@linux.ibm.com> Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
Diffstat (limited to 'core/pldm/pldm-mctp.c')
-rw-r--r--core/pldm/pldm-mctp.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/core/pldm/pldm-mctp.c b/core/pldm/pldm-mctp.c
index 569fe25..a07d950 100644
--- a/core/pldm/pldm-mctp.c
+++ b/core/pldm/pldm-mctp.c
@@ -74,18 +74,22 @@ out:
int pldm_mctp_init(void)
{
- int nbr_elt = 3, rc = OPAL_SUCCESS;
+ int nbr_elt = 5, rc = OPAL_SUCCESS;
int (*pldm_config[])(void) = {
ast_mctp_init, /* MCTP Binding */
pldm_responder_init, /* Register mandatory commands we'll respond to */
pldm_requester_init, /* Requester implementation */
+ pldm_base_get_tid_req, /* Get BMC tid */
+ pldm_platform_init, /* Get PDRs data */
};
const char *pldm_config_error[] = {
"Failed to bind MCTP",
"Failed to register mandatory commands",
"Failed to configure requister",
+ "Failed to retrieve BMC Tid",
+ "Failed to retrieve Data Records",
};
prlog(PR_NOTICE, "%s - Getting PLDM data\n", __func__);
@@ -105,5 +109,7 @@ out:
void pldm_mctp_exit(void)
{
+ pldm_platform_exit();
+
ast_mctp_exit();
}