arm/arm64: smccc: Implement SMCCC v1.1 inline primitive
authorMarc Zyngier <marc.zyngier@arm.com>
Tue, 6 Feb 2018 17:56:19 +0000 (17:56 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 6 Feb 2018 22:54:15 +0000 (22:54 +0000)
commitf2d3b2e8759a5833df6f022e42df2d581e6d843c
treeae031f410abe28a3949b75fc18198c4b18077dd1
parentded4c39e93f3b72968fdb79baba27f3b83dad34c
arm/arm64: smccc: Implement SMCCC v1.1 inline primitive

One of the major improvement of SMCCC v1.1 is that it only clobbers
the first 4 registers, both on 32 and 64bit. This means that it
becomes very easy to provide an inline version of the SMC call
primitive, and avoid performing a function call to stash the
registers that would otherwise be clobbered by SMCCC v1.0.

Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
include/linux/arm-smccc.h