1 #pragma once 2 3 #include <attn/attn_dump.hpp> 4 5 namespace analyzer 6 { 7 8 enum class AnalysisType 9 { 10 /** 11 * Queries for the root cause of a system checkstop attention. An 12 * unrecoverable PEL will be logged containing any necessary service actions 13 * and the associated FFDC from analysis. 14 */ 15 SYSTEM_CHECKSTOP, 16 17 /** 18 * Queries for any active recoverable or unit checkstop attentions that may 19 * be attributed to a Terminate Immediate (TI) event. If any are found, an 20 * predictive PEL will be logged containing any necessary service actions 21 * and the associated FFDC from analysis. 22 */ 23 TERMINATE_IMMEDIATE, 24 25 /** 26 * Queries for any active attentions. If any are found, an informational PEL 27 * will be logged containing the FFDC from analysis (no service actions 28 * applied). 29 */ 30 MANUAL, 31 }; 32 33 /** 34 * @brief Queries all chips in the host hardware for any active attentions. 35 * Then, it will perform any required RAS service actions based on the 36 * given analysis type. 37 * 38 * @param i_type The type of analysis to perform. See enum above. 39 * 40 * @param o_dump The returned dump data. This data is only set if the input 41 * value of i_type is SYSTEM_CHECKSTOP. 42 * 43 * @return The platform log ID (PLID) of the PEL generated during analysis. Will 44 * return zero if no PEL is generated. 45 */ 46 uint32_t analyzeHardware(AnalysisType i_type, attn::DumpParameters& o_dump); 47 48 } // namespace analyzer 49