arm64: KVM: Implement HVC_GET_VECTORS in the init code
authorMarc Zyngier <marc.zyngier@arm.com>
Mon, 3 Apr 2017 18:37:41 +0000 (19:37 +0100)
committerChristoffer Dall <cdall@linaro.org>
Sun, 9 Apr 2017 14:49:21 +0000 (07:49 -0700)
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>
arch/arm64/kvm/hyp-init.S

index 5e39ad53bcae2207d07e1ea7344a71fbb6c87abf..fded932ede1b2f2be24dd7542b568eecdcdeadcf 100644 (file)
@@ -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.