Add OperatingConfig interfaces

In order to advertise Intel Speed Select capabilities through the
Redfish OperatingConfig resources (schema 2020.2), define D-Bus
interfaces so that the Redfish server can get properties from the
application which does the Speed Select discovery.
Speed Select provides a set of processor-specific power and frequency
profiles. Currently, the only known use case of this interface is for a
Redfish client to view the profile attributes and select a profile.
Hence, the interface resembles the Redfish schema.

The intended intitial use case is that for supported CPUs,
CurrentOperatingConfig will be implemented on cpu objects (under
inventory/ tree), and child objects under each cpu will implement
OperatingConfig. For example:
 |-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0
   |  =xyz.openbmc_project.Control.Processor.CurrentOperatingConfig
   |
   |-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/config0
   |  =xyz.openbmc_project.Inventory.Item.Cpu.OperatingConfig
   |
   |-/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0/config3
      =xyz.openbmc_project.Inventory.Item.Cpu.OperatingConfig

Signed-off-by: Jonathan Doman <jonathan.doman@intel.com>
Change-Id: I1663729c274aeaa5c3e78388690e9c6dd4aa3570
7 files changed
tree: 8ae55cbccb22918249801a91edfdfe3033788320
  1. com/
  2. gen/
  3. org/
  4. subprojects/
  5. xyz/
  6. .gitignore
  7. LICENSE
  8. MAINTAINERS
  9. meson.build
  10. meson_options.txt
  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 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