arm/arm64: Provide a wrapper for SMCCC 1.1 calls
authorSteven Price <steven.price@arm.com>
Mon, 21 Oct 2019 15:28:21 +0000 (16:28 +0100)
committerMarc Zyngier <maz@kernel.org>
Mon, 21 Oct 2019 18:20:30 +0000 (19:20 +0100)
commit541625ac47ce9d0835efaee0fcbaa251b0000a37
treeb8ca85ac37c9b620247bd9c56fc199bc8b0cb1ba
parent58772e9a3db72d032eeb12bc011bc5184a3925f4
arm/arm64: Provide a wrapper for SMCCC 1.1 calls

SMCCC 1.1 calls may use either HVC or SMC depending on the PSCI
conduit. Rather than coding this in every call site, provide a macro
which uses the correct instruction. The macro also handles the case
where no conduit is configured/available returning a not supported error
in res, along with returning the conduit used for the call.

This allow us to remove some duplicated code and will be useful later
when adding paravirtualized time hypervisor calls.

Signed-off-by: Steven Price <steven.price@arm.com>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
include/linux/arm-smccc.h