]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
kvm: arm64: handle single-step of hyp emulated mmio instructions
authorAlex Bennée <alex.bennee@linaro.org>
Thu, 23 Nov 2017 12:11:34 +0000 (12:11 +0000)
committerChristoffer Dall <christoffer.dall@linaro.org>
Wed, 29 Nov 2017 17:17:47 +0000 (18:17 +0100)
commite3feebf81744acd8b581e5eb58a93e8fdcf042a5
tree2abf6456d4edf1bf02b8cf1b60ea3095ec87aa1d
parente70dce73befcf96607bc6e24c2c8f84229d6721e
kvm: arm64: handle single-step of hyp emulated mmio instructions

There is a fast-path of MMIO emulation inside hyp mode. The handling
of single-step is broadly the same as kvm_arm_handle_step_debug()
except we just setup ESR/HSR so handle_exit() does the correct thing
as we exit.

For the case of an emulated illegal access causing an SError we will
exit via the ARM_EXCEPTION_EL1_SERROR path in handle_exit(). We behave
as we would during a real SError and clear the DBG_SPSR_SS bit for the
emulated instruction.

Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
arch/arm64/kvm/hyp/switch.c