| #pragma once |
| |
| #include <attn/attn_dump.hpp> |
| |
| 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 |