diff options
-rw-r--r-- | src/sbefw/app/common/sbecmdgeneric.C | 22 | ||||
-rw-r--r-- | src/test/testcases/testPSUGetCapabilities.py | 4 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/sbefw/app/common/sbecmdgeneric.C b/src/sbefw/app/common/sbecmdgeneric.C index cdcd7575..cebd4015 100644 --- a/src/sbefw/app/common/sbecmdgeneric.C +++ b/src/sbefw/app/common/sbecmdgeneric.C @@ -107,6 +107,28 @@ uint32_t sbePsuGetCapabilities(uint8_t *i_pArg) SBE_SEC_INVALID_PARAMS); break; } + + // Set MBOX response words + uint64_t data = (uint64_t)SBE_CAPABILITES_LEN_PSU & 0x00000000FFFFFFFFull; + rc = sbeWriteSbe2PsuMbxReg(SBE_HOST_PSU_MBOX_REG5, + &data, + sizeof(data)/sizeof(uint64_t)); + if(SBE_SEC_OPERATION_SUCCESSFUL != rc) + { + SBE_ERROR(SBE_FUNC" Failed to write to " + "SBE_HOST_PSU_MBOX_REG5"); + break; + } + rc = sbeWriteSbe2PsuMbxReg(SBE_HOST_PSU_MBOX_REG6, + (uint64_t*)&capMsg, + 1); + if(SBE_SEC_OPERATION_SUCCESSFUL != rc) + { + SBE_ERROR(SBE_FUNC" Failed to write to " + "SBE_HOST_PSU_MBOX_REG6"); + break; + } + p9_PBA_oper_flag l_myPbaFlag; l_myPbaFlag.setOperationType(p9_PBA_oper_flag::INJ); diff --git a/src/test/testcases/testPSUGetCapabilities.py b/src/test/testcases/testPSUGetCapabilities.py index d112259d..78231980 100644 --- a/src/test/testcases/testPSUGetCapabilities.py +++ b/src/test/testcases/testPSUGetCapabilities.py @@ -96,6 +96,9 @@ def getCapabilities(addr, size, exp_status): #---------------------------------------------------------------------------------------------------------------- ["read", reg.PSU_HOST_DOORBELL_REG_WO_OR, "0", 8, "8000000000000000", "Reading Host Doorbell for Interrupt"], ) + length = 0 + if exp_status == 0: + length = 92 ''' #--------------------- # Host side test data @@ -106,6 +109,7 @@ def getCapabilities(addr, size, exp_status): # OP Reg ValueToWrite size Test Expected Data Description #---------------------------------------------------------------------------------------------------------------- ["read", reg.REG_MBOX4, "0", 8, getdoubleword((exp_status << 32)+0x00F0D702), "Reading Host MBOX4 data to Validate"], + ["read", reg.REG_MBOX5, "0", 8, getdoubleword(length), "Reading Host MBOX4 data to Validate"], ) # HOST->SBE data set execution - Less length setup regObj.ExecuteTestOp( testPSUUtil.simSbeObj, sbe_test_data ) |