HardwareIsolation: Added the "CreateWithErrorLog" method

In an OpenPOWER based system, an application can isolate hardware
in the error path if the hardware is faulty, and the respective
isolated hardware part will be ignored to init during the
next boot of the host.

This interface will be used to isolate hardware by using
the respective hardware path along with error log which is caused
the hardware isolation.

This method is not going to create an error log and the consumer
of this method need to pass the bmc error log which caused
the isolation.

The added method will throw below exceptions.
- xyz.openbmc_project.Common.Error.InvalidArgument
  - If the given parameters are invalid.
  - If the given hardware is not found to isolate.
- xyz.openbmc_project.Common.Error.TooManyResources
  - If the platforms are not allowed to isolate hardware
    when the isolated hardware count is reached to the maximum
    allowed size.
- xyz.openbmc_project.HardwareIsolation.Error.IsolatedAlready
  - If the isolating hardware is already isolated.
- xyz.openbmc_project.Common.Error.NotAllowed
  - If the given hardware cannot be isolated permanently.
- xyz.openbmc_project.Common.Error.Unavailable
  - If the given hardware cannot be isolated temporarily.

Please refer https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/27804
to get more details of hardware isolation.

Signed-off-by: Ramesh Iyyar <rameshi1@in.ibm.com>
Change-Id: I10218466fd2e1bf956b6cbb97da2c91480d70642
1 file changed
tree: 48a578c36b81e6236a961d5746b138cb4b3e2616
  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