tree 39758118b6fa4f897d6e16b55ad56aec154176ce
parent a2767e689d5bd3d2537034d32518ece88d55bdab
author George Liu <liuxiwei@inspur.com> 1613444935 +0800
committer Sampa Misra <sampmisr@in.ibm.com> 1614170361 +0000

Fix BIOS to allow updating attributers via D-Bus

BIOS attribute is changed by pending attributes and the new value
should be shown in D-Bus.
Also BaseBIOSTable should be updated.

Tested:
busctl call xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager org.freedesktop.DBus.Properties Set ssv xyz.openbmc_project.BIOSConfig.Manager PendingAttributes a{s\(sv\)} 1 "pvm_stop_at_standby" "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Enumeration" s "Enabled"

busctl get-property xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager xyz.openbmc_project.BIOSConfig.Manager BaseBIOSTable --verbose
```
DICT_ENTRY "s(sbsssvva(sv))" {
                STRING "pvm_stop_at_standby";
                STRUCT "sbsssvva(sv)" {
                        STRING "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.Enumeration";
                        BOOLEAN false;
                        STRING "pvm_stop_at_standby";
                        STRING "pvm_stop_at_standby";
                        STRING "";
                        VARIANT "s" {
                                STRING "Enabled";
                        };
                        VARIANT "s" {
                                STRING "Enabled";
                        };
                        ARRAY "(sv)" {
                                STRUCT "sv" {
                                        STRING "xyz.openbmc_project.BIOSConfig.Manager.BoundType.OneOf";
                                        VARIANT "s" {
                                                STRING "Disabled";
                                        };
                                };
                                STRUCT "sv" {
                                        STRING "xyz.openbmc_project.BIOSConfig.Manager.BoundType.OneOf";
                                        VARIANT "s" {
                                                STRING "Enabled";
                                        };
                                };
                        };
                };
        };
```

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I74ee9ff843fa9d588f94e4334d015cf55b52aea6
