1description: > 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 errors: 113 - xyz.openbmc_project.Common.Error.InvalidArgument 114 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeNotFound 115 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeReadOnly 116 117enumerations: 118 - name: AttributeType 119 description: > 120 Attribute Type. 121 values: 122 - name: Enumeration 123 description: > 124 Enumeration value Type. 125 - name: String 126 description: > 127 string value Type. 128 - name: Password 129 description: > 130 Encoded string value Type 131 - name: Integer 132 description: > 133 Integer value Type. 134 - name: Boolean 135 description: > 136 Boolean value Type 137 138 - name: ResetFlag 139 description: > 140 Reset BIOS setting type requested by user. 141 values: 142 - name: NoAction 143 description: > 144 Default value, In order to cancel the reset BIOS settings. 145 - name: FactoryDefaults 146 description: > 147 Used to set factory default settings. 148 - name: FailSafeDefaults 149 description: > 150 Used to set the fail safe settings. 151 152 - name: BoundType 153 description: > 154 Contain BoundType value for string and integer 155 values: 156 - name: LowerBound 157 description: > 158 Used to define the lower bound value. 159 - name: UpperBound 160 description: > 161 Used to define the upper bound value. 162 - name: ScalarIncrement 163 description: > 164 Used to define scalar value of integer. 165 - name: MinStringLength 166 description: > 167 Used to define minimum string length. 168 - name: MaxStringLength 169 description: > 170 Used to define maximum string length. 171 - name: OneOf 172 description: > 173 Used to define the enumeration options. 174 175