blob: 746b7337356b4b1c8b8d407898147d558ef8e9a7 [file] [log] [blame]
Brad Bishopf6783cd2020-10-27 19:25:09 -04001#pragma once
2
Jayanth Othayoth2b211702021-09-06 05:14:23 -05003#include <libipl.H>
4
Brad Bishopf6783cd2020-10-27 19:25:09 -04005#include <cstdarg>
Jayanth Othayoth2b211702021-09-06 05:14:23 -05006
Brad Bishopf6783cd2020-10-27 19:25:09 -04007namespace openpower
8{
9namespace pel
10{
11namespace detail
12{
13
14/**
15 * @brief Process debug traces
16 *
17 * Function adds debug traces to the list so that it will be added to the
18 * PEL upon failure
19 *
20 * @param[in] private_data - pointer to private data, unused now
21 * @param[in] fmt - format for variable list arguments
22 * @param[in] ap - object of va_list, holds information needed to retrieve
23 * the additional arguments
24 */
25
26void processLogTraceCallback(void* private_data, const char* fmt, va_list ap);
27
28/**
Jayanth Othayoth2b211702021-09-06 05:14:23 -050029 * @brief Process ipl failure/success status
30 *
31 * If status is success log traces are cleared else used in the
32 * creation of failure
33 *
34 * @param[in] errInfo - Error info structure
35 */
36void processIplErrorCallback(const ipl_error_info& errInfo);
37
38/**
Brad Bishopf6783cd2020-10-27 19:25:09 -040039 * @brief Process boot failure/success status
40 *
41 * If status is success log traces are cleared else used in the
42 * creation of failure
43 *
44 * @param[in] status - Boot execution status
45 */
Jayanth Othayoth2b211702021-09-06 05:14:23 -050046void processBootError(bool status);
Brad Bishopf6783cd2020-10-27 19:25:09 -040047
48/**
49 * @brief Reset trace log list
50 */
51void reset();
Jayanth Othayoth2b211702021-09-06 05:14:23 -050052
Brad Bishopf6783cd2020-10-27 19:25:09 -040053} // namespace detail
54
55/**
56 * @brief Add callbacks for debug traces and boot errors
57 *
58 * This function adds callback for debug traces and for boot
59 * errors
60 */
61void addBootErrorCallbacks();
62} // namespace pel
63} // namespace openpower