summaryrefslogtreecommitdiffstats
path: root/arch/arm64/Kconfig
diff options
context:
space:
mode:
authorMarc Zyngier2014-02-19 10:33:14 +0100
committerMarc Zyngier2016-02-29 19:34:18 +0100
commit1f364c8c48a0767885a18451ee074c64b454157a (patch)
tree3fa0d98862ed916c5b2767c6015fa563d89c2857 /arch/arm64/Kconfig
parentarm64: hw_breakpoint: Allow EL2 breakpoints if running in HYP (diff)
downloadkernel-qcow2-linux-1f364c8c48a0767885a18451ee074c64b454157a.tar.gz
kernel-qcow2-linux-1f364c8c48a0767885a18451ee074c64b454157a.tar.xz
kernel-qcow2-linux-1f364c8c48a0767885a18451ee074c64b454157a.zip
arm64: VHE: Add support for running Linux in EL2 mode
With ARMv8.1 VHE, the architecture is able to (almost) transparently run the kernel at EL2, despite being written for EL1. This patch takes care of the "almost" part, mostly preventing the kernel from dropping from EL2 to EL1, and setting up the HYP configuration. Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'arch/arm64/Kconfig')
-rw-r--r--arch/arm64/Kconfig13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 8cc62289a63e..cf118d93290d 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -750,6 +750,19 @@ config ARM64_LSE_ATOMICS
not support these instructions and requires the kernel to be
built with binutils >= 2.25.
+config ARM64_VHE
+ bool "Enable support for Virtualization Host Extensions (VHE)"
+ default y
+ help
+ Virtualization Host Extensions (VHE) allow the kernel to run
+ directly at EL2 (instead of EL1) on processors that support
+ it. This leads to better performance for KVM, as they reduce
+ the cost of the world switch.
+
+ Selecting this option allows the VHE feature to be detected
+ at runtime, and does not affect processors that do not
+ implement this feature.
+
endmenu
endmenu