xen/arm: add SMC wrapper that is compatible with SMCCC v1.0
authorVolodymyr Babchuk <volodymyr_babchuk@epam.com>
Mon, 1 Oct 2018 12:46:36 +0000 (13:46 +0100)
committerStefano Stabellini <sstabellini@kernel.org>
Mon, 1 Oct 2018 20:45:13 +0000 (13:45 -0700)
commit0daec62e9df569bd9e90499e41c1a9c3c348aa96
tree66e21c3da45e329d9b6b9640d98b9e529d083fa9
parent3722e563432bdbf0cbd16ace3075cf643186b01e
xen/arm: add SMC wrapper that is compatible with SMCCC v1.0

Existing SMC wrapper call_smc() allows only 4 parameters and
returns only one value. This is enough for existing
use in PSCI code, but TEE mediator will need a call that is
fully compatible with ARM SMCCC v1.0.

This patch adds a wrapper for both arm32 and arm64. In the case of
arm32, the wrapper is just an alias to the ARM SMCCC v1.1 as the
convention is the same.

CC: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com>
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
[julien: Rework the wrapper to make it closer to SMCC 1.1 wrapper]
Signed-off-by: Julien Grall <julien.grall@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
xen/arch/arm/arm64/Makefile
xen/arch/arm/arm64/asm-offsets.c
xen/arch/arm/arm64/smc.S [new file with mode: 0644]
xen/include/asm-arm/smccc.h