xref: /openbmc/bios-settings-mgr/README.md (revision 642f437e)
1*642f437eSKuiying WangRemote BIOS Configuration via BMC
2*642f437eSKuiying WangOverview
3*642f437eSKuiying WangProvides ability for the user to view and modify the
4*642f437eSKuiying WangBIOS setup configuration parameters remotely via BMC at any Host state.
5*642f437eSKuiying WangModifications to the parameters take place upon the next system reboot or
6*642f437eSKuiying Wangimmediate based on the host firmware.
7*642f437eSKuiying WangPlease refer https://github.com/openbmc/docs/blob/master/designs/remoteBIOSConfiguration.md
8*642f437eSKuiying Wang
9*642f437eSKuiying WangRemote BIOS Configuration (RBC) service exposes D-Bus methods for
10*642f437eSKuiying WangBIOS settings management operations.
11*642f437eSKuiying Wang
12*642f437eSKuiying WangRBC Manager Interface
13*642f437eSKuiying Wangxyz.openbmc_project.BIOSConfig.Manager provides following methods, properties.
14*642f437eSKuiying Wang
15*642f437eSKuiying WangObject Path : /xyz/openbmc_project/BIOSConfig/Manager
16*642f437eSKuiying Wang
17*642f437eSKuiying Wangxyz.openbmc_project.BIOSConfig.Manager
18*642f437eSKuiying Wang
19*642f437eSKuiying Wangmethods:
20*642f437eSKuiying WangSetAttribute -To set the particular BIOS attribute  with new value.
21*642f437eSKuiying WangGetAttribute -To get the bios attribute current values and pending values if again.
22*642f437eSKuiying Wang
23*642f437eSKuiying WangProperites:
24*642f437eSKuiying WangResetBIOSSettings - Contain reset BIOS setting type:
25*642f437eSKuiying Wang					Interface have to set NoAction this property,
26*642f437eSKuiying Wang					when Reset BIOS settings are informed to the BIOS.
27*642f437eSKuiying WangBaseBIOSTable - Save the whole BIOS table.
28*642f437eSKuiying Wang              map{attributeName,struct{attributeType,readonlyStatus,displayname,
29*642f437eSKuiying Wang              description,menuPath,current,default,
30*642f437eSKuiying Wang              array{struct{optionstring,optionvalue}}}}
31*642f437eSKuiying Wang              Example 1:
32*642f437eSKuiying Wang              {"DdrFreqLimit",
33*642f437eSKuiying Wang              {xyz.openbmc_project.BIOSConfig.Manager.AttributeType.String,
34*642f437eSKuiying Wang               false,
35*642f437eSKuiying Wang               "Memory Operating Speed Selection",
36*642f437eSKuiying Wang               "Force specific Memory Operating Speed or use Auto setting.",
37*642f437eSKuiying Wang               "Advanced/Memory Configuration/Memory Operating Speed Selection",
38*642f437eSKuiying Wang               "0x00",
39*642f437eSKuiying Wang               "0x0B",
40*642f437eSKuiying Wang               { {"OneOf", "auto"},
41*642f437eSKuiying Wang                 {"OneOf", "2133"},
42*642f437eSKuiying Wang                 {"OneOf", "2400"},
43*642f437eSKuiying Wang                 {"OneOf", "2664"},
44*642f437eSKuiying Wang                 {"OneOf", "2933"}
45*642f437eSKuiying Wang               }
46*642f437eSKuiying Wang              }
47*642f437eSKuiying Wang              }
48*642f437eSKuiying Wang               Example 2:
49*642f437eSKuiying Wang              {"BIOSSerialDebugLevel",
50*642f437eSKuiying Wang              {xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Integer,
51*642f437eSKuiying Wang               false,
52*642f437eSKuiying Wang               "BIOS Serial Debug level",
53*642f437eSKuiying Wang               "BIOS Serial Debug level during system boot.",
54*642f437eSKuiying Wang               "Advanced/Debug Feature Selection",
55*642f437eSKuiying Wang               0x00,
56*642f437eSKuiying Wang               0x01,
57*642f437eSKuiying Wang               { {"MinBound", 0},
58*642f437eSKuiying Wang                 {"MaxBound", 4},
59*642f437eSKuiying Wang                 {"ScalarIncrement",1}
60*642f437eSKuiying Wang               }
61*642f437eSKuiying Wang              }
62*642f437eSKuiying Wang              }
63*642f437eSKuiying Wang
64*642f437eSKuiying WangSignals:
65*642f437eSKuiying WangAttributeChanged - Signal sent out when attribute is changed
66*642f437eSKuiying Wang
67*642f437eSKuiying WangPasswordInterface:
68*642f437eSKuiying Wang
69*642f437eSKuiying Wangxyz.openbmc_project.BIOSConfig.Password provides following Methods and Properities.
70*642f437eSKuiying Wang
71*642f437eSKuiying Wangxyz.openbmc_project.BIOSConfig.Password Interface
72*642f437eSKuiying Wang
73*642f437eSKuiying WangMethods:
74*642f437eSKuiying WangChangePassword - Change the BIOS setup password.
75*642f437eSKuiying Wang
76*642f437eSKuiying WangProperities:
77*642f437eSKuiying WangPasswordInitialized - To indicate BIOS password related details are recevied or not.
78*642f437eSKuiying Wang
79*642f437eSKuiying Wang
80