]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit - include/linux/arm-smccc.h
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)
committerSeth Forshee <seth.forshee@canonical.com>
Thu, 22 Feb 2018 14:15:50 +0000 (08:15 -0600)
commit79cead801708ca841f1dddf1bbe1dba89933f30a
treeb3b1554e4a8d4f2bcf47f437c296f9ea9a5c6f21
parente391aa59ceb8f3833f0b2eca37bc5b8d4d5a6fc4
arm/arm64: smccc: Implement SMCCC v1.1 inline primitive

BugLink: http://bugs.launchpad.net/bugs/1751064
Commit f2d3b2e8759a upstream.

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>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
include/linux/arm-smccc.h