Create PEL for boot errors with error XML data and traces

Add callback method into boot library to receive
status of boot load.

Add callback method into PHAL library to get back
traces logged so that the same can be used in
creation of PEL during failure.

Tested:
"User Data 1": {
    "Section Version": "1",
    "Sub-section type": "1",
    "Created by": "0x2000",
    "CBS_CS_IDLE_VALUE": "00000002",
    "CBS_CS_READ": "84000002",
    "HWP Error description": "CBS did not complete (did not arrive in IDLE
state) within timeout",
    "HW_DELAY": "0009c400",
    "HwpReturnCode": "RC_CBS_NOT_IN_IDLE_STATE",
    "LOG000 2020-03-08 06:26:34": "inf: p10_start_cbs:58 ",
    "LOG001 2020-03-08 06:26:34": "p10_start_cbs: Entering ...",
    "LOG002 2020-03-08 06:26:34": "err: CBS_NOT_IN_IDLE_STATE:36720 ",
    "LOG003 2020-03-08 06:26:34": "CBS did not complete (did not arrive in IDLE
state) within timeout",
    "LOG004 2020-03-08 06:26:34": "err: _setHwpError:114 ",
    "LOG005 2020-03-08 06:26:34": "_setHwpError: Creating HWP error 0xa97f5",
    "LOG006 2020-03-08 06:26:34": "err: p10_start_cbs:119 ",
    "LOG007 2020-03-08 06:26:34": "ERROR: CBS HAS NOT REACHED IDLE STATE VALUE
0x002 ",
    "LOOP_COUNT": "000000c8",
    "_PID": "495"
}

Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com>
Change-Id: I06491f09041edcd16d8db5890c74a4db8d08e920
8 files changed
tree: eebd49fc20d203fc088240596b0e87ed63708988
  1. phalerror/
  2. procedures/
  3. test/
  4. .clang-format
  5. .gitignore
  6. bootstrap.sh
  7. cfam_access.cpp
  8. cfam_access.hpp
  9. configure.ac
  10. ext_interface.cpp
  11. ext_interface.hpp
  12. filedescriptor.cpp
  13. filedescriptor.hpp
  14. gen_makefile.sh
  15. LICENSE
  16. MAINTAINERS
  17. Makefile.am
  18. Makefile.generated.in
  19. nmi_interface.cpp
  20. nmi_interface.hpp
  21. nmi_main.cpp
  22. op-cfam-reset.service.in
  23. op-stop-instructions@.service.in
  24. p10_cfam.hpp
  25. p9_cfam.hpp
  26. pcie-poweroff@.service.in
  27. proc_control.cpp
  28. README.md
  29. registration.cpp
  30. registration.hpp
  31. set-spi-mux.service.in
  32. targeting.cpp
  33. targeting.hpp
  34. xyz.openbmc_project.Control.Host.NMI.service.in
README.md

Contains procedures that interact with the OpenPower nest chipset.

To Build

To build this package, do the following steps:

    1. ./bootstrap.sh
    2. ./configure ${CONFIGURE_FLAGS}
    3. make

To build with phal feature:
    1. ./bootstrap.sh
    2. ./configure ${CONFIGURE_FLAGS} --enable-phal --enable-openfsi
    3. make

To clean the repository run `./bootstrap.sh clean`.