summaryrefslogtreecommitdiffstats
path: root/include/linux/arm-smccc.h
diff options
context:
space:
mode:
authorMarc Zyngier2018-02-06 18:56:12 +0100
committerCatalin Marinas2018-02-06 23:54:01 +0100
commit09e6be12effdb33bf7210c8867bbd213b66a499e (patch)
treeb0557bf7a9651f9207e7e278e3ee6d9917fc17d3 /include/linux/arm-smccc.h
parentarm/arm64: KVM: Implement PSCI 1.0 support (diff)
downloadkernel-qcow2-linux-09e6be12effdb33bf7210c8867bbd213b66a499e.tar.gz
kernel-qcow2-linux-09e6be12effdb33bf7210c8867bbd213b66a499e.tar.xz
kernel-qcow2-linux-09e6be12effdb33bf7210c8867bbd213b66a499e.zip
arm/arm64: KVM: Advertise SMCCC v1.1
The new SMC Calling Convention (v1.1) allows for a reduced overhead when calling into the firmware, and provides a new feature discovery mechanism. Make it visible to KVM guests. Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'include/linux/arm-smccc.h')
-rw-r--r--include/linux/arm-smccc.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/arm-smccc.h b/include/linux/arm-smccc.h
index 4c5bca38c653..dc68aa5a7261 100644
--- a/include/linux/arm-smccc.h
+++ b/include/linux/arm-smccc.h
@@ -60,6 +60,19 @@
#define ARM_SMCCC_QUIRK_NONE 0
#define ARM_SMCCC_QUIRK_QCOM_A6 1 /* Save/restore register a6 */
+#define ARM_SMCCC_VERSION_1_0 0x10000
+#define ARM_SMCCC_VERSION_1_1 0x10001
+
+#define ARM_SMCCC_VERSION_FUNC_ID \
+ ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \
+ ARM_SMCCC_SMC_32, \
+ 0, 0)
+
+#define ARM_SMCCC_ARCH_FEATURES_FUNC_ID \
+ ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \
+ ARM_SMCCC_SMC_32, \
+ 0, 1)
+
#ifndef __ASSEMBLY__
#include <linux/linkage.h>