Commit 56b92eee authored by Philippe Mathieu-Daudé's avatar Philippe Mathieu-Daudé
Browse files

hw/mips/mips_int: De-duplicate KVM interrupt delivery



Refactor duplicated code in a single place.

Reviewed-by: default avatarThomas Huth <thuth@redhat.com>
Message-Id: <20200429082916.10669-2-f4bug@amsat.org>
Signed-off-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
parent c707f06f
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -47,18 +47,13 @@ static void cpu_mips_irq_request(void *opaque, int irq, int level)

    if (level) {
        env->CP0_Cause |= 1 << (irq + CP0Ca_IP);

        if (kvm_enabled() && irq == 2) {
            kvm_mips_set_interrupt(cpu, irq, level);
        }

    } else {
        env->CP0_Cause &= ~(1 << (irq + CP0Ca_IP));
    }

    if (kvm_enabled() && irq == 2) {
        kvm_mips_set_interrupt(cpu, irq, level);
    }
    }

    if (env->CP0_Cause & CP0Ca_IP_mask) {
        cpu_interrupt(cs, CPU_INTERRUPT_HARD);