Generate dump types table

This commit refines the map generation process in
phosphor-debug-collector. The existing Python script is enhanced to
accept varying templates and variable names, A new Mako template is
introduced for generating dump types. This enhancement allows different
architectures to support various types of dumps without requiring major
changes.

Tests:
Successfully tested the creation of different types of
BMC dumps.

Built with master and p10bmc

Change-Id: I347e218cb66386665bd15b72612dbe8e1e4fc7cf
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
6 files changed
tree: 5e6e53e54924c2682a718c62c867564865777243
  1. dump-extensions/
  2. host-transport-extensions/
  3. subprojects/
  4. test/
  5. tools/
  6. xyz/
  7. .clang-format
  8. .gitignore
  9. .shellcheck-ignore
  10. bmc_dump_entry.cpp
  11. bmc_dump_entry.hpp
  12. core_manager.cpp
  13. core_manager.hpp
  14. core_manager_main.cpp
  15. dump-extensions.hpp
  16. dump_entry.cpp
  17. dump_entry.hpp
  18. dump_internal.hpp
  19. dump_manager.cpp
  20. dump_manager.hpp
  21. dump_manager_bmc.cpp
  22. dump_manager_bmc.hpp
  23. dump_manager_faultlog.cpp
  24. dump_manager_faultlog.hpp
  25. dump_manager_main.cpp
  26. dump_offload.cpp
  27. dump_offload.hpp
  28. dump_serialize.cpp
  29. dump_serialize.hpp
  30. dump_types.mako.cpp
  31. dump_types.mako.hpp
  32. dump_utils.cpp
  33. dump_utils.hpp
  34. elog_watch.cpp
  35. elog_watch.hpp
  36. errors_map.hpp
  37. errors_map.mako.cpp
  38. example_dump_types.yaml
  39. example_errors_watch.yaml
  40. faultlog_dump_entry.cpp
  41. faultlog_dump_entry.hpp
  42. ffdc
  43. host_transport_exts.hpp
  44. LICENSE
  45. map_gen.py
  46. meson.build
  47. meson.options
  48. OWNERS
  49. ramoops_manager.cpp
  50. ramoops_manager.hpp
  51. ramoops_manager_main.cpp
  52. README.md
  53. watch.cpp
  54. 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.

One such mechanism is dreport, a script that collects debug data and packages it into an archive file.

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