linux-uconsole/virt/kvm/arm
Mark Rutland c709eeb02c arm64: KVM: Skip MMIO insn after emulation
[ Upstream commit 0d640732db ]

When we emulate an MMIO instruction, we advance the CPU state within
decode_hsr(), before emulating the instruction effects.

Having this logic in decode_hsr() is opaque, and advancing the state
before emulation is problematic. It gets in the way of applying
consistent single-step logic, and it prevents us from being able to fail
an MMIO instruction with a synchronous exception.

Clean this up by only advancing the CPU state *after* the effects of the
instruction are emulated.

Cc: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Christoffer Dall <christoffer.dall@arm.com>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-02-12 19:47:12 +01:00
..
hyp kvm/arm fixes for 4.16, take 2 2018-03-19 17:43:01 +00:00
vgic KVM: arm/arm64: vgic: Fix off-by-one bug in vgic_get_irq() 2019-01-09 17:38:49 +01:00
aarch32.c kvm/arm: use PSR_AA32 definitions 2018-07-05 17:24:15 +01:00
arch_timer.c KVM: arm/arm64: Fix lost IRQs from emulated physcial timer when blocked 2018-07-31 07:53:20 +01:00
arm.c KVM: arm/arm64: Fix VMID alloc race by reverting to lock-less 2019-01-16 22:04:37 +01:00
mmio.c arm64: KVM: Skip MMIO insn after emulation 2019-02-12 19:47:12 +01:00
mmu.c KVM: arm/arm64: Ensure only THP is candidate for adjustment 2018-11-13 11:08:47 -08:00
perf.c KVM: arm/arm64: Move shared files to virt/kvm/arm 2017-05-04 13:57:26 +02:00
pmu.c KVM: arm64: Rewrite system register accessors to read/write functions 2018-03-19 10:53:16 +00:00
psci.c sched/swait: Rename to exclusive 2018-06-20 11:35:56 +02:00
trace.h KVM: Remove obsolete kvm_unmap_hva notifier backend 2018-09-07 15:06:02 +02:00