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 - 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: > 67 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 } 102 103 - name: PendingAttributes 104 type: dict[string,struct[enum[self.AttributeType],variant[int64,string]]] 105 description: > 106 The Pending attribute name and new value. 107 ex- { {"QuietBoot",Type.Integer, 0x1}, 108 { "DdrFreqLimit",Type.String,"2933"} 109 } 110 errors: 111 - xyz.openbmc_project.Common.Error.InvalidArgument 112 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeNotFound 113 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeReadOnly 114 115enumerations: 116 - name: AttributeType 117 description: > 118 Attribute Type. 119 values: 120 - 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 135 136 - name: ResetFlag 137 description: > 138 Reset BIOS setting type requested by user. 139 values: 140 - 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. 149 150 - name: BoundType 151 description: > 152 Contain BoundType value for string and integer 153 values: 154 - 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. 172