openpower:dreport: add guarded resolved and ephemeral records to BMC dump

1) Append GUARD blob to the dump
2) List guard records, resolved records and ephemeral records
and write to guard.log file
3) Append guard.log file to the dump

Tested:
root@ever8bmc:/tmp/test/obmcdump_00000000_1648632722# ls -lah GUARD
-r--r-----    1 root     root       20.0K Mar 30 09:32 GUARD
root@ever8bmc:/tmp/test/obmcdump_00000000_1648632722#

root@ever8bmc:/tmp/test/obmcdump_00000000_1648632722# cat guard.log
[Guard List]
ID       | ERROR    |  Type  | Path
00000001 | 00000000 | manual | physical:sys-0/node-0/proc-1/eq-0/fc-0/core-0

[Guard resolved records]
ID       | ERROR    |  Type  | Path
ffffffff | 90001220 | unrecoverable |
physical:sys-0/node-0/proc-3/pauc-3/iohs-0/smpgroup-1
ffffffff | 90001220 | unrecoverable |
physical:sys-0/node-0/proc-0/pauc-3/iohs-1/smpgroup-0
ffffffff | 90001223 | unrecoverable |
physical:sys-0/node-0/proc-3/pauc-2/iohs-1/smpgroup-1
ffffffff | 90001223 | unrecoverable |
physical:sys-0/node-0/proc-6/pauc-3/iohs-1/smpgroup-0
ffffffff | 90001224 | unrecoverable |
physical:sys-0/node-0/proc-3/pauc-2/iohs-1/smpgroup-0
ffffffff | 90001224 | unrecoverable |
physical:sys-0/node-0/proc-7/pauc-3/iohs-1/smpgroup-0
ffffffff | 900007c3 | unrecoverable |
physical:sys-0/node-0/proc-7/pauc-3/iohs-1/smpgroup-0
ffffffff | 50000527 | predictive | physical:sys-0/node-0/proc-6
ffffffff | 50000528 | predictive | physical:sys-0/node-0/proc-7
ffffffff | 50000712 | predictive |
physical:sys-0/node-0/proc-2/pauc-3/iohs-1/smpgroup-1
ffffffff | 50000712 | predictive |
physical:sys-0/node-0/proc-0/pauc-3/iohs-1/smpgroup-1

[Guard ephemeral records]

Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com>
Change-Id: Ibd3e21a69cd98c3d1b5bee9fa8251566f04e741b
1 file changed
tree: 0f98e75c4992d5933d52c9d528dab32247ff362b
  1. dump-extensions/
  2. host-transport-extensions/
  3. subprojects/
  4. test/
  5. tools/
  6. xyz/
  7. .clang-format
  8. .gitignore
  9. bmc_dump_entry.cpp
  10. bmc_dump_entry.hpp
  11. core_manager.cpp
  12. core_manager.hpp
  13. core_manager_main.cpp
  14. dump-extensions.hpp
  15. dump_entry.cpp
  16. dump_entry.hpp
  17. dump_internal.hpp
  18. dump_manager.cpp
  19. dump_manager.hpp
  20. dump_manager_bmc.cpp
  21. dump_manager_bmc.hpp
  22. dump_manager_main.cpp
  23. dump_offload.cpp
  24. dump_offload.hpp
  25. dump_serialize.cpp
  26. dump_serialize.hpp
  27. dump_utils.cpp
  28. dump_utils.hpp
  29. elog_watch.cpp
  30. elog_watch.hpp
  31. errors_map.mako.hpp
  32. errors_map_gen.py
  33. example_errors_watch.yaml
  34. ffdc
  35. host_transport_exts.hpp
  36. LICENSE
  37. MAINTAINERS
  38. meson.build
  39. meson_options.txt
  40. OWNERS
  41. ramoops_manager.cpp
  42. ramoops_manager.hpp
  43. ramoops_manager_main.cpp
  44. README.md
  45. watch.cpp
  46. watch.hpp
README.md

phosphor-debug-collector

Phosphor Debug Collector provides mechanisms to collect various log files and system parameters. Used to troubleshoot problems in OpenBMC based systems.

To Build

To build this package with meson, do the following steps:

    1. meson builddir
    2. ninja -C builddir

To clean the built files run ninja -C builddir clean.

To run unit tests

Tests can be run in the CI docker container, refer local-ci-build

or with an OpenBMC x86 sdk(see below for x86 steps).

meson -Dtests=enabled build
ninja -C build test