linux/virt/kvm/arm
Christoffer Dall 245715cbe8 KVM: arm/arm64: Fix lost IRQs from emulated physcial timer when blocked
When the VCPU is blocked (for example from WFI) we don't inject the
physical timer interrupt if it should fire while the CPU is blocked, but
instead we just wake up the VCPU and expect kvm_timer_vcpu_load to take
care of injecting the interrupt.

Unfortunately, kvm_timer_vcpu_load() doesn't actually do that, it only
has support to schedule a soft timer if the emulated phys timer is
expected to fire in the future.

Follow the same pattern as kvm_timer_update_state() and update the irq
state after potentially scheduling a soft timer.

Reported-by: Andre Przywara <andre.przywara@arm.com>
Cc: Stable <stable@vger.kernel.org> # 4.15+
Fixes: bbdd52cfcb ("KVM: arm/arm64: Avoid phys timer emulation in vcpu entry/exit")
Signed-off-by: Christoffer Dall <christoffer.dall@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2018-07-31 07:53:20 +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 possible spectre-v1 write in vgic_mmio_write_apr() 2018-07-24 13:53:54 +01:00
aarch32.c KVM: arm/arm64: Prepare to handle deferred save/restore of SPSR_EL1 2018-03-19 10:53:17 +00: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: Add 32bit get/set events support 2018-07-21 16:02:32 +01:00
mmio.c KVM: Fix stack-out-of-bounds read in write_mmio 2017-12-18 12:57:01 +01:00
mmu.c KVM: arm/arm64: Remove unnecessary CMOs when creating HYP page tables 2018-07-09 11:37:42 +01: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 arm64: KVM: Add ARCH_WORKAROUND_2 discovery through ARCH_FEATURES_FUNC_ID 2018-05-31 18:00:59 +01:00
trace.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00