diff options
Diffstat (limited to 'src/usr/isteps/nvdimm/plugins')
-rw-r--r-- | src/usr/isteps/nvdimm/plugins/errludP_nvdimm.H | 79 | ||||
-rw-r--r-- | src/usr/isteps/nvdimm/plugins/nvdimmUdParserFactory.H | 10 |
2 files changed, 84 insertions, 5 deletions
diff --git a/src/usr/isteps/nvdimm/plugins/errludP_nvdimm.H b/src/usr/isteps/nvdimm/plugins/errludP_nvdimm.H index 460add6f3..fdd94e01d 100644 --- a/src/usr/isteps/nvdimm/plugins/errludP_nvdimm.H +++ b/src/usr/isteps/nvdimm/plugins/errludP_nvdimm.H @@ -7,6 +7,7 @@ /* */ /* Contributors Listed Below - COPYRIGHT 2014,2019 */ /* [+] International Business Machines Corp. */ +/* [+] YADRO */ /* */ /* */ /* Licensed under the Apache License, Version 2.0 (the "License"); */ @@ -164,6 +165,84 @@ private: UdParserNvdimmParms & operator=(const UdParserNvdimmParms&); }; +/** + * @class UdParserNvdimmOPParms + * + * Parses UdNvdimmOPParms + */ +class UdParserNvdimmOPParms : public ERRORLOG::ErrlUserDetailsParser +{ +public: + /** + * @brief Constructor + */ + UdParserNvdimmOPParms() {} + + /** + * @brief Destructor + */ + virtual ~UdParserNvdimmOPParms() = default; + + /** + * @brief Parses string user detail data from an error log + * + * @param i_version Version of the data + * @param i_parse ErrlUsrParser object for outputting information + * @param i_pBuffer Pointer to buffer containing detail data + * @param i_buflen Length of the buffer + */ + virtual void parse(errlver_t i_version, + ErrlUsrParser & i_parser, + void * i_pBuffer, + const uint32_t i_buflen) const + { + const uint8_t* l_databuf = static_cast<const uint8_t*>(i_pBuffer); + i_parser.PrintHeading("NVDIMM I2C Register Traces"); + + // Memory Layout (1 byte each) + static const char* l_registers[] = { + "MODULE_HEALTH", + "MODULE_HEALTH_STATUS0", + "MODULE_HEALTH_STATUS1", + "CSAVE_STATUS", + "CSAVE_INFO", + "CSAVE_FAIL_INFO0", + "CSAVE_FAIL_INFO1", + "CSAVE_TIMEOUT_INFO0", + "CSAVE_TIMEOUT_INFO1", + "ERROR_THRESHOLD_STATUS", + "NVDIMM_READY", + "NVDIMM_CMD_STATUS0", + "ERASE_STATUS", + "ERASE_FAIL_INFO", + "ERASE_TIMEOUT0", + "ERASE_TIMEOUT1", + "ABORT_CMD_TIMEOUT", + "SET_ES_POLICY_STATUS", + "RESTORE_STATUS", + "RESTORE_FAIL_INFO", + "RESTORE_TIMEOUT0", + "RESTORE_TIMEOUT1", + "ARM_STATUS", + "ARM_FAIL_INFO", + "ARM_TIMEOUT0", + "ARM_TIMEOUT1", + "SET_EVENT_NOTIFICATION_STATUS", + "ENCRYPTION_CONFIG_STATUS" + }; + + for (uint32_t i = 0; i < i_buflen && + i < sizeof(l_registers) / sizeof(l_registers[0]); ++i) + { + i_parser.PrintNumber(l_registers[i], "%02X", l_databuf[i]); + } + } + + // Disabled + UdParserNvdimmOPParms(const UdParserNvdimmOPParms&) = delete; + UdParserNvdimmOPParms & operator=(UdParserNvdimmOPParms &) = delete; +}; + } // end NVDIMM namespace #endif diff --git a/src/usr/isteps/nvdimm/plugins/nvdimmUdParserFactory.H b/src/usr/isteps/nvdimm/plugins/nvdimmUdParserFactory.H index b27774b13..f208ac060 100644 --- a/src/usr/isteps/nvdimm/plugins/nvdimmUdParserFactory.H +++ b/src/usr/isteps/nvdimm/plugins/nvdimmUdParserFactory.H @@ -38,14 +38,14 @@ namespace NVDIMM { registerParser<NVDIMM::UdParserNvdimmParms> (NVDIMM_UDT_PARAMETERS); + registerParser<NVDIMM::UdParserNvdimmOPParms> + (NVDIMM_OP_PARAMETERS); } - private: - - UserDetailsParserFactory(const UserDetailsParserFactory &); - UserDetailsParserFactory & operator= - (const UserDetailsParserFactory &); + UserDetailsParserFactory(const UserDetailsParserFactory &) = delete; + UserDetailsParserFactory & operator=(UserDetailsParserFactory &) = delete; }; + }; #endif |