diff options
author | Vikram Bodireddy <vikram.bodireddy@linux.intel.com> | 2019-12-05 08:36:15 +0300 |
---|---|---|
committer | Bodireddy, Vikram <vikram.bodireddy@intel.com> | 2019-12-06 05:15:56 +0300 |
commit | 9b55d31625a882879d584e05ad28d727d9aa2d2f (patch) | |
tree | 812a74666c3c39de301647951274d74127edd2f9 | |
parent | 77a2b54064f846c45679bd36f9047e4ee1a64a13 (diff) | |
download | provingground-9b55d31625a882879d584e05ad28d727d9aa2d2f.tar.xz |
Add CPLD recovery image support
Support added to expose the CPLD recovery image
inventory details.
Tested:
Verified that CPLD recovery inventory object is
exposed in Redfish Software inventory query.
Change-Id: Ifd92e31f7c940647c7cb2cfb353ec58220032545
Signed-off-by: Vikram Bodireddy <vikram.bodireddy@linux.intel.com>
-rw-r--r-- | intel-pfr-manager/libpfr/inc/pfr.hpp | 3 | ||||
-rw-r--r-- | intel-pfr-manager/libpfr/src/pfr.cpp | 4 | ||||
-rw-r--r-- | intel-pfr-manager/service/src/mainapp.cpp | 6 | ||||
-rw-r--r-- | intel-pfr-manager/service/src/pfr_mgr.cpp | 3 |
4 files changed, 12 insertions, 4 deletions
diff --git a/intel-pfr-manager/libpfr/inc/pfr.hpp b/intel-pfr-manager/libpfr/inc/pfr.hpp index 542cb51..8bf3082 100644 --- a/intel-pfr-manager/libpfr/inc/pfr.hpp +++ b/intel-pfr-manager/libpfr/inc/pfr.hpp @@ -24,7 +24,8 @@ namespace pfr enum class ImageType { - cpld, + cpldActive, + cpldRecovery, biosActive, biosRecovery, bmcActive, diff --git a/intel-pfr-manager/libpfr/src/pfr.cpp b/intel-pfr-manager/libpfr/src/pfr.cpp index 5e43d48..a5316ba 100644 --- a/intel-pfr-manager/libpfr/src/pfr.cpp +++ b/intel-pfr-manager/libpfr/src/pfr.cpp @@ -155,8 +155,10 @@ std::string getFirmwareVersion(const ImageType& imgType) { switch (imgType) { - case (ImageType::cpld): + case (ImageType::cpldActive): + case (ImageType::cpldRecovery): { + // TO-DO: Need to update once CPLD supported Firmware is available return readVersionFromCPLD(cpldROTVersion, cpldROTSvn); } case (ImageType::biosActive): diff --git a/intel-pfr-manager/service/src/mainapp.cpp b/intel-pfr-manager/service/src/mainapp.cpp index 761b25e..c92a5d0 100644 --- a/intel-pfr-manager/service/src/mainapp.cpp +++ b/intel-pfr-manager/service/src/mainapp.cpp @@ -50,7 +50,11 @@ static std::vector<std::tuple<std::string, ImageType, std::string>> versionPurposeHost), std::make_tuple("bios_recovery", ImageType::biosRecovery, versionPurposeHost), - std::make_tuple("cpld", ImageType::cpld, versionPurposeOther)}; + std::make_tuple("cpld_active", ImageType::cpldActive, + versionPurposeOther), + std::make_tuple("cpld_recovery", ImageType::cpldRecovery, + versionPurposeOther), +}; // Recovery reason map. // {<CPLD association>,{<Redfish MessageID>, <Recovery Reason>}} diff --git a/intel-pfr-manager/service/src/pfr_mgr.cpp b/intel-pfr-manager/service/src/pfr_mgr.cpp index 318abe2..ed97fd2 100644 --- a/intel-pfr-manager/service/src/pfr_mgr.cpp +++ b/intel-pfr-manager/service/src/pfr_mgr.cpp @@ -61,7 +61,8 @@ PfrVersion::PfrVersion(sdbusplus::asio::object_server &srv_, * "RequestedActivation" to None. */ std::string activation = (imgType == ImageType::bmcRecovery || - imgType == ImageType::biosRecovery) + imgType == ImageType::biosRecovery || + imgType == ImageType::cpldRecovery) ? "xyz.openbmc_project.Software.Activation.Activations.StandbySpare" : "xyz.openbmc_project.Software.Activation.Activations.Active"; std::string reqActNone = |