Add in-tree nvidia-ipmi-oem provider

This patch adds nvidia-ipmi-oem. The current patch adds support
to 2 commands:
1) GET BIOS PASSWORD
2) SET BIOS PASSWORD

Tested:
1) Tested on patch
https://gerrit.openbmc.org/c/openbmc/openbmc/+/80748

Change-Id: I48599a1b85a3a614c56e7687b8646f7dfe1e7bb1
Signed-off-by: Prithvi Pai <ppai@nvidia.com>
6 files changed
tree: 7f2e1fbc8e71b50f70f4988478930ebe7af34a54
  1. app/
  2. dbus-sdr/
  3. docs/
  4. include/
  5. libipmid/
  6. oem/
  7. scripts/
  8. softoff/
  9. subprojects/
  10. test/
  11. transport/
  12. user_channel/
  13. xyz/
  14. .build.sh
  15. .clang-format
  16. .clang-tidy
  17. .gitignore
  18. .shellcheck
  19. .travis.yml
  20. apphandler.cpp
  21. apphandler.hpp
  22. chassishandler.cpp
  23. chassishandler.hpp
  24. dcmihandler.cpp
  25. dcmihandler.hpp
  26. error-HostEvent.hpp
  27. fruread.hpp
  28. generate_whitelist.sh
  29. generate_whitelist_create.sh
  30. globalhandler.cpp
  31. groupext.cpp
  32. host-cmd-manager.cpp
  33. host-cmd-manager.hpp
  34. host-interface.cpp
  35. host-interface.hpp
  36. host-ipmid-whitelist.conf
  37. ipmi_fru_info_area.cpp
  38. ipmi_fru_info_area.hpp
  39. ipmiallowlist.hpp
  40. ipmid-new.cpp
  41. ipmisensor.cpp
  42. LICENSE
  43. meson.build
  44. meson.options
  45. OWNERS
  46. read_fru_data.cpp
  47. read_fru_data.hpp
  48. README.md
  49. sbmrhandler.cpp
  50. selutility.cpp
  51. selutility.hpp
  52. sensordatahandler.cpp
  53. sensordatahandler.hpp
  54. sensorhandler.cpp
  55. sensorhandler.hpp
  56. settings.cpp
  57. settings.hpp
  58. storageaddsel.cpp
  59. storageaddsel.hpp
  60. storagehandler.cpp
  61. sys_info_param.cpp
  62. sys_info_param.hpp
  63. systemintfcmds.cpp
  64. systemintfcmds.hpp
  65. transportconstants.hpp
  66. transporthandler.cpp
  67. transporthandler.hpp
  68. whitelist-filter.cpp
README.md

phosphor-host-ipmid

Compile ipmid with default options

meson builddir
ninja -C builddir

Compile ipmid with yocto defaults

meson builddir -Dbuildtype=minsize -Db_lto=true -Dtests=disabled
ninja -C builddir

If any of the dependencies are not found on the host system during configuration, meson automatically gets them via its wrap dependencies mentioned in ipmid/subprojects.

Enable/Disable meson wrap feature

meson builddir -Dwrap_mode=nofallback
ninja -C builddir

Enable debug traces

meson builddir -Dbuildtype=debug
ninja -C builddir

Generate test coverage report

meson builddir -Db_coverage=true -Dtests=enabled
ninja -C builddir test
ninja -C builddir coverage