/openbmc/phosphor-logging/extensions/openpower-pels/ |
H A D | sbe_ffdc_handler.cpp | 77 lg2::info("SBE FFDC processing requested"); in SbeFFDC() 80 // associated to the SBE FFDC in SbeFFDC() 113 lg2::info("SbeFFDC : No files found, skipping ffdc processing"); in SbeFFDC() 130 lg2::info("SBE FFDC file fd:({FD}), parsing started", "FD", fd); in parse() 135 // get SBE FFDC data. in parse() 139 lg2::error("Empty SBE FFDC file fd:({FD}), skipping", "FD", fd); in parse() 146 // Next un-extracted FFDC Packet in parse() 154 p10FfdcHeader* ffdc = reinterpret_cast<p10FfdcHeader*>( in parse() local 156 lenWords = ntohs(ffdc->lengthinWords); in parse() 157 auto fapiRc = ntohl(ffdc->fapiRc); in parse() [all …]
|
H A D | sbe_ffdc_handler.hpp | 17 // SBE FFDC sub type. 21 * @brief FFDC Package structure and definitions based on SBE chip-op spec. 23 * SBE FFDC Starts with a header word (Word 0) that has an unique magic 24 * identifier code of 0xFFDC followed by the length of the FFDC package 29 * contents of subsequent FFDC Data Words (0-N). 31 * A FFDC package can typically contain debug data from either: 42 * | Word 3 | FFDC Data – Word 0 | 44 * | Word N+3 | FFDC Data – Word N | 48 * First FFDC packet structure 56 * | Word 4 | HWP FFDC Dump Fields (Local FFDC | HW Register) | [all …]
|
H A D | fapi_data_process.cpp | 245 * @param[in] ffdc FFDC data capturd by the HWP 248 * @param[out] ffdcUserData used to store additional ffdc user data to 249 * provided by the SBE FFDC packet. 255 const FFDC& ffdc, json& pelJSONFmtCalloutDataList, FFDCData& ffdcUserData) in processClockInfoErrorHelper() argument 257 lg2::info("processClockInfoErrorHelper: FFDC Message[{FFDC_MSG}]", in processClockInfoErrorHelper() 258 "FFDC_MSG", ffdc.message); in processClockInfoErrorHelper() 261 ffdcUserData.emplace_back("HWP_RC", ffdc.hwp_errorinfo.rc); in processClockInfoErrorHelper() 262 ffdcUserData.emplace_back("HWP_RC_DESC", ffdc.hwp_errorinfo.rc_desc); in processClockInfoErrorHelper() 264 // Adding hardware procedures required ffdc data for debug in processClockInfoErrorHelper() 265 for_each(ffdc.hwp_errorinfo.ffdcs_data.cbegin(), in processClockInfoErrorHelper() [all …]
|
H A D | fapi_data_process.hpp | 20 * @brief Used to convert processed SBE FFDC FAPI format packets into 23 * @param[in] ffdc FFDC data capturd by the HWP 26 * @param[out] ffdcUserData used to store additional ffdc user data to 27 * provided by the SBE FFDC packet. 32 void convertFAPItoPELformat(FFDC& ffdc, json& pelJSONFmtCalloutDataList,
|
H A D | README.md | 18 - [SBE FFDC](#self-boot-engine-first-failure-data-capture-support) 140 ### FFDC Intended For UserData PEL sections 142 When one needs to add FFDC into the PEL UserData sections, the 315 ### Specifying multiple callouts using JSON format FFDC files 319 [FFDC file](#ffdc-intended-for-userdata-pel-sections). The JSON will still be 322 To specify that an FFDC file contains callouts, the format value for that FFDC 326 using FFDC = std::tuple<CreateIface::FFDCFormat, 331 FFDC ffdc{ 667 During SBE chip-op failure SBE creates FFDC with custom data format. SBE FFDC 669 user data also Hardware procedure failure FFDC created by FAPI infrastructure. [all …]
|
/openbmc/openbmc-test-automation/lib/ |
H A D | openbmc_ffdc_methods.robot | 3 ... data to a list of FFDC files 29 # Method : Call FFDC Methods # 30 # Execute the user define keywords from the FFDC List # 32 # list of keywords defined in the FFDC list at one go # 34 Call FFDC Methods 35 [Documentation] Call into FFDC Keyword index list. 39 # ffdc_function_list A colon-delimited list naming the kinds of FFDC that 41 # (e.g. "FFDC Generic Report:BMC Specific Files"). 45 # obtained via a call to 'Get FFDC Method Desc' (also 48 @{entries}= Get FFDC Method Index [all …]
|
H A D | openbmc_ffdc.py | 22 def ffdc( function 29 Gather First Failure Data Capture (FFDC). 33 - Create FFDC work space directory. 35 - Call BMC methods to write/collect FFDC data. 38 ffdc_dir_path The dir path where FFDC data should be put. 39 ffdc_prefix The prefix to be given to each FFDC file name generated. 40 …ffdc_function_list A colon-delimited list of all the types of FFDC data you wish to h… 41 … collected. A blank value means that all possible kinds of FFDC are to be 44 …comm_check Do a communications check prior to collecting FFDC. If commincati… 45 the BMC can't be established, abort the FFDC collection. [all …]
|
H A D | ffdc_cli_robot_script.py | 8 sys.path.append(__file__.split(__file__.split("/")[-1])[0] + "../ffdc") 32 the new ffdc collector ../ffdc/ffdc_collector.py via robot variable FFDC_DEFAULT 34 variable FFDC_DEFAULT:1, by default use the existing ffdc collection method. 35 variable FFDC_DEFAULT:0 use the new ffdc method 38 (1) Legacy ffdc collection 41 (2) New ffdc collection 48 xx_USERNAME:username user on the targeted system with access to FFDC files 50 xx_CONFIG:ffdc_config configuration file listing commands and files for FFDC 51 xx_LOCATION:location where to store collected FFDC. Default: <current dir>/logs/ 60 Run Keyword If ${FFDC_DEFAULT} == ${1} FFDC [all …]
|
H A D | openbmc_ffdc.robot | 6 ... FFDC logging sample layout: 40 FFDC On Test Case Fail 41 [Documentation] Generic FFDC entry point. Place holder to hook in 49 ... 3. Delete error logs and BMC dumps post FFDC collection. 55 Run Keyword If '${TEST_STATUS}' == 'FAIL' Launch FFDC 60 Launch FFDC 61 [Documentation] Call point to call FFDC robot or FFDC script. 63 ... FFDC_DEFAULT:1 use legacy ffdc collector 64 ... FFDC_DEFAULT:0 use new ffdc collector. 66 Run Keyword If ${FFDC_DEFAULT} == ${1} FFDC # Keyword from openbmc_ffdc.py
|
H A D | openbmc_ffdc_utils.robot | 2 Documentation Utility keywords for FFDC 38 Create FFDC Directory 41 Create FFDC Report File 44 Create FFDC Report File 45 [Documentation] Create a generic file name for ffdc 52 [Documentation] Write data to the ffdc report document 95 # --- FFDC header notes --- 96 @{entries}= Get ffdc cmd index 106 Write Cmd Output to FFDC File
|
/openbmc/openpower-hw-diags/analyzer/ |
H A D | service_data.cpp | 14 // Add the callout FFDC. in calloutTarget() 15 nlohmann::json ffdc; in calloutTarget() local 16 ffdc["Callout Type"] = "Hardware Callout"; in calloutTarget() 17 ffdc["Target"] = util::pdbg::getPhysDevPath(i_target); in calloutTarget() 18 ffdc["Priority"] = callout::getStringFFDC(i_priority); in calloutTarget() 19 ffdc["Guard"] = i_guard; in calloutTarget() 20 addCalloutFFDC(ffdc); in calloutTarget() 36 // Add the callout FFDC. in calloutConnected() 37 nlohmann::json ffdc; in calloutConnected() local 38 ffdc["Callout Type"] = "Connected Callout"; in calloutConnected() [all …]
|
/openbmc/openpower-proc-control/extensions/phal/ |
H A D | phal_error.cpp | 342 * @param[in] ffdc - FFDC data capturd by the HWP 345 void processClockInfoErrorHelper(FFDC* ffdc, const std::string& ffdc_prefix) in processClockInfoErrorHelper() argument 350 std::format("processClockInfoErrorHelper: FFDC Message[{}]", in processClockInfoErrorHelper() 351 ffdc->message) in processClockInfoErrorHelper() 358 // To store phal trace and other additional data about ffdc. in processClockInfoErrorHelper() 363 pelAdditionalData.emplace_back(keyWithPrefix, ffdc->hwp_errorinfo.rc); in processClockInfoErrorHelper() 366 ffdc->hwp_errorinfo.rc_desc); in processClockInfoErrorHelper() 368 // Adding hardware procedures required ffdc data for debug in processClockInfoErrorHelper() 369 for_each(ffdc->hwp_errorinfo.ffdcs_data.begin(), in processClockInfoErrorHelper() 370 ffdc->hwp_errorinfo.ffdcs_data.end(), in processClockInfoErrorHelper() [all …]
|
H A D | create_pel.hpp | 65 * @brief This class is used to create ffdc data file and to get fd 77 * Used to pass json object to create unique ffdc file by using 83 * Used to remove created ffdc file. 88 * Used to get created ffdc file file descriptor id. 96 * Used to store callout ffdc data from passed json object. 101 * Used to store unique ffdc file name. 106 * Used to store created ffdc file descriptor id. 111 * Used to create ffdc file to pass PEL api for creating 119 * Create unique ffdc file. 133 * Used set ffdc file seek position begining to consume by PEL [all …]
|
/openbmc/openpower-debug-collector/dump/ |
H A D | create_pel.hpp | 53 * @brief Process FFDC packets and create PELs for each packet. 55 * @param[in] sbeError - An SBE error object containing FFDC packet information. 66 * @brief This class is used to create ffdc data file and to get fd 78 * Used to pass json object to create unique ffdc file by using 84 * Used to remove created ffdc file. 89 * Used to get created ffdc file file descriptor id. 97 * Used to store callout ffdc data from passed json object. 102 * Used to store unique ffdc file name. 107 * Used to store created ffdc file descriptor id. 112 * Used to create ffdc file to pass PEL api for creating [all …]
|
/openbmc/openpower-occ-control/ |
H A D | occ_ffdc.hpp | 75 /** @class FFDC 76 * @brief Monitors for SBE FFDC availability 78 class FFDC : public Error class 81 FFDC() = delete; 82 FFDC(const FFDC&) = delete; 83 FFDC& operator=(const FFDC&) = delete; 84 FFDC(FFDC&&) = default; 85 FFDC& operator=(FFDC&&) = default; 87 /** @brief Constructs the FFDC object 90 * @param[in] file - File used by driver to communicate FFDC data [all …]
|
H A D | occ_ffdc.cpp | 36 uint32_t FFDC::createPEL(const char* path, uint32_t src6, const char* msg, in createPEL() 45 lg2::info("Creating PEL for OCC{INST} with SBE FFDC: {PATH} - SRC6: {SRC}", in createPEL() 56 // Add journal traces to PEL FFDC in createPEL() 98 void FFDC::createOCCResetPEL(unsigned int instance, const char* path, int err, in createOCCResetPEL() 136 FFDCFiles ffdc; in createOCCResetPEL() local 137 // Add journal traces to PEL FFDC in createOCCResetPEL() 139 addJournalEntries(ffdc, "openpower-occ-control", 25); in createOCCResetPEL() 155 method.append(path, level, additionalData, ffdc); in createOCCResetPEL() 164 // Reads the SBE FFDC file and create an error log 165 void FFDC::analyzeEvent() in analyzeEvent() [all …]
|
/openbmc/phosphor-logging/test/openpower-pels/ |
H A D | pel_test.cpp | 169 PelFFDC ffdc; in TEST_F() local 172 ad, ffdc, dataIface, journal}; in TEST_F() 217 ad, ffdc, in TEST_F() 237 PelFFDC ffdc; in TEST_F() local 246 ad, ffdc, dataIface, journal}; in TEST_F() 497 PelFFDCfile ffdc; in getJSONFFDC() local 498 ffdc.format = UserDataFormat::json; in getJSONFFDC() 499 ffdc.subType = 5; in getJSONFFDC() 500 ffdc.version = 42; in getJSONFFDC() 512 ffdc.fd = writeFileAndGetFD(dir, data); in getJSONFFDC() [all …]
|
/openbmc/openbmc-test-automation/tools/ |
H A D | myffdc.robot | 33 Test Teardown Gather FFDC 37 My FFDC Logs 38 [Documentation] This test is needed to satisfy FFDC initial setup auto 39 ... variables required for FFDC collection. 40 Log To Console Manual FFDC collection 44 Gather FFDC 45 [Documentation] Call point to call FFDC robot or FFDC script.. 46 Run Keyword If ${FFDC_DEFAULT} == ${1} FFDC # Keyword from openbmc_ffdc.py
|
/openbmc/openpower-debug-collector/watchdog/ |
H A D | watchdog_main.cpp | 86 // Capture FFDC information on primary processor in handleSbeBootError() 91 // Failed to collect FFDC information in handleSbeBootError() 101 lg2::info("No FFDC data"); in handleSbeBootError() 119 // FFDC in handleSbeBootError() 120 auto ffdc = std::vector<FFDCTuple>{}; in handleSbeBootError() 121 // get SBE ffdc file descriptor in handleSbeBootError() 124 // Log error with additional ffdc if fd is valid in handleSbeBootError() 127 ffdc.push_back( in handleSbeBootError() 140 // In this case no SBE FFDC information available and in handleSbeBootError() 146 ffdc.push_back(std::make_tuple( in handleSbeBootError() [all …]
|
H A D | ffdc_file.hpp | 27 * File that contains FFDC (first failure data capture) data in json format. 29 * This class is used to store FFDC json callout data in an error log. 45 * @details Creates the FFDC file by using passed json data. 76 * @brief Temporary file where FFDC data is stored. 92 * @brief Used to store callout ffdc data from passed json object 97 * @brief Creates FFDC file for creating PEL records.
|
/openbmc/linux/drivers/hwmon/occ/ |
H A D | p9_sbe.c | 23 void *ffdc; member 26 struct mutex sbe_error_lock; /* lock access to ffdc data */ 42 rc = memory_read_from_buffer(buf, count, &pos, ctx->ffdc, in ffdc_read() 51 static BIN_ATTR_RO(ffdc, OCC_MAX_RESP_WORDS * 4); 61 kvfree(ctx->ffdc); in p9_sbe_occ_save_ffdc() 62 ctx->ffdc = kvmalloc(resp_len, GFP_KERNEL); in p9_sbe_occ_save_ffdc() 63 if (!ctx->ffdc) { in p9_sbe_occ_save_ffdc() 75 memcpy(ctx->ffdc, resp, resp_len); in p9_sbe_occ_save_ffdc() 162 "failed to create SBE error ffdc file\n"); in p9_sbe_occ_probe() 180 kvfree(ctx->ffdc); in p9_sbe_occ_remove()
|
/openbmc/openbmc-test-automation/bin/plug_ins/FFDC/ |
H A D | cp_ffdc_check | 17 "%(prog)s will determine whether FFDC should be collected. If so, it" 68 "The caller wishes to dump FFDC after each boot failure." 72 print_timen("The caller wishes to dump FFDC after each boot test.") 77 print_timen("The caller wishes to dump FFDC.") 85 + " caller wishes to dump FFDC on soft errors." 89 print_timen("The caller does not wish for any FFDC to be collected.")
|
/openbmc/phosphor-power/phosphor-regulators/src/ |
H A D | error_logging.cpp | 122 // Create FFDC file of type Text in createFFDCFile() 147 std::string{"Unable to write to FFDC file: "} + in createFFDCFile() 159 std::string{"Unable to seek within FFDC file: "} + strerror(errno)}; in createFFDCFile() 169 // Create FFDC files containing journal messages from relevant executables. in createFFDCFiles() 170 // Executables in priority order in case error log cannot hold all the FFDC. in createFFDCFiles() 180 // Create FFDC file containing the journal messages in createFFDCFiles() 217 // Create FFDC files containing debug data to store in error log in logError() 220 // Create FFDC tuples used to pass FFDC files to D-Bus method in logError() 223 // Call D-Bus method to create an error log with FFDC files in logError() 232 // Remove FFDC files. If an exception occurs before this, the files in logError() [all …]
|
/openbmc/openpower-hw-diags/util/ |
H A D | ffdc.hpp | 14 * of interest for logging. For each of these entries create a ffdc trace file 15 * that will be used to create ffdc log entries. These files will be pushed 16 * onto the stack of ffdc files. 18 * @param i_files - vector of ffdc files that will become log entries
|
/openbmc/phosphor-logging/ |
H A D | log_manager.hpp | 179 * @param[in] ffdc - A vector of tuples that allows one to pass in file 180 * descriptors for files that contain FFDC (First 186 const FFDCEntries& ffdc = FFDCEntries{}) 259 * @param[in] ffdc - A vector of FFDC file info 261 void doExtensionLogCreate(const Entry& entry, const FFDCEntries& ffdc); 269 * @param[in] ffdc - A vector of FFDC file info. Defaults to an empty 274 const FFDCEntries& ffdc = FFDCEntries{}) 378 /** @brief D-Bus method call implementation to create an event log with FFDC 380 * The same as create(), but takes an extra FFDC argument. 386 * @param[in] ffdc - A vector of FFDC file info [all …]
|