mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 09:13:55 -06:00
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>
This commit is contained in:
parent
f986ee1d43
commit
5d721b785f
6 changed files with 82 additions and 0 deletions
|
@ -220,6 +220,17 @@ int kvm_init_vcpu(CPUState *cpu);
|
|||
int kvm_cpu_exec(CPUState *cpu);
|
||||
int kvm_destroy_vcpu(CPUState *cpu);
|
||||
|
||||
/**
|
||||
* kvm_arm_supports_user_irq
|
||||
*
|
||||
* Not all KVM implementations support notifications for kernel generated
|
||||
* interrupt events to user space. This function indicates whether the current
|
||||
* KVM implementation does support them.
|
||||
*
|
||||
* Returns: true if KVM supports using kernel generated IRQs from user space
|
||||
*/
|
||||
bool kvm_arm_supports_user_irq(void);
|
||||
|
||||
#ifdef NEED_CPU_H
|
||||
#include "cpu.h"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue