blob: 225ccaab41e724e23998f25f73de3473d0cca30b [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:
13 - 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
21
22 errors:
23 - xyz.openbmc_project.Common.Error.InternalFailure
24 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeReadOnly
25 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeNotFound
26
27 - name: GetAttribute
28 description: >
29 To get the attribute value of existing attributes.
30 parameters:
31 - 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.
37
38 returns:
39 - 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.
51 errors:
52 - xyz.openbmc_project.Common.Error.InternalFailure
53 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeNotFound
54
55properties:
56
57 - name: ResetBIOSSettings
58 type: enum[self.ResetFlag]
59 default: NoAction
60 description: >
61 Contain reset BIOS setting type:
62 Interface have to set NoAction this property.
63 when Reset BIOS settings are informed to the BIOS.
64
65 - name: BaseBIOSTable
66 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]]]]]
67 description: >
68 map{attributeName,struct{attributeType,readonlyStatus,displayname,
69 description,menuPath,current,default,
70 array{struct{optionstring,optionvalue}}}}
71 Example 1:
72 {"DdrFreqLimit",
73 {xyz.openbmc_project.BIOSConfig.Manager.AttributeType.String,
74 false,
75 "Memory Operating Speed Selection",
76 "Force specific Memory Operating Speed or use Auto setting.",
77 "Advanced/Memory Configuration/Memory Operating Speed Selection",
78 "0x00",
79 "0x0B",
80 { {"OneOf", "auto"},
81 {"OneOf", "2133"},
82 {"OneOf", "2400"},
83 {"OneOf", "2664"},
84 {"OneOf", "2933"}
85 }
86 }
87 }
88 Example 2:
89 {"BIOSSerialDebugLevel",
90 {xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Integer,
91 false,
92 "BIOS Serial Debug level",
93 "BIOS Serial Debug level during system boot.",
94 "Advanced/Debug Feature Selection",
95 0x00,
96 0x01,
97 { {"MinBound", 0},
98 {"MaxBound", 4},
99 {"ScalarIncrement",1}
100 }
101 }
102 }
103
104
105 - name: PendingAttributes
106 type: dict[string,struct[enum[self.AttributeType],variant[int64,string]]]
107 description: >
108 The Pending attribute name and new value.
109 ex- { {"QuietBoot",Type.Integer, 0x1},
110 { "DdrFreqLimit",Type.String,"2933"}
111 }
112
113
114enumerations:
115 - name: AttributeType
116 description: >
117 Attribute Type.
118 values:
119 - name: Enumeration
120 description: >
121 Enumeration value Type.
122 - name: String
123 description: >
124 string value Type.
125 - name: Password
126 description: >
127 Encoded string value Type
128 - name: Integer
129 description: >
130 Integer value Type.
131 - name: Boolean
132 description: >
133 Boolean value Type
134
135 - name: ResetFlag
136 description: >
137 Reset BIOS setting type requested by user.
138 values:
139 - name: NoAction
140 description: >
141 Default value, In order to cancel the reset BIOS settings.
142 - name: FactoryDefaults
143 description: >
144 Used to set factory default settings.
145 - name: FailSafeDefaults
146 description: >
147 Used to set the fail safe settings.
148
149 - name: BoundType
150 description: >
151 Contain BoundType value for string and integer
152 values:
153 - name: LowerBound
154 description: >
155 Used to define the lower bound value.
156 - name: UpperBound
157 description: >
158 Used to define the upper bound value.
159 - name: ScalarIncrement
160 description: >
161 Used to define scalar value of integer.
162 - name: MinStringLength
163 description: >
164 Used to define minimum string length.
165 - name: MaxStringLength
166 description: >
167 Used to define maximum string length.
168 - name: OneOf
169 description: >
170 Used to define the enumeration options.
171