refactor(logging): modify RMI/RSI commands logging
Number of input arguments and output values is
now encoded in 'rmi_type' of the handler.
Logging of RMI & RSI commands is modified to only
print supported input arguments.
For RMI commands output values are logged only
in case of RMI_SUCCESS return status.
Added logging of output values for RSI and PSCI
commands.
Minor changes to comply with MISRA-C and coding
style.
Logging examples from FVP model running TFTF tests:
SMC_RMM_VERSION > 380000
SMC_RMM_FEATURES 0 > RMI_SUCCESS 3fc00030
SMC_RMM_REALM_CREATE 88c00000 88c02000 > RMI_SUCCESS
SMC_RMM_REC_AUX_COUNT 88c00000 > RMI_SUCCESS 10
SMC_RMM_RTT_INIT_RIPAS 88c00000 88b00000 3 > RMI_ERROR_RTT 0
SMC_RMM_REC_CREATE 88c07000 88c00000 88c08000 > RMI_SUCCESS
SMC_RMM_REALM_ACTIVATE 88c00000 > RMI_SUCCESS
SMC_RSI_HOST_CALL 88b07000
SMC_RMM_REC_DESTROY 88c07000 > RMI_SUCCESS
SMC_RMM_REALM_DESTROY 88c00000 > RMI_SUCCESS
SMC_RMM_VERSION > 380000
SMC_RMM_GRANULE_DELEGATE 8801a000 > RMI_ERROR_INPUT
SMC_RMM_GRANULE_UNDELEGATE 8801a001 > RMI_ERROR_INPUT
SMC_RMM_FEATURES 0 > RMI_SUCCESS 3fc00030
SMC_RMM_REALM_CREATE 88c00000 88c02000 > RMI_SUCCESS
SMC_RMM_REC_AUX_COUNT 88c00000 > RMI_SUCCESS 10
SMC_RMM_RTT_INIT_RIPAS 88c00000 88b00000 3 > RMI_ERROR_RTT 0
SMC_RMM_REC_CREATE 88c07000 88c00000 88c08000 > RMI_SUCCESS
SMC_RSI_ABI_VERSION > c0000
Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
Change-Id: Ie53c6450495e49136f0a39752182363e7c93f09f
diff --git a/runtime/core/exit.c b/runtime/core/exit.c
index abcde63..1f9bab0 100644
--- a/runtime/core/exit.c
+++ b/runtime/core/exit.c
@@ -388,8 +388,7 @@
bool ret_to_rec = true; /* Return to Realm */
unsigned int function_id = (unsigned int)rec->regs[0];
- RSI_LOG_SET(rec->regs[1], rec->regs[2],
- rec->regs[3], rec->regs[4], rec->regs[5]);
+ RSI_LOG_SET(rec->regs);
/* Ignore SVE hint bit, until RMM supports SVE hint bit */
function_id &= ~MASK(SMC_SVE_HINT);
@@ -584,7 +583,7 @@
}
/* Log RSI call */
- RSI_LOG_EXIT(function_id, rec->regs[0], ret_to_rec);
+ RSI_LOG_EXIT(function_id, rec->regs, ret_to_rec);
return ret_to_rec;
}