blob: 7a1903b2fc89e79a4f43dd794523b0a8ae1734f5 [file] [log] [blame]
Suryakanth Sekar77a74262019-02-13 18:06:14 +05301description: >
2 Provides Remote BIOS Configuration management functionality.
3 As communication to this service is done through authenticated
4 & authorized session, there won't be any validation for both.
5 https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/29320
6
7methods:
8 - name: SetAttribute
9 description: >
10 To set the new value on existing attribute name.
11 It will create or add the pending attributes.
12 parameters:
Patrick Williams8da396c2022-03-14 14:21:02 -050013 - name: AttributeName
14 type: string
15 description: >
16 AttributeName which has to be changed.
17 - name: AttributeValue
18 type: variant[int64,string]
19 description: >
20 New attribute value
Suryakanth Sekar77a74262019-02-13 18:06:14 +053021
22 errors:
Patrick Williams8da396c2022-03-14 14:21:02 -050023 - xyz.openbmc_project.Common.Error.InternalFailure
24 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeReadOnly
25 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeNotFound
Suryakanth Sekar77a74262019-02-13 18:06:14 +053026
27 - name: GetAttribute
28 description: >
29 To get the attribute value of existing attributes.
30 parameters:
Patrick Williams8da396c2022-03-14 14:21:02 -050031 - name: AttributeName
32 type: string
33 description: >
34 To get the bios attribute current values and
35 pending values if previously set by setAttribute or
36 SetPendingAttributes.
Suryakanth Sekar77a74262019-02-13 18:06:14 +053037
38 returns:
Patrick Williams8da396c2022-03-14 14:21:02 -050039 - name: AttributeValueType
40 type: enum[self.AttributeType]
41 description: >
42 PLDM attribute Type present in PLDM spec
43 - name: CurrentValue
44 type: variant[int64,string]
45 description: >
46 The attribute current value.
47 - name: PendingValue
48 type: variant[int64,string]
49 description: >
50 The pending attribute value if its available.
Suryakanth Sekar77a74262019-02-13 18:06:14 +053051 errors:
Patrick Williams8da396c2022-03-14 14:21:02 -050052 - xyz.openbmc_project.Common.Error.InternalFailure
53 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeNotFound
Suryakanth Sekar77a74262019-02-13 18:06:14 +053054
55properties:
Suryakanth Sekar77a74262019-02-13 18:06:14 +053056 - name: ResetBIOSSettings
57 type: enum[self.ResetFlag]
58 default: NoAction
59 description: >
60 Contain reset BIOS setting type:
61 Interface have to set NoAction this property.
62 when Reset BIOS settings are informed to the BIOS.
63
64 - name: BaseBIOSTable
65 type: dict[string,struct[enum[self.AttributeType],boolean,string,string,string,variant[int64,string],variant[int64,string],array[struct[enum[self.BoundType], variant[int64, string]]]]]
66 description: >
Patrick Williams8da396c2022-03-14 14:21:02 -050067 map{attributeName,struct{attributeType,readonlyStatus,displayname,
68 description,menuPath,current,default,
69 array{struct{optionstring,optionvalue}}}}
70 Example 1:
71 {"DdrFreqLimit",
72 {xyz.openbmc_project.BIOSConfig.Manager.AttributeType.String,
73 false,
74 "Memory Operating Speed Selection",
75 "Force specific Memory Operating Speed or use Auto setting.",
76 "Advanced/Memory Configuration/Memory Operating Speed Selection",
77 "0x00",
78 "0x0B",
79 { {"OneOf", "auto"},
80 {"OneOf", "2133"},
81 {"OneOf", "2400"},
82 {"OneOf", "2664"},
83 {"OneOf", "2933"}
84 }
85 }
86 }
87 Example 2:
88 {"BIOSSerialDebugLevel",
89 {xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Integer,
90 false,
91 "BIOS Serial Debug level",
92 "BIOS Serial Debug level during system boot.",
93 "Advanced/Debug Feature Selection",
94 0x00,
95 0x01,
96 { {"MinBound", 0},
97 {"MaxBound", 4},
98 {"ScalarIncrement",1}
99 }
100 }
101 }
Suryakanth Sekar77a74262019-02-13 18:06:14 +0530102
103 - name: PendingAttributes
104 type: dict[string,struct[enum[self.AttributeType],variant[int64,string]]]
105 description: >
Patrick Williams8da396c2022-03-14 14:21:02 -0500106 The Pending attribute name and new value.
107 ex- { {"QuietBoot",Type.Integer, 0x1},
108 { "DdrFreqLimit",Type.String,"2933"}
109 }
Kuiying Wang4c7663b2020-12-21 23:09:33 +0800110 errors:
Patrick Williams8da396c2022-03-14 14:21:02 -0500111 - xyz.openbmc_project.Common.Error.InvalidArgument
112 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeNotFound
113 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeReadOnly
Suryakanth Sekar77a74262019-02-13 18:06:14 +0530114
115enumerations:
116 - name: AttributeType
117 description: >
Patrick Williams8da396c2022-03-14 14:21:02 -0500118 Attribute Type.
Suryakanth Sekar77a74262019-02-13 18:06:14 +0530119 values:
Patrick Williams8da396c2022-03-14 14:21:02 -0500120 - name: Enumeration
121 description: >
122 Enumeration value Type.
123 - name: String
124 description: >
125 string value Type.
126 - name: Password
127 description: >
128 Encoded string value Type
129 - name: Integer
130 description: >
131 Integer value Type.
132 - name: Boolean
133 description: >
134 Boolean value Type
Suryakanth Sekar77a74262019-02-13 18:06:14 +0530135
136 - name: ResetFlag
137 description: >
Patrick Williams8da396c2022-03-14 14:21:02 -0500138 Reset BIOS setting type requested by user.
Suryakanth Sekar77a74262019-02-13 18:06:14 +0530139 values:
Patrick Williams8da396c2022-03-14 14:21:02 -0500140 - name: NoAction
141 description: >
142 Default value, In order to cancel the reset BIOS settings.
143 - name: FactoryDefaults
144 description: >
145 Used to set factory default settings.
146 - name: FailSafeDefaults
147 description: >
148 Used to set the fail safe settings.
Suryakanth Sekar77a74262019-02-13 18:06:14 +0530149
150 - name: BoundType
151 description: >
Patrick Williams8da396c2022-03-14 14:21:02 -0500152 Contain BoundType value for string and integer
Suryakanth Sekar77a74262019-02-13 18:06:14 +0530153 values:
Patrick Williams8da396c2022-03-14 14:21:02 -0500154 - name: LowerBound
155 description: >
156 Used to define the lower bound value.
157 - name: UpperBound
158 description: >
159 Used to define the upper bound value.
160 - name: ScalarIncrement
161 description: >
162 Used to define scalar value of integer.
163 - name: MinStringLength
164 description: >
165 Used to define minimum string length.
166 - name: MaxStringLength
167 description: >
168 Used to define maximum string length.
169 - name: OneOf
170 description: >
171 Used to define the enumeration options.