--- hw/mips_int.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/hw/mips_int.c b/hw/mips_int.c index 6423fd0..6c655af 100644 --- a/hw/mips_int.c +++ b/hw/mips_int.c @@ -23,6 +23,8 @@ #include "hw.h" #include "mips_cpudevs.h" #include "cpu.h" +#include "sysemu/kvm.h" +#include "kvm_mips.h" static void cpu_mips_irq_request(void *opaque, int irq, int level) { @@ -33,8 +35,21 @@ static void cpu_mips_irq_request(void *opaque, int irq, int level) if (level) { env->CP0_Cause |= 1 << (irq + CP0Ca_IP); + +#ifdef CONFIG_KVM + if (kvm_enabled() && irq == 2) { + kvm_mips_set_interrupt (env, irq, level); + } +#endif + } else { env->CP0_Cause &= ~(1 << (irq + CP0Ca_IP)); + +#ifdef CONFIG_KVM + if (kvm_enabled() && irq == 2) { + kvm_mips_set_interrupt (env, irq, level); + } +#endif } if (env->CP0_Cause & CP0Ca_IP_mask) { -- 1.7.11.3 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html