commit | bd706d79b15a974b2c346df85a78271e21c3fc62 | [log] [tgz] |
---|---|---|
author | Manojkiran Eda <manojkiran.eda@gmail.com> | Tue Dec 21 05:09:47 2021 +0530 |
committer | Kuiying Wang <wangkuiying.wky@alibaba-inc.com> | Thu Feb 10 06:33:48 2022 +0000 |
tree | c669769a9e6a77a778070aab42533fa3e163dfab | |
parent | 987f91a6536e0330799cc5f4e54740c4023b5ef0 [diff] |
Switch to a thread safe single ton In the current state the single ton pattern used in the repository is not thread safe. Switching the pattern to Meyer's single ton over the trusty leaky single ton. Ref : https://jinyu.li/notes/meyers-singleton/ Tested By : 1. Patched post-code-manager deamon & was able to get the post codes with the GetPostCodesWithTimeStamp method. Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com> Change-Id: I0ee5c21f15fc93e1d8c5e62a0fed33622a33c894
This phosphor-post-code-manager repository provides an infrastructure to persist the POST codes in BMC filesystem & it also owns the systemd services that are responsible for exposing the BIOS Post Codes to rest of the world via redfish.
To build phosphor-post-code-manager package , do the following steps:
meson <build directory> ninja -C <build directory>
This repository ships xyz.openbmc_project.State.Boot.PostCode.service
systemd service along with its template version and a tiny binary that exposes the necessary dbus interfaces & methods to extract the POST codes per boot cycle.
This repository is tightly coupled with phosphor-host-postd OpenBMC respository which is responsible for emitting the dbus signals for every new POST Code.
phosphor-post-code-manager is architected to look for the property changed signals which are being emitted from the service that hosts Value property on xyz.openbmc_project.State.Boot.Raw
interface & archive them per boot on the filesystem, so that those can be exposed over redfish