Enable 'oem-ibm' in pldmtool for base commands.
pldmtool base GetPLDMTypes
Supported types: 0(base) 2(platform) 3(bios) 4(fru) 63(oem-ibm)
pldmtool base GetPLDMCommands -t 63
upported Commands : 1(GetFileTable) 4(ReadFile) 5(WriteFile) 6(ReadFileInToMemory) 7(WriteFileFromMemory) 8(ReadFileByTypeIntoMemory) 9(WriteFileByTypeFromMemory) 10(NewFileAvailable) 11(ReadFileByType) 12(WriteFileByType) 13(FileAck) 240(GetAlertStatus)
pldmtool base GetPLDMVersion -t 63
Type 63(oem-ibm): 1.0.0
pldmtool oem-ibm --help
oem type command
Usage: ./pldmtool oem-ibm [OPTIONS] SUBCOMMAND
Options:
-h,--help Print this help message and exit
Subcommands:
GetAlertStatus get alert status descriptor
Signed-off-by: Sridevi Ramesh <sridevra@in.ibm.com>
Change-Id: I4937e56dcf11eb0c0a2a272a3439821f9eb60b5f
diff --git a/libpldmresponder/base.cpp b/libpldmresponder/base.cpp
index 6f97bdf..f72e8dc 100644
--- a/libpldmresponder/base.cpp
+++ b/libpldmresponder/base.cpp
@@ -12,6 +12,11 @@
#include "libpldm/fru.h"
#include "libpldm/platform.h"
+#ifdef OEM_IBM
+#include "libpldm/file_io.h"
+#include "libpldm/host.h"
+#endif
+
namespace pldm
{
@@ -31,14 +36,25 @@
{PLDM_GET_DATE_TIME, PLDM_SET_DATE_TIME, PLDM_GET_BIOS_TABLE,
PLDM_GET_BIOS_ATTRIBUTE_CURRENT_VALUE_BY_HANDLE,
PLDM_SET_BIOS_ATTRIBUTE_CURRENT_VALUE}},
- {PLDM_FRU,
- {PLDM_GET_FRU_RECORD_TABLE_METADATA, PLDM_GET_FRU_RECORD_TABLE}}};
+ {PLDM_FRU, {PLDM_GET_FRU_RECORD_TABLE_METADATA, PLDM_GET_FRU_RECORD_TABLE}},
+#ifdef OEM_IBM
+ {PLDM_OEM,
+ {PLDM_HOST_GET_ALERT_STATUS, PLDM_GET_FILE_TABLE, PLDM_READ_FILE,
+ PLDM_WRITE_FILE, PLDM_READ_FILE_INTO_MEMORY, PLDM_WRITE_FILE_FROM_MEMORY,
+ PLDM_READ_FILE_BY_TYPE_INTO_MEMORY, PLDM_WRITE_FILE_BY_TYPE_FROM_MEMORY,
+ PLDM_NEW_FILE_AVAILABLE, PLDM_READ_FILE_BY_TYPE, PLDM_WRITE_FILE_BY_TYPE,
+ PLDM_FILE_ACK}},
+#endif
+};
static const std::map<Type, ver32_t> versions{
{PLDM_BASE, {0xF1, 0xF0, 0xF0, 0x00}},
{PLDM_PLATFORM, {0xF1, 0xF2, 0xF0, 0x00}},
{PLDM_BIOS, {0xF1, 0xF0, 0xF0, 0x00}},
{PLDM_FRU, {0xF1, 0xF0, 0xF0, 0x00}},
+#ifdef OEM_IBM
+ {PLDM_OEM, {0xF1, 0xF0, 0xF0, 0x00}},
+#endif
};
namespace base
diff --git a/tool/pldm_base_cmd.cpp b/tool/pldm_base_cmd.cpp
index 7edc33c..c0801a0 100644
--- a/tool/pldm_base_cmd.cpp
+++ b/tool/pldm_base_cmd.cpp
@@ -4,6 +4,11 @@
#include "libpldm/utils.h"
+#ifdef OEM_IBM
+#include "libpldm/file_io.h"
+#include "libpldm/host.h"
+#endif
+
namespace pldmtool
{
@@ -17,8 +22,11 @@
std::vector<std::unique_ptr<CommandInterface>> commands;
const std::map<const char*, pldm_supported_types> pldmTypes{
- {"base", PLDM_BASE}, {"platform", PLDM_PLATFORM}, {"bios", PLDM_BIOS},
- {"fru", PLDM_FRU}, {"oem", PLDM_OEM},
+ {"base", PLDM_BASE}, {"platform", PLDM_PLATFORM},
+ {"bios", PLDM_BIOS}, {"fru", PLDM_FRU},
+#ifdef OEM_IBM
+ {"oem-ibm", PLDM_OEM},
+#endif
};
const std::map<const char*, pldm_supported_commands> pldmBaseCmds{
@@ -44,6 +52,24 @@
{"GetFRURecordTableMetadata", PLDM_GET_FRU_RECORD_TABLE_METADATA},
{"GetFRURecordTable", PLDM_GET_FRU_RECORD_TABLE}};
+#ifdef OEM_IBM
+const std::map<const char*, pldm_host_commands> pldmIBMHostCmds{
+ {"GetAlertStatus", PLDM_HOST_GET_ALERT_STATUS}};
+
+const std::map<const char*, pldm_fileio_commands> pldmIBMFileIOCmds{
+ {"GetFileTable", PLDM_GET_FILE_TABLE},
+ {"ReadFile", PLDM_READ_FILE},
+ {"WriteFile", PLDM_WRITE_FILE},
+ {"ReadFileInToMemory", PLDM_READ_FILE_INTO_MEMORY},
+ {"WriteFileFromMemory", PLDM_WRITE_FILE_FROM_MEMORY},
+ {"ReadFileByTypeIntoMemory", PLDM_READ_FILE_BY_TYPE_INTO_MEMORY},
+ {"WriteFileByTypeFromMemory", PLDM_WRITE_FILE_BY_TYPE_FROM_MEMORY},
+ {"NewFileAvailable", PLDM_NEW_FILE_AVAILABLE},
+ {"ReadFileByType", PLDM_READ_FILE_BY_TYPE},
+ {"WriteFileByType", PLDM_WRITE_FILE_BY_TYPE},
+ {"FileAck", PLDM_FILE_ACK}};
+#endif
+
} // namespace
class GetPLDMTypes : public CommandInterface
@@ -287,6 +313,10 @@
case PLDM_FRU:
printCommand(pldmFruCmds, i);
break;
+ case PLDM_OEM:
+ printCommand(pldmIBMHostCmds, i);
+ printCommand(pldmIBMFileIOCmds, i);
+ break;
default:
break;
}