summaryrefslogtreecommitdiffstats
path: root/arch/arm64/include/asm
diff options
context:
space:
mode:
authorChristoffer Dall2017-10-09 21:43:50 +0200
committerMarc Zyngier2018-03-19 11:53:10 +0100
commit8f17f5e4698ee5e42c827e8905cf39cf61c482c2 (patch)
treed151eaca18df587f527086602797eb2d9820f42e /arch/arm64/include/asm
parentKVM: arm64: Avoid storing the vcpu pointer on the stack (diff)
downloadkernel-qcow2-linux-8f17f5e4698ee5e42c827e8905cf39cf61c482c2.tar.gz
kernel-qcow2-linux-8f17f5e4698ee5e42c827e8905cf39cf61c482c2.tar.xz
kernel-qcow2-linux-8f17f5e4698ee5e42c827e8905cf39cf61c482c2.zip
KVM: arm64: Rework hyp_panic for VHE and non-VHE
VHE actually doesn't rely on clearing the VTTBR when returning to the host kernel, and that is the current key mechanism of hyp_panic to figure out how to attempt to return to a state good enough to print a panic statement. Therefore, we split the hyp_panic function into two functions, a VHE and a non-VHE, keeping the non-VHE version intact, but changing the VHE behavior. The vttbr_el2 check on VHE doesn't really make that much sense, because the only situation where we can get here on VHE is when the hypervisor assembly code actually called into hyp_panic, which only happens when VBAR_EL2 has been set to the KVM exception vectors. On VHE, we can always safely disable the traps and restore the host registers at this point, so we simply do that unconditionally and call into the panic function directly. Acked-by: Marc Zyngier <marc.zyngier@arm.com> Reviewed-by: Andrew Jones <drjones@redhat.com> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'arch/arm64/include/asm')
0 files changed, 0 insertions, 0 deletions