1description: > 2 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. 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. It will create or add 11 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 pending values if 35 previously set by setAttribute or SetPendingAttributes. 36 37 returns: 38 - 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. 50 errors: 51 - xyz.openbmc_project.Common.Error.InternalFailure 52 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeNotFound 53 54properties: 55 - name: ResetBIOSSettings 56 type: enum[self.ResetFlag] 57 default: NoAction 58 description: > 59 Contain reset BIOS setting type: Interface have to set NoAction this 60 property. when Reset BIOS settings are informed to the BIOS. 61 62 - name: BaseBIOSTable 63 type: 64 dict[string,struct[enum[self.AttributeType],boolean,string,string,string,variant[int64,string],variant[int64,string],array[struct[enum[self.BoundType], 65 variant[int64, string],string]]]] 66 description: > 67 map{attributeName,struct{attributeType,readonlyStatus,displayname, 68 description,menuPath,current,default, 69 array{struct{optionstring,optionvalue}}}} Example 1: {"DdrFreqLimit", 70 {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", 77 { {"OneOf", "auto", "enum0"}, 78 {"OneOf", "2133", "enum1"}, 79 {"OneOf", "2400", "enum2"}, 80 {"OneOf", "2664", "enum3"}, 81 {"OneOf", "2933", "enum4"} 82 } 83 } } 84 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, 93 { {"MinBound", 0, ""}, 94 {"MaxBound", 4, ""}, 95 {"ScalarIncrement", 1, ""} 96 } 97 } } 98 99 - name: PendingAttributes 100 type: dict[string,struct[enum[self.AttributeType],variant[int64,string]]] 101 description: > 102 The Pending attribute name and new value. ex- { 103 {"QuietBoot",Type.Integer, 0x1}, 104 { "DdrFreqLimit",Type.String,"2933"} 105 } 106 errors: 107 - xyz.openbmc_project.Common.Error.InvalidArgument 108 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeNotFound 109 - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeReadOnly 110 111enumerations: 112 - name: AttributeType 113 description: > 114 Attribute Type. 115 values: 116 - 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 131 132 - name: ResetFlag 133 description: > 134 Reset BIOS setting type requested by user. 135 values: 136 - 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. 145 146 - name: BoundType 147 description: > 148 Contain BoundType value for string and integer 149 values: 150 - 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. 168