Add support for subprojects

In the current state, the repository does not build with out the
necessary libraries installed on the host machine, intention behind
this commit is to add the necessary subprojects support so that, the
repository can be build with automatic download of dependencies.

Change-Id: Iddd4e87651fb07a328747133a196f1fac30e60de
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
4 files changed
tree: f74b0c57219da5544589b48c05f68cebccdc9bff
  1. include/
  2. service_files/
  3. src/
  4. subprojects/
  5. .clang-format
  6. .gitignore
  7. LICENSE
  8. meson.build
  9. meson.options
  10. OWNERS
  11. README.md
README.md

Remote BIOS Configuration via BMC Overview Provides ability for the user to view and modify the BIOS setup configuration parameters remotely via BMC at any Host state. Modifications to the parameters take place upon the next system reboot or immediate based on the host firmware. Please refer https://github.com/openbmc/docs/blob/master/designs/remote-bios-configuration.md

Remote BIOS Configuration (RBC) service exposes D-Bus methods for BIOS settings management operations.

RBC Manager Interface xyz.openbmc_project.BIOSConfig.Manager provides following methods, properties.

Object Path : /xyz/openbmc_project/BIOSConfig/Manager

xyz.openbmc_project.BIOSConfig.Manager

methods: SetAttribute -To set the particular BIOS attribute with new value. GetAttribute -To get the bios attribute current values and pending values if again.

Properites: ResetBIOSSettings - Contain reset BIOS setting type: Interface have to set NoAction this property, when Reset BIOS settings are informed to the BIOS. BaseBIOSTable - Save the whole BIOS table. map{attributeName,struct{attributeType,readonlyStatus,displayname, description,menuPath,current,default, array{struct{optionstring,optionvalue}}}} Example 1: {"DdrFreqLimit", {xyz.openbmc_project.BIOSConfig.Manager.AttributeType.String, false, "Memory Operating Speed Selection", "Force specific Memory Operating Speed or use Auto setting.", "Advanced/Memory Configuration/Memory Operating Speed Selection", "0x00", "0x0B", { {"OneOf", "auto"}, {"OneOf", "2133"}, {"OneOf", "2400"}, {"OneOf", "2664"}, {"OneOf", "2933"} } } } Example 2: {"BIOSSerialDebugLevel", {xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Integer, false, "BIOS Serial Debug level", "BIOS Serial Debug level during system boot.", "Advanced/Debug Feature Selection", 0x00, 0x01, { {"MinBound", 0}, {"MaxBound", 4}, {"ScalarIncrement",1} } } }

Signals: AttributeChanged - Signal sent out when attribute is changed

PasswordInterface:

xyz.openbmc_project.BIOSConfig.Password provides following Methods and Properities.

xyz.openbmc_project.BIOSConfig.Password Interface

Methods: ChangePassword - Change the BIOS setup password.

Properities: PasswordInitialized - To indicate BIOS password related details are received or not.