tree 829de40b99d221293bf4573e66f273594d9ab21b
parent 3bbd4827527ae41ea9e20c499506ff3a83027534
author Smriti-Ayushi <smriti.ayushi@linux.intel.com> 1688105370 +0530
committer Smriti-Ayushi <smriti.ayushi@linux.intel.com> 1688105370 +0530

Update BiosConfig README.md file

The current bios config is out of date and inconsistent with
bios-settings-mgr repository.

Changes are made to reflect the current D-Bus methods, signals and
properties in bios-settings-mgr.

Following are the D-Bus information of bios-settings-mgr:

busctl tree xyz.openbmc_project.BIOSConfigManager
`-/xyz
  `-/xyz/openbmc_project
    `-/xyz/openbmc_project/bios_config
      |-/xyz/openbmc_project/bios_config/manager
      `-/xyz/openbmc_project/bios_config/password

busctl introspect xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager
NAME                                   TYPE      SIGNATURE           RESULT/VALUE                             FLAGS
org.freedesktop.DBus.Introspectable    interface -                   -                                        -
.Introspect                            method    -                   s                                        -
org.freedesktop.DBus.Peer              interface -                   -                                        -
.GetMachineId                          method    -                   s                                        -
.Ping                                  method    -                   -                                        -
org.freedesktop.DBus.Properties        interface -                   -                                        -
.Get                                   method    ss                  v                                        -
.GetAll                                method    s                   a{sv}                                    -
.Set                                   method    ssv                 -                                        -
.PropertiesChanged                     signal    sa{sv}as            -                                        -
xyz.openbmc_project.BIOSConfig.Manager interface -                   -                                        -
.GetAttribute                          method    s                   svv                                      -
.SetAttribute                          method    sv                  -                                        -
.BaseBIOSTable                         property  a{s(sbsssvva(svs))} 0                                        emits-change writable
.PendingAttributes                     property  a{s(sv)}            0                                        emits-change writable
.ResetBIOSSettings                     property  s                   "xyz.openbmc_project.BIOSConfig.Manag... emits-change writable

busctl introspect xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/password
NAME                                    TYPE      SIGNATURE RESULT/VALUE FLAGS
org.freedesktop.DBus.Introspectable     interface -         -            -
.Introspect                             method    -         s            -
org.freedesktop.DBus.Peer               interface -         -            -
.GetMachineId                           method    -         s            -
.Ping                                   method    -         -            -
org.freedesktop.DBus.Properties         interface -         -            -
.Get                                    method    ss        v            -
.GetAll                                 method    s         a{sv}        -
.Set                                    method    ssv       -            -
.PropertiesChanged                      signal    sa{sv}as  -            -
xyz.openbmc_project.BIOSConfig.Password interface -         -            -
.ChangePassword                         method    sss       -            -
.PasswordInitialized                    property  b         false        emits-change writable

Change-Id: I59bc60e0d31658906aa724b54652cd0b0c74e9d2
Signed-off-by: Smriti-Ayushi <smriti.ayushi@linux.intel.com>
