Skip to content

Commit f9f0749

Browse files
author
Ilya Smirnov
committed
Odyssey FFDC: Connect to PLDM
This commit connects the Odyssey FIFO FFDC dump chipop to PLDM. A user can execute the following PLDM command to trigger an Odyssey FFDC dump at a "stable" point in IPL (like in between Hostboot isteps): pldmtool raw -m 9 -d 0x80 0x3F 0x0D pldmtool raw -m 10 -d 0x80 0x3F 0x0D // For HBRT The command will request all functional Odyssey chips in the system to return FFDC. The FFDC (attribute data and traces) is then placed in an error log (one error log per OCMB). Change-Id: I62805b01e917d9e956ac6fd99d25b77ef6f74549 JIRA: PFHB-254 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/158695 Reviewed-by: Deborah L McLemore <[email protected]> Reviewed-by: Daniel M Crowell <[email protected]> Tested-by: Jenkins OP Build CI <[email protected]> Tested-by: Jenkins Server <[email protected]> Tested-by: Jenkins Combined Simics CI <[email protected]> Tested-by: Jenkins OP HW <[email protected]> Tested-by: Hostboot CI <[email protected]> Reviewed-by: Ilya Smirnov <[email protected]>
1 parent 1b80bec commit f9f0749

File tree

5 files changed

+28
-4
lines changed

5 files changed

+28
-4
lines changed

src/include/usr/pldm/responses/pldm_oem_responders.H

+14-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/* */
66
/* OpenPOWER HostBoot Project */
77
/* */
8-
/* Contributors Listed Below - COPYRIGHT 2022 */
8+
/* Contributors Listed Below - COPYRIGHT 2022,2023 */
99
/* [+] International Business Machines Corp. */
1010
/* */
1111
/* */
@@ -60,5 +60,18 @@ errlHndl_t handleGetPldmAttrDumpRequest(MCTP::mctp_outbound_msgq_t i_msgQ,
6060
errlHndl_t handleHtmgtRequest(MCTP::mctp_outbound_msgq_t i_msgQ,
6161
const pldm_mctp_message& i_msg);
6262

63+
/**
64+
* @brief handleOdyFFDCRequest
65+
*
66+
* Handler for intercepting the Odyssey FIFO FFDC request from BMC.
67+
*
68+
* @param[in] i_msgQ Handle to the MCTP outbound message queue
69+
* @param[in] i_msg Request message object
70+
*
71+
* @return always nullptr
72+
*/
73+
errlHndl_t handleOdyFFDCRequest(MCTP::mctp_outbound_msgq_t i_msgQ,
74+
const pldm_mctp_message& i_msg);
75+
6376
} // namespace PLDM
6477
#endif

src/subtree/openbmc/pldm/libpldm/include/libpldm/oem/ibm/libpldm/file_io.h

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ enum pldm_fileio_commands {
2626
PLDM_NEW_FILE_AVAILABLE_WITH_META_DATA = 0xE,
2727
PLDM_FILE_ACK_WITH_META_DATA = 0xF,
2828

29+
PLDM_GET_ODY_FFDC = 0xD, // Note overlap with earlier commands
2930
PLDM_GET_ATTR_DUMP = 0xE, // Note overlap with earlier commands
3031
PLDM_HTMGT_REQUEST = 0xF, // Note overlap with earlier commands
3132
};

src/usr/pldm/common/common.mk

+1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ EXTRAINCDIR += ${COMMON_ROOTPATH}/src/import/hwpf/fapi2/include/
5252
EXTRAINCDIR += ${COMMON_ROOTPATH}/src/include/usr/fapi2/
5353
EXTRAINCDIR += ${COMMON_ROOTPATH}/src/import/chips/p10/common/include/
5454
EXTRAINCDIR += ${COMMON_ROOTPATH}/src/import/chips/common/utils/imageProcs
55+
EXTRAINCDIR += ${COMMON_ROOTPATH}/src/import/chips/common/utils/
5556
EXTRAINCDIR += ${COMMON_ROOTPATH}/src/import/chips/p10/procedures/hwp/ffdc
5657
EXTRAINCDIR += ${COMMON_ROOTPATH}/src/import/chips/p10/procedures/hwp/sbe
5758
EXTRAINCDIR += ${COMMON_ROOTPATH}/src/import/chips/p10/procedures/hwp/perv

src/usr/pldm/extended/pldm_responder.C

+3-2
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,11 @@ const msg_type_handler pldm_fru_data_handlers[] =
119119

120120
const msg_type_handler pldm_oem_handlers[] =
121121
{
122-
{ PLDM_GET_ATTR_DUMP, handleGetPldmAttrDumpRequest }
122+
{ PLDM_GET_ATTR_DUMP, handleGetPldmAttrDumpRequest },
123123
#ifdef CONFIG_HTMGT
124-
,{ PLDM_HTMGT_REQUEST, handleHtmgtRequest }
124+
{ PLDM_HTMGT_REQUEST, handleHtmgtRequest },
125125
#endif
126+
{ PLDM_GET_ODY_FFDC, handleOdyFFDCRequest }
126127
};
127128

128129
/*** Top-level table of handler tables ***/

src/usr/pldm/responses/pldm_oem_responders.C

+9-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/* */
66
/* OpenPOWER HostBoot Project */
77
/* */
8-
/* Contributors Listed Below - COPYRIGHT 2022 */
8+
/* Contributors Listed Below - COPYRIGHT 2022,2023 */
99
/* [+] International Business Machines Corp. */
1010
/* */
1111
/* */
@@ -33,6 +33,7 @@
3333
#include <pldm/pldm_response.H> // send_cc_only_response
3434
#include <pldm/pldm_trace.H> // PLDM_INF
3535
#include <htmgt/htmgt.H>
36+
#include <sbeio/sbeioif.H>
3637

3738
namespace PLDM
3839
{
@@ -111,4 +112,11 @@ errlHndl_t handleHtmgtRequest(const MCTP::mctp_outbound_msgq_t i_msgQ,
111112
return l_errl;
112113
}
113114

115+
errlHndl_t handleOdyFFDCRequest(const MCTP::mctp_outbound_msgq_t i_msgQ,
116+
const pldm_mctp_message& i_msg)
117+
{
118+
SBEIO::handleGenFifoSBEFFDCErrlRequest();
119+
return nullptr;
120+
}
121+
114122
} // namespace PLDM

0 commit comments

Comments
 (0)