power-recovery: introduce CurrentPowerStatus to chassis

The power coming into a chassis can have its own status. For example, if
power has been lost (blackout) but the system has an uninterruptible
power supply(UPS) connected, then chassis power could still be on but
its important to provide the fact that the system is running off of a
UPS to other BMC software.

For example, IBM has a policy that it will allow a system to remain on
if it is already on when a blackout or brownout occurs (and running on
a UPS), but it will not allow a user to power a system on if in one of
these conditions. IBM will also not allow a system to power on until
a UPS is fully charged.

The design for this can be found over in the following series:
  https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/48210

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I4300167f3baa66bc9229651178d161fc12c92e1b
1 file changed
tree: 051995bd8e6f405e977f97048d9071b12de13caa
  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