Updated supported PDLM commands list
The associative container "capabilities" was updated to reflect the
currently implemented PLDM types and respective commands. The return
value of the "getPLDMTypes" in the test code was updated to match with the
current PLDM types value.
Currently implemented/supported PLDM type with commands are listed below
- PLDM Messaging Control and Discovery (0x03,0x04,0x05).
- PLDM for Platform Monitoring and Control (0x39).
- PLDM for BIOS Control and Configuration (0x0c).
Change-Id: Id8372a8280fa05c90733e7fac54e1695127d4e68
Signed-off-by: Zahed Hossain <zahzahed@in.ibm.com>
diff --git a/libpldmresponder/base.cpp b/libpldmresponder/base.cpp
index 805abed..43bcc12 100644
--- a/libpldmresponder/base.cpp
+++ b/libpldmresponder/base.cpp
@@ -9,6 +9,9 @@
#include <stdexcept>
#include <vector>
+#include "libpldm/bios.h"
+#include "libpldm/platform.h"
+
namespace pldm
{
namespace responder
@@ -17,7 +20,10 @@
using Cmd = std::vector<uint8_t>;
static const std::map<Type, Cmd> capabilities{
- {PLDM_BASE, {PLDM_GET_PLDM_TYPES, PLDM_GET_PLDM_COMMANDS}}};
+ {PLDM_BASE,
+ {PLDM_GET_PLDM_VERSION, PLDM_GET_PLDM_TYPES, PLDM_GET_PLDM_COMMANDS}},
+ {PLDM_PLATFORM, {PLDM_SET_STATE_EFFECTER_STATES}},
+ {PLDM_BIOS, {PLDM_GET_DATE_TIME}}};
static const std::map<Type, ver32_t> versions{
{PLDM_BASE, {0xF1, 0xF0, 0xF0, 0x00}},
diff --git a/test/libpldmresponder_base_test.cpp b/test/libpldmresponder_base_test.cpp
index 8990d22..6138341 100644
--- a/test/libpldmresponder_base_test.cpp
+++ b/test/libpldmresponder_base_test.cpp
@@ -21,7 +21,7 @@
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
uint8_t* payload_ptr = responsePtr->payload;
ASSERT_EQ(payload_ptr[0], 0);
- ASSERT_EQ(payload_ptr[1], 1);
+ ASSERT_EQ(payload_ptr[1], 13);
ASSERT_EQ(payload_ptr[2], 0);
}
@@ -37,7 +37,7 @@
auto responsePtr = reinterpret_cast<pldm_msg*>(response.data());
uint8_t* payload_ptr = responsePtr->payload;
ASSERT_EQ(payload_ptr[0], 0);
- ASSERT_EQ(payload_ptr[1], 48); // 48 = 0b110000
+ ASSERT_EQ(payload_ptr[1], 56); // 56 = 0b111000
ASSERT_EQ(payload_ptr[2], 0);
}