mirror of
https://github.com/ipmitool/ipmitool.git
synced 2025-05-10 10:37:22 +00:00
ID: 46 - ipmi_fwum needs some re-work
Remove trailing tabs and white spaces.
This commit is contained in:
parent
9517cb332b
commit
d02492f1c7
@ -130,9 +130,9 @@ typedef struct sKFWUM_SaveFirmwareInfo
|
|||||||
{
|
{
|
||||||
tKFWUM_DownloadType downloadType;
|
tKFWUM_DownloadType downloadType;
|
||||||
unsigned char bufferSize;
|
unsigned char bufferSize;
|
||||||
unsigned char overheadSize;
|
unsigned char overheadSize;
|
||||||
}tKFWUM_SaveFirmwareInfo;
|
}tKFWUM_SaveFirmwareInfo;
|
||||||
|
|
||||||
#define KFWUM_SMALL_BUFFER 32 /* Minimum size (IPMB/IOL/old protocol) */
|
#define KFWUM_SMALL_BUFFER 32 /* Minimum size (IPMB/IOL/old protocol) */
|
||||||
#define KFWUM_BIG_BUFFER 32 /* Maximum size on KCS interface */
|
#define KFWUM_BIG_BUFFER 32 /* Maximum size on KCS interface */
|
||||||
|
|
||||||
@ -166,7 +166,7 @@ static tKFWUM_Status KfwumManualRollback(struct ipmi_intf * intf);
|
|||||||
static tKFWUM_Status KfwumStartFirmwareImage(struct ipmi_intf * intf,
|
static tKFWUM_Status KfwumStartFirmwareImage(struct ipmi_intf * intf,
|
||||||
unsigned long length,unsigned short padding);
|
unsigned long length,unsigned short padding);
|
||||||
static tKFWUM_Status KfwumSaveFirmwareImage(struct ipmi_intf * intf,
|
static tKFWUM_Status KfwumSaveFirmwareImage(struct ipmi_intf * intf,
|
||||||
unsigned char sequenceNumber, unsigned long address,
|
unsigned char sequenceNumber, unsigned long address,
|
||||||
unsigned char *pFirmBuf, unsigned char * pInBufLength);
|
unsigned char *pFirmBuf, unsigned char * pInBufLength);
|
||||||
static tKFWUM_Status KfwumFinishFirmwareImage(struct ipmi_intf * intf,
|
static tKFWUM_Status KfwumFinishFirmwareImage(struct ipmi_intf * intf,
|
||||||
tKFWUM_InFirmwareInfo firmInfo);
|
tKFWUM_InFirmwareInfo firmInfo);
|
||||||
@ -342,7 +342,7 @@ static void KfwumMain(struct ipmi_intf * intf, tKFWUM_Task task)
|
|||||||
|
|
||||||
if( (status == KFWUM_STATUS_OK) && (task == KFWUM_TASK_ROLLBACK) )
|
if( (status == KFWUM_STATUS_OK) && (task == KFWUM_TASK_ROLLBACK) )
|
||||||
{
|
{
|
||||||
status = KfwumManualRollback(intf);
|
status = KfwumManualRollback(intf);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(
|
if(
|
||||||
@ -374,7 +374,7 @@ static void KfwumMain(struct ipmi_intf * intf, tKFWUM_Task task)
|
|||||||
{
|
{
|
||||||
status = KfwumValidFirmwareForBoard(boardInfo,firmInfo);
|
status = KfwumValidFirmwareForBoard(boardInfo,firmInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status == KFWUM_STATUS_OK)
|
if (status == KFWUM_STATUS_OK)
|
||||||
{
|
{
|
||||||
unsigned char notUsed;
|
unsigned char notUsed;
|
||||||
@ -434,7 +434,7 @@ static void KfwumMain(struct ipmi_intf * intf, tKFWUM_Task task)
|
|||||||
{
|
{
|
||||||
status = KfwumStartFirmwareUpgrade(intf);
|
status = KfwumStartFirmwareUpgrade(intf);
|
||||||
}
|
}
|
||||||
|
|
||||||
if((status == KFWUM_STATUS_OK) && (task == KFWUM_TASK_TRACELOG))
|
if((status == KFWUM_STATUS_OK) && (task == KFWUM_TASK_TRACELOG))
|
||||||
{
|
{
|
||||||
status = KfwumGetTraceLog(intf);
|
status = KfwumGetTraceLog(intf);
|
||||||
@ -528,10 +528,10 @@ static tKFWUM_Status KfwumSetupBuffersFromFile(unsigned char * pFileName,
|
|||||||
/* KfwumShowProgress - helper routine to display progress bar
|
/* KfwumShowProgress - helper routine to display progress bar
|
||||||
*
|
*
|
||||||
* Converts current/total in percent
|
* Converts current/total in percent
|
||||||
*
|
*
|
||||||
* *task : string identifying current operation
|
* *task : string identifying current operation
|
||||||
* current: progress
|
* current: progress
|
||||||
* total : limit
|
* total : limit
|
||||||
*/
|
*/
|
||||||
#define PROG_LENGTH 42
|
#define PROG_LENGTH 42
|
||||||
void KfwumShowProgress( const unsigned char * task, unsigned long current ,
|
void KfwumShowProgress( const unsigned char * task, unsigned long current ,
|
||||||
@ -578,7 +578,7 @@ void KfwumShowProgress( const unsigned char * task, unsigned long current ,
|
|||||||
/* KfwumCalculateChecksumPadding
|
/* KfwumCalculateChecksumPadding
|
||||||
*
|
*
|
||||||
* TBD
|
* TBD
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
static unsigned short KfwumCalculateChecksumPadding(unsigned char * pBuffer,
|
static unsigned short KfwumCalculateChecksumPadding(unsigned char * pBuffer,
|
||||||
unsigned long totalSize)
|
unsigned long totalSize)
|
||||||
@ -605,7 +605,7 @@ static unsigned short KfwumCalculateChecksumPadding(unsigned char * pBuffer,
|
|||||||
struct KfwumGetInfoResp {
|
struct KfwumGetInfoResp {
|
||||||
unsigned char protocolRevision;
|
unsigned char protocolRevision;
|
||||||
unsigned char controllerDeviceId;
|
unsigned char controllerDeviceId;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
unsigned char mode:1;
|
unsigned char mode:1;
|
||||||
unsigned char seqAdd:1;
|
unsigned char seqAdd:1;
|
||||||
@ -622,8 +622,8 @@ struct KfwumGetInfoResp {
|
|||||||
|
|
||||||
|
|
||||||
/* KfwumGetInfo - Get Firmware Update Manager (FWUM) information
|
/* KfwumGetInfo - Get Firmware Update Manager (FWUM) information
|
||||||
*
|
*
|
||||||
* * intf : IPMI interface
|
* * intf : IPMI interface
|
||||||
* output : when set to non zero, queried information is displayed
|
* output : when set to non zero, queried information is displayed
|
||||||
* pNumBank: output ptr for number of banks
|
* pNumBank: output ptr for number of banks
|
||||||
*/
|
*/
|
||||||
@ -678,7 +678,7 @@ static tKFWUM_Status KfwumGetInfo(struct ipmi_intf * intf, unsigned char output,
|
|||||||
printf("Number Of Memory Bank : %u\n",pGetInfo->numBank);
|
printf("Number Of Memory Bank : %u\n",pGetInfo->numBank);
|
||||||
}
|
}
|
||||||
* pNumBank = pGetInfo->numBank;
|
* pNumBank = pGetInfo->numBank;
|
||||||
|
|
||||||
/* Determine wich type of download to use: */
|
/* Determine wich type of download to use: */
|
||||||
/* Old FWUM or Old IPMC fw (data_len < 7) -->
|
/* Old FWUM or Old IPMC fw (data_len < 7) -->
|
||||||
Address with small buffer size */
|
Address with small buffer size */
|
||||||
@ -720,7 +720,7 @@ static tKFWUM_Status KfwumGetInfo(struct ipmi_intf * intf, unsigned char output,
|
|||||||
(
|
(
|
||||||
(strstr(intf->name,"open")!= NULL)
|
(strstr(intf->name,"open")!= NULL)
|
||||||
&&
|
&&
|
||||||
intf->target_addr != IPMI_BMC_SLAVE_ADDR
|
intf->target_addr != IPMI_BMC_SLAVE_ADDR
|
||||||
&&
|
&&
|
||||||
(
|
(
|
||||||
intf->target_addr != intf->my_addr
|
intf->target_addr != intf->my_addr
|
||||||
@ -730,7 +730,7 @@ static tKFWUM_Status KfwumGetInfo(struct ipmi_intf * intf, unsigned char output,
|
|||||||
saveFirmwareInfo.bufferSize = KFWUM_SMALL_BUFFER;
|
saveFirmwareInfo.bufferSize = KFWUM_SMALL_BUFFER;
|
||||||
if(verbose)
|
if(verbose)
|
||||||
{
|
{
|
||||||
printf("IPMB payload size : %d\n" ,
|
printf("IPMB payload size : %d\n" ,
|
||||||
saveFirmwareInfo.bufferSize);
|
saveFirmwareInfo.bufferSize);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -739,7 +739,7 @@ static tKFWUM_Status KfwumGetInfo(struct ipmi_intf * intf, unsigned char output,
|
|||||||
saveFirmwareInfo.bufferSize = KFWUM_BIG_BUFFER;
|
saveFirmwareInfo.bufferSize = KFWUM_BIG_BUFFER;
|
||||||
if(verbose)
|
if(verbose)
|
||||||
{
|
{
|
||||||
printf("SMI payload size : %d\n",
|
printf("SMI payload size : %d\n",
|
||||||
saveFirmwareInfo.bufferSize);
|
saveFirmwareInfo.bufferSize);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -749,8 +749,8 @@ static tKFWUM_Status KfwumGetInfo(struct ipmi_intf * intf, unsigned char output,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* KfwumGetDeviceInfo - Get IPMC/Board information
|
/* KfwumGetDeviceInfo - Get IPMC/Board information
|
||||||
*
|
*
|
||||||
* * intf : IPMI interface
|
* * intf : IPMI interface
|
||||||
* output : when set to non zero, queried information is displayed
|
* output : when set to non zero, queried information is displayed
|
||||||
* tKFWUM_BoardInfo: output ptr for IPMC/Board information
|
* tKFWUM_BoardInfo: output ptr for IPMC/Board information
|
||||||
*/
|
*/
|
||||||
@ -798,9 +798,9 @@ static tKFWUM_Status KfwumGetDeviceInfo(struct ipmi_intf * intf,
|
|||||||
pGetDevId->fw_rev1, pGetDevId->fw_rev2 >> 4,
|
pGetDevId->fw_rev1, pGetDevId->fw_rev2 >> 4,
|
||||||
pGetDevId->fw_rev2 & 0x0f);
|
pGetDevId->fw_rev2 & 0x0f);
|
||||||
if(
|
if(
|
||||||
(
|
(
|
||||||
( pBoardInfo->iana == KFWUM_IANA_KONTRON)
|
( pBoardInfo->iana == KFWUM_IANA_KONTRON)
|
||||||
&&
|
&&
|
||||||
(pBoardInfo->boardId = KFWUM_BOARD_KONTRON_5002)
|
(pBoardInfo->boardId = KFWUM_BOARD_KONTRON_5002)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -833,7 +833,7 @@ struct KfwumGetStatusResp {
|
|||||||
#ifdef HAVE_PRAGMA_PACK
|
#ifdef HAVE_PRAGMA_PACK
|
||||||
#pragma pack(0)
|
#pragma pack(0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
const struct valstr bankStateValS[] = {
|
const struct valstr bankStateValS[] = {
|
||||||
{ 0x00, "Not programmed" },
|
{ 0x00, "Not programmed" },
|
||||||
@ -844,8 +844,8 @@ const struct valstr bankStateValS[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* KfwumGetStatus - Get (and prints) FWUM banks information
|
/* KfwumGetStatus - Get (and prints) FWUM banks information
|
||||||
*
|
*
|
||||||
* * intf : IPMI interface
|
* * intf : IPMI interface
|
||||||
*/
|
*/
|
||||||
static tKFWUM_Status KfwumGetStatus(struct ipmi_intf * intf)
|
static tKFWUM_Status KfwumGetStatus(struct ipmi_intf * intf)
|
||||||
{
|
{
|
||||||
@ -928,8 +928,8 @@ struct KfwumManualRollbackReq{
|
|||||||
|
|
||||||
|
|
||||||
/* KfwumManualRollback - Ask IPMC to rollback to previous version
|
/* KfwumManualRollback - Ask IPMC to rollback to previous version
|
||||||
*
|
*
|
||||||
* * intf : IPMI interface
|
* * intf : IPMI interface
|
||||||
*/
|
*/
|
||||||
static tKFWUM_Status KfwumManualRollback(struct ipmi_intf * intf)
|
static tKFWUM_Status KfwumManualRollback(struct ipmi_intf * intf)
|
||||||
{
|
{
|
||||||
@ -1014,7 +1014,7 @@ static tKFWUM_Status KfwumStartFirmwareImage(struct ipmi_intf * intf,
|
|||||||
req.msg.netfn = IPMI_NETFN_FIRMWARE;
|
req.msg.netfn = IPMI_NETFN_FIRMWARE;
|
||||||
req.msg.cmd = KFWUM_CMD_ID_START_FIRMWARE_IMAGE;
|
req.msg.cmd = KFWUM_CMD_ID_START_FIRMWARE_IMAGE;
|
||||||
req.msg.data = (unsigned char *) &thisReq;
|
req.msg.data = (unsigned char *) &thisReq;
|
||||||
|
|
||||||
/* Look for download type */
|
/* Look for download type */
|
||||||
if ( saveFirmwareInfo.downloadType == KFWUM_DOWNLOAD_TYPE_ADDRESS )
|
if ( saveFirmwareInfo.downloadType == KFWUM_DOWNLOAD_TYPE_ADDRESS )
|
||||||
{
|
{
|
||||||
@ -1024,7 +1024,7 @@ static tKFWUM_Status KfwumStartFirmwareImage(struct ipmi_intf * intf,
|
|||||||
{
|
{
|
||||||
req.msg.data_len = 6;
|
req.msg.data_len = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
rsp = intf->sendrecv(intf, &req);
|
rsp = intf->sendrecv(intf, &req);
|
||||||
|
|
||||||
if (!rsp)
|
if (!rsp)
|
||||||
@ -1079,7 +1079,7 @@ struct KfwumSaveFirmwareSequenceReq
|
|||||||
#define FWUM_SAVE_FIRMWARE_NO_RESPONSE_LIMIT ((unsigned char)6)
|
#define FWUM_SAVE_FIRMWARE_NO_RESPONSE_LIMIT ((unsigned char)6)
|
||||||
|
|
||||||
static tKFWUM_Status KfwumSaveFirmwareImage(struct ipmi_intf * intf,
|
static tKFWUM_Status KfwumSaveFirmwareImage(struct ipmi_intf * intf,
|
||||||
unsigned char sequenceNumber, unsigned long address, unsigned char *pFirmBuf,
|
unsigned char sequenceNumber, unsigned long address, unsigned char *pFirmBuf,
|
||||||
unsigned char * pInBufLength)
|
unsigned char * pInBufLength)
|
||||||
{
|
{
|
||||||
tKFWUM_Status status = KFWUM_STATUS_OK;
|
tKFWUM_Status status = KFWUM_STATUS_OK;
|
||||||
@ -1088,7 +1088,7 @@ static tKFWUM_Status KfwumSaveFirmwareImage(struct ipmi_intf * intf,
|
|||||||
unsigned char out = 0;
|
unsigned char out = 0;
|
||||||
unsigned char retry = 0;
|
unsigned char retry = 0;
|
||||||
unsigned char noResponse = 0 ;
|
unsigned char noResponse = 0 ;
|
||||||
|
|
||||||
struct KfwumSaveFirmwareAddressReq addressReq;
|
struct KfwumSaveFirmwareAddressReq addressReq;
|
||||||
struct KfwumSaveFirmwareSequenceReq sequenceReq;
|
struct KfwumSaveFirmwareSequenceReq sequenceReq;
|
||||||
|
|
||||||
@ -1097,7 +1097,7 @@ static tKFWUM_Status KfwumSaveFirmwareImage(struct ipmi_intf * intf,
|
|||||||
memset(&req, 0, sizeof(req));
|
memset(&req, 0, sizeof(req));
|
||||||
req.msg.netfn = IPMI_NETFN_FIRMWARE;
|
req.msg.netfn = IPMI_NETFN_FIRMWARE;
|
||||||
req.msg.cmd = KFWUM_CMD_ID_SAVE_FIRMWARE_IMAGE;
|
req.msg.cmd = KFWUM_CMD_ID_SAVE_FIRMWARE_IMAGE;
|
||||||
|
|
||||||
if (saveFirmwareInfo.downloadType == KFWUM_DOWNLOAD_TYPE_ADDRESS )
|
if (saveFirmwareInfo.downloadType == KFWUM_DOWNLOAD_TYPE_ADDRESS )
|
||||||
{
|
{
|
||||||
addressReq.addressLSB = address & 0x000000ff;
|
addressReq.addressLSB = address & 0x000000ff;
|
||||||
@ -1115,7 +1115,7 @@ static tKFWUM_Status KfwumSaveFirmwareImage(struct ipmi_intf * intf,
|
|||||||
req.msg.data = (unsigned char *) &sequenceReq;
|
req.msg.data = (unsigned char *) &sequenceReq;
|
||||||
req.msg.data_len = (* pInBufLength)+sizeof(unsigned char); /* + 1 => sequenceNumber*/
|
req.msg.data_len = (* pInBufLength)+sizeof(unsigned char); /* + 1 => sequenceNumber*/
|
||||||
}
|
}
|
||||||
|
|
||||||
rsp = intf->sendrecv(intf, &req);
|
rsp = intf->sendrecv(intf, &req);
|
||||||
|
|
||||||
if (!rsp)
|
if (!rsp)
|
||||||
@ -1124,7 +1124,7 @@ static tKFWUM_Status KfwumSaveFirmwareImage(struct ipmi_intf * intf,
|
|||||||
|
|
||||||
out = 0;
|
out = 0;
|
||||||
status = KFWUM_STATUS_OK;
|
status = KFWUM_STATUS_OK;
|
||||||
|
|
||||||
/* With IOL, we don't receive "C7" on errors, instead we receive
|
/* With IOL, we don't receive "C7" on errors, instead we receive
|
||||||
nothing */
|
nothing */
|
||||||
if(strstr(intf->name,"lan")!= NULL)
|
if(strstr(intf->name,"lan")!= NULL)
|
||||||
@ -1139,7 +1139,7 @@ static tKFWUM_Status KfwumSaveFirmwareImage(struct ipmi_intf * intf,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
printf("Error, too many commands without response\n");
|
printf("Error, too many commands without response\n");
|
||||||
(* pInBufLength) = 0 ;
|
(* pInBufLength) = 0 ;
|
||||||
out = 1;
|
out = 1;
|
||||||
}
|
}
|
||||||
} /* For other interface keep trying */
|
} /* For other interface keep trying */
|
||||||
@ -1249,11 +1249,11 @@ static tKFWUM_Status KfwumFinishFirmwareImage(struct ipmi_intf * intf,
|
|||||||
req.msg.cmd = KFWUM_CMD_ID_FINISH_FIRMWARE_IMAGE;
|
req.msg.cmd = KFWUM_CMD_ID_FINISH_FIRMWARE_IMAGE;
|
||||||
req.msg.data = (unsigned char *) &thisReq;
|
req.msg.data = (unsigned char *) &thisReq;
|
||||||
req.msg.data_len = 4;
|
req.msg.data_len = 4;
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
rsp = intf->sendrecv(intf, &req);
|
rsp = intf->sendrecv(intf, &req);
|
||||||
}while (rsp == NULL || rsp->ccode == 0xc0);
|
}while (rsp == NULL || rsp->ccode == 0xc0);
|
||||||
|
|
||||||
if (!rsp)
|
if (!rsp)
|
||||||
{
|
{
|
||||||
@ -1287,7 +1287,7 @@ static tKFWUM_Status KfwumUploadFirmware(struct ipmi_intf * intf,
|
|||||||
do
|
do
|
||||||
{
|
{
|
||||||
writeSize = saveFirmwareInfo.bufferSize - saveFirmwareInfo.overheadSize;
|
writeSize = saveFirmwareInfo.bufferSize - saveFirmwareInfo.overheadSize;
|
||||||
|
|
||||||
/* Reach the end */
|
/* Reach the end */
|
||||||
if( address + writeSize > totalSize )
|
if( address + writeSize > totalSize )
|
||||||
{
|
{
|
||||||
@ -1300,9 +1300,9 @@ static tKFWUM_Status KfwumUploadFirmware(struct ipmi_intf * intf,
|
|||||||
}
|
}
|
||||||
|
|
||||||
oldWriteSize = writeSize;
|
oldWriteSize = writeSize;
|
||||||
status = KfwumSaveFirmwareImage(intf, sequenceNumber, address,
|
status = KfwumSaveFirmwareImage(intf, sequenceNumber, address,
|
||||||
&pBuffer[address], &writeSize);
|
&pBuffer[address], &writeSize);
|
||||||
|
|
||||||
if((status != KFWUM_STATUS_OK) && (retry-- != 0))
|
if((status != KFWUM_STATUS_OK) && (retry-- != 0))
|
||||||
{
|
{
|
||||||
address = lastAddress;
|
address = lastAddress;
|
||||||
@ -1310,7 +1310,7 @@ static tKFWUM_Status KfwumUploadFirmware(struct ipmi_intf * intf,
|
|||||||
}
|
}
|
||||||
else if( writeSize == 0 )
|
else if( writeSize == 0 )
|
||||||
{
|
{
|
||||||
status = KFWUM_STATUS_ERROR;
|
status = KFWUM_STATUS_ERROR;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1319,7 +1319,7 @@ static tKFWUM_Status KfwumUploadFirmware(struct ipmi_intf * intf,
|
|||||||
printf("Adjusting length to %d bytes \n", writeSize);
|
printf("Adjusting length to %d bytes \n", writeSize);
|
||||||
saveFirmwareInfo.bufferSize -= (oldWriteSize - writeSize);
|
saveFirmwareInfo.bufferSize -= (oldWriteSize - writeSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
retry = FWUM_MAX_UPLOAD_RETRY;
|
retry = FWUM_MAX_UPLOAD_RETRY;
|
||||||
lastAddress = address;
|
lastAddress = address;
|
||||||
address+= writeSize;
|
address+= writeSize;
|
||||||
@ -1380,7 +1380,7 @@ static tKFWUM_Status KfwumStartFirmwareUpgrade(struct ipmi_intf * intf)
|
|||||||
status = KFWUM_STATUS_ERROR;
|
status = KFWUM_STATUS_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define TRACE_LOG_CHUNK_COUNT 7
|
#define TRACE_LOG_CHUNK_COUNT 7
|
||||||
@ -1395,7 +1395,7 @@ static const char* CMD_ID_STRING[] = {
|
|||||||
"BootHandshake",
|
"BootHandshake",
|
||||||
"ReportStatus",
|
"ReportStatus",
|
||||||
"CtrlIPMBLine",
|
"CtrlIPMBLine",
|
||||||
"SetFwState",
|
"SetFwState",
|
||||||
"GetFwStatus",
|
"GetFwStatus",
|
||||||
"GetSpiMemStatus",
|
"GetSpiMemStatus",
|
||||||
"StartFwUpdate",
|
"StartFwUpdate",
|
||||||
@ -1405,7 +1405,7 @@ static const char* CMD_ID_STRING[] = {
|
|||||||
"ReadFwImage",
|
"ReadFwImage",
|
||||||
"ManualRollback",
|
"ManualRollback",
|
||||||
"GetTraceLog" };
|
"GetTraceLog" };
|
||||||
|
|
||||||
static const char* EXT_CMD_ID_STRING[] = {
|
static const char* EXT_CMD_ID_STRING[] = {
|
||||||
"FwUpgradeLock",
|
"FwUpgradeLock",
|
||||||
"ProcessFwUpg",
|
"ProcessFwUpg",
|
||||||
@ -1413,8 +1413,8 @@ static const char* EXT_CMD_ID_STRING[] = {
|
|||||||
"WaitHSAfterUpg",
|
"WaitHSAfterUpg",
|
||||||
"WaitFirstHSUpg",
|
"WaitFirstHSUpg",
|
||||||
"FwInfoStateChange" };
|
"FwInfoStateChange" };
|
||||||
|
|
||||||
|
|
||||||
static const char* CMD_STATE_STRING[] = {
|
static const char* CMD_STATE_STRING[] = {
|
||||||
"Invalid",
|
"Invalid",
|
||||||
"Begin",
|
"Begin",
|
||||||
@ -1434,7 +1434,7 @@ static tKFWUM_Status KfwumGetTraceLog(struct ipmi_intf * intf)
|
|||||||
{
|
{
|
||||||
printf(" Getting Trace Log!\n");
|
printf(" Getting Trace Log!\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
for( chunkIdx = 0; (chunkIdx < TRACE_LOG_CHUNK_COUNT) && (status == KFWUM_STATUS_OK); chunkIdx++ )
|
for( chunkIdx = 0; (chunkIdx < TRACE_LOG_CHUNK_COUNT) && (status == KFWUM_STATUS_OK); chunkIdx++ )
|
||||||
{
|
{
|
||||||
/* Retreive each log chunk and print it */
|
/* Retreive each log chunk and print it */
|
||||||
@ -1445,7 +1445,7 @@ static tKFWUM_Status KfwumGetTraceLog(struct ipmi_intf * intf)
|
|||||||
req.msg.data_len = 1;
|
req.msg.data_len = 1;
|
||||||
|
|
||||||
rsp = intf->sendrecv(intf, &req);
|
rsp = intf->sendrecv(intf, &req);
|
||||||
|
|
||||||
if (!rsp)
|
if (!rsp)
|
||||||
{
|
{
|
||||||
printf("Error in FWUM Firmware Get Trace Log Command\n");
|
printf("Error in FWUM Firmware Get Trace Log Command\n");
|
||||||
@ -1455,32 +1455,32 @@ static tKFWUM_Status KfwumGetTraceLog(struct ipmi_intf * intf)
|
|||||||
{
|
{
|
||||||
printf("FWUM Firmware Get Trace Log returned %x\n", rsp->ccode);
|
printf("FWUM Firmware Get Trace Log returned %x\n", rsp->ccode);
|
||||||
status = KFWUM_STATUS_ERROR;
|
status = KFWUM_STATUS_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(status == KFWUM_STATUS_OK)
|
if(status == KFWUM_STATUS_OK)
|
||||||
{
|
{
|
||||||
for (cmdIdx=0; cmdIdx < TRACE_LOG_CHUNK_SIZE; cmdIdx++)
|
for (cmdIdx=0; cmdIdx < TRACE_LOG_CHUNK_SIZE; cmdIdx++)
|
||||||
{
|
{
|
||||||
/* Don't diplay commands with an invalid state */
|
/* Don't diplay commands with an invalid state */
|
||||||
if ( (rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx+1] != 0) &&
|
if ( (rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx+1] != 0) &&
|
||||||
(rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx] < KFWUM_CMD_ID_STD_MAX_CMD))
|
(rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx] < KFWUM_CMD_ID_STD_MAX_CMD))
|
||||||
{
|
{
|
||||||
printf(" Cmd ID: %17s -- CmdState: %10s -- CompCode: %2x\n",
|
printf(" Cmd ID: %17s -- CmdState: %10s -- CompCode: %2x\n",
|
||||||
CMD_ID_STRING[rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx]],
|
CMD_ID_STRING[rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx]],
|
||||||
CMD_STATE_STRING[rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx+1]],
|
CMD_STATE_STRING[rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx+1]],
|
||||||
rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx+2]);
|
rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx+2]);
|
||||||
}
|
}
|
||||||
else if ( (rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx+1] != 0) &&
|
else if ( (rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx+1] != 0) &&
|
||||||
(rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx] >= KFWUM_CMD_ID_EXTENDED_CMD))
|
(rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx] >= KFWUM_CMD_ID_EXTENDED_CMD))
|
||||||
{
|
{
|
||||||
printf(" Cmd ID: %17s -- CmdState: %10s -- CompCode: %2x\n",
|
printf(" Cmd ID: %17s -- CmdState: %10s -- CompCode: %2x\n",
|
||||||
EXT_CMD_ID_STRING[rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx] - KFWUM_CMD_ID_EXTENDED_CMD],
|
EXT_CMD_ID_STRING[rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx] - KFWUM_CMD_ID_EXTENDED_CMD],
|
||||||
CMD_STATE_STRING[rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx+1]],
|
CMD_STATE_STRING[rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx+1]],
|
||||||
rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx+2]);
|
rsp->data[TRACE_LOG_ATT_COUNT*cmdIdx+2]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
printf("\n");
|
printf("\n");
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user