#
4e29f80b |
| 20-Aug-2024 |
Archana Kakani <archana.kakani@ibm.com> |
Add version to BaseBiosTable to prevent data loss
The initial version of the Base BIOS table did not support Value Display Names (VDN). Support for VDN was introduced in a commit [1]. A BMC image cr
Add version to BaseBiosTable to prevent data loss
The initial version of the Base BIOS table did not support Value Display Names (VDN). Support for VDN was introduced in a commit [1]. A BMC image created without VDN support stores data in the old BaseBiosTable format. If a new BMC image (with VDN support) is flashed over an older image (without VDN support), the BIOS manager attempts to read the binary archive generated by the older BIOS settings manager. Since it doesn't recognize the newly added property, it assumes the persisted file is corrupted and ignores all the saved settings.
To prevent the loss of persisted BIOS data, the versioning support provided by the Cereal library is used. This version information is utilized to convert the persisted data into the current supported format.
[1]: https://github.com/openbmc/bios-settings-mgr/commit/1a448ad88fdaec7e082b4a1c437f7f3c990402cd
Change-Id: If68be37e32ae31d7338d8933df945453a30c113a Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
#
4b1e496a |
| 15-Oct-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
deserialize: Handle wide range of exceptions
We seem to only catch std::length_error exception and cereal exception, but all the other exceptions like std::bad_alloc are ignored. This commit would e
deserialize: Handle wide range of exceptions
We seem to only catch std::length_error exception and cereal exception, but all the other exceptions like std::bad_alloc are ignored. This commit would ensure that we catch wide range of exceptions and makes sure we delete the corrpted file in all error scenarios.
Change-Id: Ia607ec18fdce3385fb4857d9a0608f5d8d1e8704 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
#
ae2ed8d0 |
| 15-Oct-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Add error handling in serialize() & deserialize()
Refined the serialize and deserialize functions to incorporate robust error handling. These checks would safeguard the application against potential
Add error handling in serialize() & deserialize()
Refined the serialize and deserialize functions to incorporate robust error handling. These checks would safeguard the application against potential runtime crashes.
Change-Id: I39923feeb489a5270b961278118abcc7f4c31dee Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
#
f19e2713 |
| 10-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository and reformat the repository.
Change-Id: I8eaad22ef9603fcdddf3de9d297aafbaf7472816 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
#
567a3cf2 |
| 07-Dec-2021 |
George Liu <liuxiwei@inspur.com> |
logging: switch to lg2
After switching to C++20, it is recommended to use `phosphor::lg2` to format log, and the correct `CODE_LINE` and `CODE_FUNC` values can be used in log tracking.
Tested: buil
logging: switch to lg2
After switching to C++20, it is recommended to use `phosphor::lg2` to format log, and the correct `CODE_LINE` and `CODE_FUNC` values can be used in log tracking.
Tested: built biosConfigManager successfully. journalctl -o json-pretty SYSLOG_IDENTIFIER=biosconfig-manager { "_TRANSPORT" : "journal", "_PID" : "244", "__MONOTONIC_TIMESTAMP" : "513878067", "_SYSTEMD_SLICE" : "system.slice", "CODE_LINE" : "123", "_SOURCE_REALTIME_TIMESTAMP" : "513877941", "_HOSTNAME" : "fp5280g2", "_CAP_EFFECTIVE" : "1ffffffffff", "_BOOT_ID" : "40382c3612f54e1a96a6ecf41fe6b38e", "SYSLOG_IDENTIFIER" : "biosconfig-manager", "_CMDLINE" : "/usr/bin/biosconfig-manager", "_EXE" : "/usr/bin/biosconfig-manager", "LOG2_FMTMSG" : "BIOS attribute not found in the BaseBIOSTable", "_SYSTEMD_UNIT" : "xyz.openbmc_project.biosconfig_manager.service", "MESSAGE" : "BIOS attribute not found in the BaseBIOSTable", "PRIORITY" : "3", "CODE_FILE" : "../biosconfig-manager/src/manager.cpp", "CODE_FUNC" : "virtual bios_config::Manager::PendingAttributes bios_config::Manager::pendingAttributes (bios_config::Manager::PendingAttributes)" ... }
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I274d61827279b10ba3fe9d61404ce8b654ccdd9e
show more ...
|
#
f1101df2 |
| 05-Nov-2020 |
Tom Joseph <tomjoseph@in.ibm.com> |
Add serialization for bios-settings-manager
Tested: Restarted the biosconfig-manager application and BaseBIOSTable and PendingAttributes were restored.
Signed-off-by: Tom Joseph <tomjoseph@
Add serialization for bios-settings-manager
Tested: Restarted the biosconfig-manager application and BaseBIOSTable and PendingAttributes were restored.
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com> Change-Id: Iddbe69ed45a6895a324d236a14b6f21586315c62
show more ...
|