Fix singleton issue for not passing correct argument

Use reference to create instance instead of an object

Note:
1. User must revise the OBMC_HOST_INSTANCES in project
   configuration file to correctly execute sled cycle.
2. The reason to revise is that OBMC_HOST_INSTANCES and
   OBMC_CHASSIS_INSTANCES are 1 to 1 relationship defined in
   phosphor-state-manager-systemd-links.inc
3. After revision, BMC creats a object path which is not used called
   /xyz/openbmc_project/state/boot/raw0 under xyz.openbmc_project.State.Boot.Raw

Test Case:
Check the correcponding Dbus match path is created

Signed-off-by: Bonnie Lo <Bonnie_Lo@wiwynn.com>
Change-Id: I84e5658c1919dc758efade4bd13122610997c067
2 files changed
tree: 79c363ecd20b2d460af289a2b6bc1fd02329f01a
  1. inc/
  2. service_files/
  3. src/
  4. subprojects/
  5. .clang-format
  6. LICENSE
  7. meson.build
  8. meson_options.txt
  9. OWNERS
  10. README.md
README.md

phosphor-post-code-manager

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

To build phosphor-post-code-manager package , do the following steps:

meson <build directory>
ninja -C <build directory>

Hosted Services

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.

Architecture

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