summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorAntonio Nino Diaz <antonio.ninodiaz@arm.com>2019-01-30 16:01:49 +0000
committerAntonio Nino Diaz <antonio.ninodiaz@arm.com>2019-01-30 16:01:49 +0000
commit0709055ed66330fe7709c77d2dfbcb87f0c94272 (patch)
tree31b5d3b7354ad9a8b1bb3e423762e5ea1235d05b /common
parent7e9b0c8eef2b90f51ed41bb8ddf15d7c47672ca9 (diff)
Remove support for the SMC Calling Convention 2.0
This reverts commit 2f370465241c ("Add support for the SMC Calling Convention 2.0"). SMCCC v2.0 is no longer required for SPM, and won't be needed in the future. Removing it makes the SMC handling code less complicated. The SPM implementation based on SPCI and SPRT was using it, but it has been adapted to SMCCC v1.0. Change-Id: I36795b91857b2b9c00437cfbfed04b3c1627f578 Signed-off-by: Antonio Nino Diaz <antonio.ninodiaz@arm.com>
Diffstat (limited to 'common')
-rw-r--r--common/runtime_svc.c16
1 files changed, 1 insertions, 15 deletions
diff --git a/common/runtime_svc.c b/common/runtime_svc.c
index 09ce787d..a2c0c09e 100644
--- a/common/runtime_svc.c
+++ b/common/runtime_svc.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
@@ -29,7 +29,6 @@ uint8_t rt_svc_descs_indices[MAX_RT_SVCS];
* Function to invoke the registered `handle` corresponding to the smc_fid in
* AArch32 mode.
******************************************************************************/
-#if SMCCC_MAJOR_VERSION == 1
uintptr_t handle_runtime_svc(uint32_t smc_fid,
void *cookie,
void *handle,
@@ -55,7 +54,6 @@ uintptr_t handle_runtime_svc(uint32_t smc_fid,
return rt_svc_descs[index].handle(smc_fid, x1, x2, x3, x4, cookie,
handle, flags);
}
-#endif /* SMCCC_MAJOR_VERSION */
/*******************************************************************************
* Simple routine to sanity check a runtime service descriptor before using it
@@ -71,14 +69,9 @@ static int32_t validate_rt_svc_desc(const rt_svc_desc_t *desc)
if (desc->end_oen >= OEN_LIMIT)
return -EINVAL;
-#if SMCCC_MAJOR_VERSION == 1
if ((desc->call_type != SMC_TYPE_FAST) &&
(desc->call_type != SMC_TYPE_YIELD))
return -EINVAL;
-#elif SMCCC_MAJOR_VERSION == 2
- if (desc->is_vendor > 1U)
- return -EINVAL;
-#endif /* SMCCC_MAJOR_VERSION */
/* A runtime service having no init or handle function doesn't make sense */
if ((desc->init == NULL) && (desc->handle == NULL))
@@ -149,17 +142,10 @@ void __init runtime_svc_init(void)
* descriptor which will handle the SMCs for this owning
* entity range.
*/
-#if SMCCC_MAJOR_VERSION == 1
start_idx = (uint8_t)get_unique_oen(service->start_oen,
service->call_type);
end_idx = (uint8_t)get_unique_oen(service->end_oen,
service->call_type);
-#elif SMCCC_MAJOR_VERSION == 2
- start_idx = (uint8_t)get_rt_desc_idx(service->start_oen,
- service->is_vendor);
- end_idx = (uint8_t)get_rt_desc_idx(service->end_oen,
- service->is_vendor);
-#endif
assert(start_idx <= end_idx);
assert(end_idx < MAX_RT_SVCS);
for (; start_idx <= end_idx; start_idx++)