blob: 9b8dee7dcd995f802fa6041ae2e5db1436ef54ac [file] [log] [blame]
Suryakanth Sekar77a74262019-02-13 18:06:14 +05301description: >
Patrick Williamsa1347412022-12-06 10:56:22 -06002 Provides Remote BIOS Configuration management functionality. As
3 communication to this service is done through authenticated & authorized
4 session, there won't be any validation for both.
Suryakanth Sekar77a74262019-02-13 18:06:14 +05305 https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/29320
6
7methods:
8 - name: SetAttribute
9 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060010 To set the new value on existing attribute name. It will create or add
11 the pending attributes.
Suryakanth Sekar77a74262019-02-13 18:06:14 +053012 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: >
Patrick Williamsa1347412022-12-06 10:56:22 -060034 To get the bios attribute current values and pending values if
35 previously set by setAttribute or SetPendingAttributes.
Suryakanth Sekar77a74262019-02-13 18:06:14 +053036
37 returns:
Patrick Williams8da396c2022-03-14 14:21:02 -050038 - name: AttributeValueType
39 type: enum[self.AttributeType]
40 description: >
41 PLDM attribute Type present in PLDM spec
42 - name: CurrentValue
43 type: variant[int64,string]
44 description: >
45 The attribute current value.
46 - name: PendingValue
47 type: variant[int64,string]
48 description: >
49 The pending attribute value if its available.
Suryakanth Sekar77a74262019-02-13 18:06:14 +053050 errors:
Patrick Williams8da396c2022-03-14 14:21:02 -050051 - xyz.openbmc_project.Common.Error.InternalFailure
52 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeNotFound
Suryakanth Sekar77a74262019-02-13 18:06:14 +053053
54properties:
Suryakanth Sekar77a74262019-02-13 18:06:14 +053055 - name: ResetBIOSSettings
56 type: enum[self.ResetFlag]
57 default: NoAction
58 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060059 Contain reset BIOS setting type: Interface have to set NoAction this
60 property. when Reset BIOS settings are informed to the BIOS.
Suryakanth Sekar77a74262019-02-13 18:06:14 +053061
62 - name: BaseBIOSTable
Patrick Williamsa1347412022-12-06 10:56:22 -060063 type:
64 dict[string,struct[enum[self.AttributeType],boolean,string,string,string,variant[int64,string],variant[int64,string],array[struct[enum[self.BoundType],
Arun Lal K Meee8a9a2023-05-03 12:33:01 +000065 variant[int64, string],string]]]]
Suryakanth Sekar77a74262019-02-13 18:06:14 +053066 description: >
Patrick Williams8da396c2022-03-14 14:21:02 -050067 map{attributeName,struct{attributeType,readonlyStatus,displayname,
68 description,menuPath,current,default,
Patrick Williamsa1347412022-12-06 10:56:22 -060069 array{struct{optionstring,optionvalue}}}} Example 1: {"DdrFreqLimit",
Patrick Williams8da396c2022-03-14 14:21:02 -050070 {xyz.openbmc_project.BIOSConfig.Manager.AttributeType.String,
71 false,
72 "Memory Operating Speed Selection",
73 "Force specific Memory Operating Speed or use Auto setting.",
74 "Advanced/Memory Configuration/Memory Operating Speed Selection",
75 "0x00",
76 "0x0B",
Arun Lal K Meee8a9a2023-05-03 12:33:01 +000077 { {"OneOf", "auto", "enum0"},
78 {"OneOf", "2133", "enum1"},
79 {"OneOf", "2400", "enum2"},
80 {"OneOf", "2664", "enum3"},
81 {"OneOf", "2933", "enum4"}
Patrick Williams8da396c2022-03-14 14:21:02 -050082 }
Patrick Williamsa1347412022-12-06 10:56:22 -060083 } }
Patrick Williams8da396c2022-03-14 14:21:02 -050084 Example 2:
85 {"BIOSSerialDebugLevel",
86 {xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Integer,
87 false,
88 "BIOS Serial Debug level",
89 "BIOS Serial Debug level during system boot.",
90 "Advanced/Debug Feature Selection",
91 0x00,
92 0x01,
Arun Lal K Meee8a9a2023-05-03 12:33:01 +000093 { {"MinBound", 0, ""},
94 {"MaxBound", 4, ""},
95 {"ScalarIncrement", 1, ""}
Patrick Williams8da396c2022-03-14 14:21:02 -050096 }
Patrick Williamsa1347412022-12-06 10:56:22 -060097 } }
Suryakanth Sekar77a74262019-02-13 18:06:14 +053098
99 - name: PendingAttributes
100 type: dict[string,struct[enum[self.AttributeType],variant[int64,string]]]
101 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -0600102 The Pending attribute name and new value. ex- {
103 {"QuietBoot",Type.Integer, 0x1},
Patrick Williams8da396c2022-03-14 14:21:02 -0500104 { "DdrFreqLimit",Type.String,"2933"}
105 }
Kuiying Wang4c7663b2020-12-21 23:09:33 +0800106 errors:
Patrick Williams8da396c2022-03-14 14:21:02 -0500107 - xyz.openbmc_project.Common.Error.InvalidArgument
108 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeNotFound
109 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeReadOnly
Suryakanth Sekar77a74262019-02-13 18:06:14 +0530110
111enumerations:
112 - name: AttributeType
113 description: >
Patrick Williams8da396c2022-03-14 14:21:02 -0500114 Attribute Type.
Suryakanth Sekar77a74262019-02-13 18:06:14 +0530115 values:
Patrick Williams8da396c2022-03-14 14:21:02 -0500116 - name: Enumeration
117 description: >
118 Enumeration value Type.
119 - name: String
120 description: >
121 string value Type.
122 - name: Password
123 description: >
124 Encoded string value Type
125 - name: Integer
126 description: >
127 Integer value Type.
128 - name: Boolean
129 description: >
130 Boolean value Type
Suryakanth Sekar77a74262019-02-13 18:06:14 +0530131
132 - name: ResetFlag
133 description: >
Patrick Williams8da396c2022-03-14 14:21:02 -0500134 Reset BIOS setting type requested by user.
Suryakanth Sekar77a74262019-02-13 18:06:14 +0530135 values:
Patrick Williams8da396c2022-03-14 14:21:02 -0500136 - name: NoAction
137 description: >
138 Default value, In order to cancel the reset BIOS settings.
139 - name: FactoryDefaults
140 description: >
141 Used to set factory default settings.
142 - name: FailSafeDefaults
143 description: >
144 Used to set the fail safe settings.
Suryakanth Sekar77a74262019-02-13 18:06:14 +0530145
146 - name: BoundType
147 description: >
Patrick Williams8da396c2022-03-14 14:21:02 -0500148 Contain BoundType value for string and integer
Suryakanth Sekar77a74262019-02-13 18:06:14 +0530149 values:
Patrick Williams8da396c2022-03-14 14:21:02 -0500150 - name: LowerBound
151 description: >
152 Used to define the lower bound value.
153 - name: UpperBound
154 description: >
155 Used to define the upper bound value.
156 - name: ScalarIncrement
157 description: >
158 Used to define scalar value of integer.
159 - name: MinStringLength
160 description: >
161 Used to define minimum string length.
162 - name: MaxStringLength
163 description: >
164 Used to define maximum string length.
165 - name: OneOf
166 description: >
167 Used to define the enumeration options.