summaryrefslogtreecommitdiff
path: root/arch/arm/kvm/init.S
diff options
context:
space:
mode:
authorMarc Zyngier <marc.zyngier@arm.com>2017-04-03 21:37:54 +0300
committerChristoffer Dall <cdall@linaro.org>2017-04-09 17:49:29 +0300
commit5d224aa7d40f6dd79037fd0647eb9eb5e7aaa915 (patch)
tree56d24b92355073f7aa8aad40bb4750668041a2dc /arch/arm/kvm/init.S
parentbc845e4fbbbbe97bab3f1bcf688be0b5da420717 (diff)
downloadlinux-5d224aa7d40f6dd79037fd0647eb9eb5e7aaa915.tar.xz
ARM: 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. Tested-by: Keerthy <j-keerthy@ti.com> Acked-by: Russell King <rmk+kernel@armlinux.org.uk> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Christoffer Dall <cdall@linaro.org>
Diffstat (limited to 'arch/arm/kvm/init.S')
-rw-r--r--arch/arm/kvm/init.S7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm/kvm/init.S b/arch/arm/kvm/init.S
index 86a7008e75a3..d6b2f496fa13 100644
--- a/arch/arm/kvm/init.S
+++ b/arch/arm/kvm/init.S
@@ -122,7 +122,12 @@ __do_hyp_init:
eret
ENTRY(__kvm_handle_stub_hvc)
- cmp r0, #HVC_RESET_VECTORS
+ cmp r0, #HVC_GET_VECTORS
+ bne 1f
+ mrc p15, 4, r0, c12, c0, 0 @ get HVBAR
+ b exit
+
+1: cmp r0, #HVC_RESET_VECTORS
bne 1f
ENTRY(__kvm_hyp_reset)
/* We're now in idmap, disable MMU */