#pragma once #include namespace analyzer { enum class AnalysisType { /** * Queries for the root cause of a system checkstop attention. An * unrecoverable PEL will be logged containing any necessary service actions * and the associated FFDC from analysis. */ SYSTEM_CHECKSTOP, /** * Queries for any active recoverable or unit checkstop attentions that may * be attributed to a Terminate Immediate (TI) event. If any are found, an * predictive PEL will be logged containing any necessary service actions * and the associated FFDC from analysis. */ TERMINATE_IMMEDIATE, /** * Queries for any active attentions. If any are found, an informational PEL * will be logged containing the FFDC from analysis (no service actions * applied). */ MANUAL, }; /** * @brief Queries all chips in the host hardware for any active attentions. * Then, it will perform any required RAS service actions based on the * given analysis type. * * @param i_type The type of analysis to perform. See enum above. * * @param o_dump The returned dump data. This data is only set if the input * value of i_type is SYSTEM_CHECKSTOP. * * @return The platform log ID (PLID) of the PEL generated during analysis. Will * return zero if no PEL is generated. */ uint32_t analyzeHardware(AnalysisType i_type, attn::DumpParameters& o_dump); } // namespace analyzer