feat(rmm-eac4): update RSI_VERSION, add RSI_FEATURES
This patch updates API of RSI_VERSION and adds new
RSI_FEATURES command handler as per RMM Specification
1.0-eac4.
RSI_ABI_VERSION_MAJOR is updated from 13 to 14.
Signed-off-by: AlexeiFedorov <Alexei.Fedorov@arm.com>
Change-Id: I7d445d18ee7fddf9f20c51f2a45fd334cb17b454
diff --git a/runtime/rsi/logger.c b/runtime/rsi/logger.c
index 0f61aec..5db269d 100644
--- a/runtime/rsi/logger.c
+++ b/runtime/rsi/logger.c
@@ -37,7 +37,8 @@
}
static const struct rsi_handler rsi_logger[] = {
- RSI_FUNCTION(ABI_VERSION, 0U, 1U), /* 0xC4000190 */
+ RSI_FUNCTION(ABI_VERSION, 1U, 1U), /* 0xC4000190 */
+ RSI_FUNCTION(FEATURES, 1U, 1U), /* 0xC4000191 */
RSI_FUNCTION(MEASUREMENT_READ, 1U, 8U), /* 0xC4000192 */
RSI_FUNCTION(MEASUREMENT_EXTEND, 10U, 0U), /* 0xC4000193 */
RSI_FUNCTION(ATTEST_TOKEN_INIT, 9U, 0U), /* 0xC4000194 */
@@ -75,14 +76,8 @@
const struct rsi_handler *logger = fid_to_rsi_logger(id);
num = logger->num_args;
- if (logger->fn_name != NULL) {
- cnt = snprintf(buf, MAX_NAME_LEN + 1UL,
+ cnt = snprintf(buf, MAX_NAME_LEN + 1UL,
"%s%s", "SMC_RSI_", logger->fn_name);
- } else {
- /* Handle gaps in RSI commands numbering */
- cnt = snprintf(buf, MAX_NAME_LEN + 1UL,
- "%s%08x", "SMC_RSI_", id);
- }
break;
}
/* SMC32 PSCI calls */
@@ -144,7 +139,7 @@
int cnt;
switch (function_id) {
- case SMC_RSI_MEASUREMENT_READ ... SMC_RSI_HOST_CALL: {
+ case SMC_RSI_ABI_VERSION ... SMC_RSI_HOST_CALL: {
const struct rsi_handler *logger =
fid_to_rsi_logger(function_id);
@@ -153,9 +148,6 @@
num = logger->num_vals;
break;
}
- case SMC_RSI_ABI_VERSION:
- num = 0U;
- FALLTHROUGH;
default:
/* Print result code */
cnt = print_code(buf, len, regs[0]);