BIOS: support readonly attributes
Since the P10 system has BMC to manager the BIOS attributes,
and the BMC side does not know the attribute values of the BIOS,
it should allow the OOB interface(Host) to be able to set BIOS
readOnly attributes, while still preventing the redfish-doPATCH
operation on it.
Tested: if the readOnly attribute of the pvm_system_name is true,
so we can use `pldmtool` to update the BIOS attributes.
pldmtool bios SetBIOSAttributeCurrentValue -a pvm_system_name -d XXX
{
"Response": "SUCCESS"
}
Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: Iabcb5c2400eb0a5c208cc76180d4b07e02457f44
diff --git a/libpldmresponder/bios_attribute.cpp b/libpldmresponder/bios_attribute.cpp
index bc646ca..aa6ff9f 100644
--- a/libpldmresponder/bios_attribute.cpp
+++ b/libpldmresponder/bios_attribute.cpp
@@ -32,21 +32,18 @@
// No action required, readOnly is initialised to false
}
- if (!readOnly)
+ try
{
- try
- {
- std::string objectPath = entry.at("dbus").at("object_path");
- std::string interface = entry.at("dbus").at("interface");
- std::string propertyName = entry.at("dbus").at("property_name");
- std::string propertyType = entry.at("dbus").at("property_type");
+ std::string objectPath = entry.at("dbus").at("object_path");
+ std::string interface = entry.at("dbus").at("interface");
+ std::string propertyName = entry.at("dbus").at("property_name");
+ std::string propertyType = entry.at("dbus").at("property_type");
- dBusMap = {objectPath, interface, propertyName, propertyType};
- }
- catch (const std::exception& e)
- {
- // No action required, dBusMap whill have no value
- }
+ dBusMap = {objectPath, interface, propertyName, propertyType};
+ }
+ catch (const std::exception& e)
+ {
+ // No action required, dBusMap whill have no value
}
}