oem-ibm: Resource dump support
This commit includes the changes to support resource dump. Input
parameters to initiate resource dump are vsp string and the
password.
Resource Dump Flow:
1. PLDM waits for the resource dump create signal from
dump manager
2. BMC sends the NewfileAvailable command to hypervisor with
resource dump paramters
Format: <Length of the VSP String><VSP String>
<Length of the Password><Password>
3. Hypervisor reads and validates the data and send the File Ack
command back to BMC
4. Once completed, BMC receives the NewfileAvailable command from
hypervisor with resource dump details
5. User initiates the dump offload
6. BMC receives the write file by type from memory command from
hypervisor
7. Once this operation is completed BMC receives the File Ack
command from hyperviosr
Tested By:
1. Initiating the resource dump using pldmtool, busctl and redfish
2. Verified that resource dump entry is updated with source id,
length, completion time and status.
3. Dump offload is successful with initiating from redfish
4. Verified that new resource dump is generated at hypervisor level
5. Error scenarios tested are like empty vsp string, not supported
vsp string etc.
Signed-off-by: Jayashankar Padath <jayashankar.padath@in.ibm.com>
Change-Id: Iedcdf3cf16c263a2d1749bb5251f7f6244c327ea
diff --git a/oem/ibm/libpldm/file_io.h b/oem/ibm/libpldm/file_io.h
index 866a31c..a501c93 100644
--- a/oem/ibm/libpldm/file_io.h
+++ b/oem/ibm/libpldm/file_io.h
@@ -46,14 +46,16 @@
/** @brief PLDM File I/O table types
*/
enum pldm_fileio_file_type {
- PLDM_FILE_TYPE_PEL = 0,
- PLDM_FILE_TYPE_LID_PERM = 1,
- PLDM_FILE_TYPE_LID_TEMP = 2,
- PLDM_FILE_TYPE_DUMP = 3,
- PLDM_FILE_TYPE_CERT_SIGNING_REQUEST = 4,
- PLDM_FILE_TYPE_SIGNED_CERT = 5,
- PLDM_FILE_TYPE_ROOT_CERT = 6,
- PLDM_FILE_TYPE_LID_MARKER = 7,
+ PLDM_FILE_TYPE_PEL = 0x0,
+ PLDM_FILE_TYPE_LID_PERM = 0x1,
+ PLDM_FILE_TYPE_LID_TEMP = 0x2,
+ PLDM_FILE_TYPE_DUMP = 0x3,
+ PLDM_FILE_TYPE_CERT_SIGNING_REQUEST = 0x4,
+ PLDM_FILE_TYPE_SIGNED_CERT = 0x5,
+ PLDM_FILE_TYPE_ROOT_CERT = 0x6,
+ PLDM_FILE_TYPE_LID_MARKER = 0x7,
+ PLDM_FILE_TYPE_RESOURCE_DUMP_PARMS = 0x8,
+ PLDM_FILE_TYPE_RESOURCE_DUMP = 0x9,
};
#define PLDM_RW_FILE_MEM_REQ_BYTES 20