ARM: KVM: Enable in-kernel timers with user space gic
commit5d721b785fbe80170fc756e9444cf751d3a47568
authorAlexander Graf <agraf@suse.de>
Tue, 11 Jul 2017 10:21:26 +0000 (11 11:21 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 11 Jul 2017 10:21:26 +0000 (11 11:21 +0100)
treebfd169dc02c4d5550e1714e436eff3174817a0be
parentf986ee1d43004a336197ee012e901f44bba04785
ARM: KVM: Enable in-kernel timers with user space gic

When running with KVM enabled, you can choose between emulating the
gic in kernel or user space. If the kernel supports in-kernel virtualization
of the interrupt controller, it will default to that. If not, if will
default to user space emulation.

Unfortunately when running in user mode gic emulation, we miss out on
interrupt events which are only available from kernel space, such as the timer.
This patch leverages the new kernel/user space pending line synchronization for
timer events. It does not handle PMU events yet.

Signed-off-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Message-id: 1498577737-130264-1-git-send-email-agraf@suse.de
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
accel/kvm/kvm-all.c
accel/stubs/kvm-stub.c
hw/intc/arm_gic.c
include/sysemu/kvm.h
target/arm/cpu.h
target/arm/kvm.c