Add LastRebootCause property for BMC Reboot Cause feature

Scenario:
Customer want to know the last reboot cause of BMC through OpenBMC WebUI.
Thus, we need to add LastRebootCause property in BMC.interface.yaml.
Meanwhile, we also modify phosphor-state-manager and phosphor-webui
to support show BMC Reboot Cause information in Reboot BMC page.

Tested:
busctl get-property xyz.openbmc_project.State.BMC /xyz/openbmc_project/state/bmc0 xyz.openbmc_project.State.BMC LastRebootCause

When unplug/plug in BMC power cable then return as below: (POR i.e. Power-On-Reset)
s "xyz.openbmc_project.State.BMC.BMCResetCause.POR"

When executing reboot command then return as below:
s "xyz.openbmc_project.State.BMC.BMCResetCause.Watchdog"

Signed-off-by: Tim Lee <timlee660101@gmail.com>
Change-Id: Iac99adc1e12ab42076f0d33aa87a179f63b9c1ce
1 file changed
tree: 3f025cfedbfecef6af7fc40eb68838e91cb18a38
  1. gen/
  2. subprojects/
  3. yaml/
  4. .gitignore
  5. .shellcheck
  6. LICENSE
  7. MAINTAINERS
  8. meson.build
  9. meson_options.txt
  10. README.md
README.md

phosphor-dbus-interfaces

YAML descriptors of standard D-Bus interfaces. The format is described by the sdbusplus binding generation tool sdbus++.

Building

This project can be built with meson. The typical meson workflow is: meson builddir && ninja -C builddir.

The meson files used to handle the YAML files are automatically generated and found under the gen subdirectory. When adding or removing YAML files, this must be regenerated. This can be done with the helper script found in the gen subdirectory: cd gen && ./regenerate-meson.

Configuration

Only the xyz/openbmc_project interfaces are built by default. Other interfaces can be enabled by meson options:

  • com/ibm - -Ddata_com_ibm=true
  • org/open_power - -Ddata_org_open_power=true

Example: meson builddir -Ddata_com_ibm=true && ninja -C builddir

References