OSDN Git Service

hw/mips: Add CPU IRQ3 delivery for KVM
authorHuacai Chen <zltjiangshi@gmail.com>
Sun, 3 May 2020 10:20:17 +0000 (18:20 +0800)
committerAleksandar Markovic <aleksandar.qemu.devel@gmail.com>
Mon, 1 Jun 2020 11:28:21 +0000 (13:28 +0200)
Currently, KVM/MIPS only deliver I/O interrupt via IP2, this patch add
IP3 delivery as well, because Loongson-3 based machine use both IRQ2
(CPU's IP2) and IRQ3 (CPU's IP3).

Signed-off-by: Huacai Chen <chenhc@lemote.com>
Co-developed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>
Signed-off-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>
Message-Id: <1588501221-1205-4-git-send-email-chenhc@lemote.com>

hw/mips/mips_int.c

index 4a1bf84..0f9c6f0 100644 (file)
@@ -51,7 +51,7 @@ static void cpu_mips_irq_request(void *opaque, int irq, int level)
         env->CP0_Cause &= ~(1 << (irq + CP0Ca_IP));
     }
 
-    if (kvm_enabled() && irq == 2) {
+    if (kvm_enabled() && (irq == 2 || irq == 3)) {
         kvm_mips_set_interrupt(cpu, irq, level);
     }