aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/kvm/hyp-init.S
diff options
context:
space:
mode:
authorMarc Zyngier <marc.zyngier@arm.com>2017-04-03 19:37:41 +0100
committerChristoffer Dall <cdall@linaro.org>2017-04-09 07:49:21 -0700
commit82529d9bfd6b7b0e8177be94ff768161d5064264 (patch)
treebe7fd455c28a597d9ca98929a64dd216b5ac163a /arch/arm64/kvm/hyp-init.S
parentarm64: KVM: Implement HVC_RESET_VECTORS stub hypercall in the init code (diff)
downloadlinux-dev-82529d9bfd6b7b0e8177be94ff768161d5064264.tar.xz
linux-dev-82529d9bfd6b7b0e8177be94ff768161d5064264.zip
arm64: KVM: Implement HVC_GET_VECTORS in the init code
Now that we have an infrastructure to handle hypercalls in the KVM init code, let's implement HVC_GET_VECTORS there. Acked-by: Catalin Marinas <catalin.marinas@arm.com> Reviewed-by: James Morse <james.morse@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Christoffer Dall <cdall@linaro.org>
Diffstat (limited to 'arch/arm64/kvm/hyp-init.S')
-rw-r--r--arch/arm64/kvm/hyp-init.S7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm64/kvm/hyp-init.S b/arch/arm64/kvm/hyp-init.S
index 5e39ad53bcae..fded932ede1b 100644
--- a/arch/arm64/kvm/hyp-init.S
+++ b/arch/arm64/kvm/hyp-init.S
@@ -124,7 +124,12 @@ __do_hyp_init:
ENDPROC(__kvm_hyp_init)
ENTRY(__kvm_handle_stub_hvc)
- cmp x0, #HVC_RESET_VECTORS
+ cmp x0, #HVC_GET_VECTORS
+ b.ne 1f
+ mrs x0, vbar_el2
+ b exit
+
+1: cmp x0, #HVC_RESET_VECTORS
b.ne 1f
/*
* Reset kvm back to the hyp stub.