Restore system VPD if EEPROM data is blank.
This commit implement changes which enables restoring system VPD.
If at the time of VPD parsing for backplane it is found that data
related to system VPD is blank on EEPROM but available on cache,
then the data from Dbus will be used to restore data in EEPROM.
There are another scenarios in restoring the system VPD but this
commit only implement changes to restore system VPD when the data
is available on cache but blank on EEPROM.
This commit also implements creation and logging of PEL in case blank
system VPD is found both on EEPROM and Dbus in the process of
system VPD restore.
Meson Build: OK.
Tested on Simics: OK.
Signed-off-by: Sunny Srivastava <sunnsr25@in.ibm.com>
Change-Id: I32a872b3c3a74b79a9b8173c712b50f72fd7588c
diff --git a/types.hpp b/types.hpp
index 5f24bd0..c297bf5 100644
--- a/types.hpp
+++ b/types.hpp
@@ -40,15 +40,20 @@
using ListOfPaths = std::vector<sdbusplus::message::object_path>;
using NodeNumber = uint16_t;
using namespace std::string_literals;
-constexpr auto pimPath = "/xyz/openbmc_project/inventory";
-constexpr auto pimIntf = "xyz.openbmc_project.Inventory.Manager";
using KeywordVpdMap = std::unordered_map<std::string, Binary>;
using systemType = std::string;
using deviceTree = std::string;
using deviceTreeMap = std::unordered_map<systemType, deviceTree>;
using PelAdditionalData = std::map<std::string, std::string>;
-
+using Keyword = std::string;
+using KeywordData = std::string;
+using DbusPropertyMap = std::unordered_map<Keyword, KeywordData>;
+using PelAdditionalData = std::map<std::string, std::string>;
+using Service = std::string;
+using MapperResponse =
+ std::map<Path, std::map<Service, std::vector<Interface>>>;
+using RestoredEeproms = std::tuple<Path, std::string, Keyword, Binary>;
} // namespace inventory
} // namespace vpd