bmc-reboot: add pinhole reset reason

Some systems have a physical mechanism on them to force a reboot of the
BMC. One common mechanism for this is a pinhole. The user utilizes a
round, thin piece of metal (commonly a paper clip) to trigger this
reset.

The use of the pinhole reset is usually utilized to force a reboot of
an unresponsive BMC. BMC firmware, when it comes back from the reboot,
may want to do some special handling for this scenario.

Some systems, like the IBM p10bmc machines, have some logic in the
hardware to set a GPIO so that BMC firmware will have a mechanism to
know if the reboot cause was the result of a pinhole reset. IBM systems
would like to add some software logic around this. For example, if a
pinhole reset was done, the firmware will not run its auto power on
functions. If a user has force reset a system, they do not want firmware
trying to auto power on the machine.

The design on this can be found here:
  https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/47816

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: Id8f0e5b8da708ec82d13a89013e19692ef5959b8
1 file changed
tree: 67cfa3782539f672168421d6a6828f86763d6202
  1. gen/
  2. subprojects/
  3. yaml/
  4. .gitignore
  5. .shellcheck
  6. LICENSE
  7. MAINTAINERS
  8. meson.build
  9. meson_options.txt
  10. OWNERS
  11. 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 and org/freedesktop 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