Add support for vendor specific FruDbusLookup
In the current state, a vendor could not define the FRU's
that he wants to send to the host.
This commit adds a fru_master.json that can be used while
building the master , and the json would be replaced with
fru_master.json from the oem/<vendor>/configurations
directory when compiling for oem's.
Tested By:
IBM machine test :
1. meson build -Doem-ibm=enabled -Dprefix=<>
2. ninja -C build && ninja install
3. in the prefix directory we should see the json file
from the oem/ibm/configurations folder
Non IBM machine test :
1. meson build -Doem-ibm=disabled -Dprefix=<>
2. ninja -C build && ninja install
3. in the prefix directory we should see the json file
from the pldm/configurations folder.
Runtime test:
1. on an IBM machine make sure the pldm builds the fru record
table.
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: Id3c2746c51a1f99f2038b2af48137133e9d0b405
diff --git a/libpldmresponder/test/fru_jsons/fru_master/fru_master.json b/libpldmresponder/test/fru_jsons/fru_master/fru_master.json
new file mode 100644
index 0000000..5a87eb7
--- /dev/null
+++ b/libpldmresponder/test/fru_jsons/fru_master/fru_master.json
@@ -0,0 +1,21 @@
+{
+ "FruDBusLookupMap":{
+ "xyz.openbmc_project.Inventory.Item.Chassis" : 45,
+ "xyz.openbmc_project.Inventory.Item.Board": 60,
+ "xyz.openbmc_project.Inventory.Item.PCIeDevice": 61,
+ "xyz.openbmc_project.Inventory.Item.Board.Motherboard": 64,
+ "xyz.openbmc_project.Inventory.Item.Dimm": 66,
+ "xyz.openbmc_project.Inventory.Item.Panel": 69,
+ "xyz.openbmc_project.Inventory.Item.DiskBackplane": 73,
+ "xyz.openbmc_project.Inventory.Item.Fan": 93,
+ "xyz.openbmc_project.Inventory.Item.PowerSupply": 120,
+ "xyz.openbmc_project.Inventory.Item.Battery": 121,
+ "xyz.openbmc_project.Inventory.Item.Vrm": 123,
+ "xyz.openbmc_project.Inventory.Item.Cpu": 135,
+ "xyz.openbmc_project.Inventory.Item.Bmc": 137,
+ "xyz.openbmc_project.Inventory.Item.Connector": 185,
+ "xyz.openbmc_project.Inventory.Item.PCIeSlot": 186,
+ "xyz.openbmc_project.Inventory.Item.System": 11521,
+ "xyz.openbmc_project.Inventory.Item.Tpm": 24576
+ }
+}
diff --git a/libpldmresponder/test/libpldmresponder_fru_test.cpp b/libpldmresponder/test/libpldmresponder_fru_test.cpp
index 8219d75..6c942da 100644
--- a/libpldmresponder/test/libpldmresponder_fru_test.cpp
+++ b/libpldmresponder/test/libpldmresponder_fru_test.cpp
@@ -5,7 +5,8 @@
{
using namespace pldm::responder::fru_parser;
- FruParser parser{"./fru_jsons/good"};
+ FruParser parser{"./fru_jsons/good",
+ "./fru_jsons/fru_master/fru_master.json"};
// Get an item with a single PLDM FRU record
FruRecordInfos cpu{