pdr: Implement terminus locator PDR for BMC
This commit creates the TL PDR for the BMC. The TID and MCTP EID for
BMC is static, 1 and 8 respectively. BMC PDRs are assigned the value
of 1 for PLDMTerminusHandle. Added the parser for terminus locator
PDR in pldmtool.
Tested:
/tmp/pldmtool platform GetPdr -d 0
nextRecordHandle: 2
responseCount: 19
recordHandle: 1
PDRHeaderVersion: 1
PDRType: 1
recordChangeNumber: 0
dataLength: 9
PLDMTerminusHandle: 1
validity: valid
TID: 1
containerID: 0
terminusLocatorType: MCTP_EID
terminusLocatorValueSize: 1
EID: 8
Change-Id: I596301d6c676b450ae1f2cef872966b4c40d8bae
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
diff --git a/libpldmresponder/platform.hpp b/libpldmresponder/platform.hpp
index 1ff6bc4..5cf2534 100644
--- a/libpldmresponder/platform.hpp
+++ b/libpldmresponder/platform.hpp
@@ -68,6 +68,7 @@
{
if (!buildPDRLazily)
{
+ generateTerminusLocatorPDR(pdrRepo);
generate(*dBusIntf, pdrJsonsDir, pdrRepo);
pdrCreated = true;
}
@@ -402,6 +403,12 @@
return rc;
}
+ /** @brief Build BMC Terminus Locator PDR
+ *
+ * @param[in] repo - instance of concrete implementation of Repo
+ */
+ void generateTerminusLocatorPDR(Repo& repo);
+
private:
pdr_utils::Repo pdrRepo;
uint16_t nextEffecterId{};