description: > Provides Remote BIOS Configuration management functionality. As communication to this service is done through authenticated & authorized session, there won't be any validation for both. https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/29320 methods: - name: SetAttribute description: > To set the new value on existing attribute name. It will create or add the pending attributes. parameters: - name: AttributeName type: string description: > AttributeName which has to be changed. - name: AttributeValue type: variant[int64,string] description: > New attribute value errors: - xyz.openbmc_project.Common.Error.InternalFailure - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeReadOnly - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeNotFound - name: GetAttribute description: > To get the attribute value of existing attributes. parameters: - name: AttributeName type: string description: > To get the bios attribute current values and pending values if previously set by setAttribute or SetPendingAttributes. returns: - name: AttributeValueType type: enum[self.AttributeType] description: > PLDM attribute Type present in PLDM spec - name: CurrentValue type: variant[int64,string] description: > The attribute current value. - name: PendingValue type: variant[int64,string] description: > The pending attribute value if its available. errors: - xyz.openbmc_project.Common.Error.InternalFailure - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeNotFound properties: - name: ResetBIOSSettings type: enum[self.ResetFlag] default: NoAction description: > Contain reset BIOS setting type: Interface have to set NoAction this property. when Reset BIOS settings are informed to the BIOS. - name: BaseBIOSTable 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],string]]]] description: > map{attributeName,struct{attributeType,readonlyStatus,displayname, description,menuPath,current,default, array{struct{optionstring,optionvalue}}}} Example 1: {"DdrFreqLimit", {xyz.openbmc_project.BIOSConfig.Manager.AttributeType.String, false, "Memory Operating Speed Selection", "Force specific Memory Operating Speed or use Auto setting.", "Advanced/Memory Configuration/Memory Operating Speed Selection", "0x00", "0x0B", { {"OneOf", "auto", "enum0"}, {"OneOf", "2133", "enum1"}, {"OneOf", "2400", "enum2"}, {"OneOf", "2664", "enum3"}, {"OneOf", "2933", "enum4"} } } } Example 2: {"BIOSSerialDebugLevel", {xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Integer, false, "BIOS Serial Debug level", "BIOS Serial Debug level during system boot.", "Advanced/Debug Feature Selection", 0x00, 0x01, { {"MinBound", 0, ""}, {"MaxBound", 4, ""}, {"ScalarIncrement", 1, ""} } } } - name: PendingAttributes type: dict[string,struct[enum[self.AttributeType],variant[int64,string]]] description: > The Pending attribute name and new value. ex- { {"QuietBoot",Type.Integer, 0x1}, { "DdrFreqLimit",Type.String,"2933"} } errors: - xyz.openbmc_project.Common.Error.InvalidArgument - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeNotFound - xyz.openbmc_project.BIOSConfig.Common.Error.AttributeReadOnly enumerations: - name: AttributeType description: > Attribute Type. values: - name: Enumeration description: > Enumeration value Type. - name: String description: > string value Type. - name: Password description: > Encoded string value Type - name: Integer description: > Integer value Type. - name: Boolean description: > Boolean value Type - name: ResetFlag description: > Reset BIOS setting type requested by user. values: - name: NoAction description: > Default value, In order to cancel the reset BIOS settings. - name: FactoryDefaults description: > Used to set factory default settings. - name: FailSafeDefaults description: > Used to set the fail safe settings. - name: BoundType description: > Contain BoundType value for string and integer values: - name: LowerBound description: > Used to define the lower bound value. - name: UpperBound description: > Used to define the upper bound value. - name: ScalarIncrement description: > Used to define scalar value of integer. - name: MinStringLength description: > Used to define minimum string length. - name: MaxStringLength description: > Used to define maximum string length. - name: OneOf description: > Used to define the enumeration options.