diff options
Diffstat (limited to 'app-emulation/qemu/files/qemu-2.4-mips-wake-up-on-irq.patch')
-rw-r--r-- | app-emulation/qemu/files/qemu-2.4-mips-wake-up-on-irq.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/app-emulation/qemu/files/qemu-2.4-mips-wake-up-on-irq.patch b/app-emulation/qemu/files/qemu-2.4-mips-wake-up-on-irq.patch new file mode 100644 index 000000000000..559a4afdb0d8 --- /dev/null +++ b/app-emulation/qemu/files/qemu-2.4-mips-wake-up-on-irq.patch @@ -0,0 +1,29 @@ +Pending upstream inclusion + +Link: https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg03572.html +Patchwork: https://patchwork.ozlabs.org/patch/517391/ +X-Gentoo-Bug: 563162 +X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=563162 + +Signed-off-by: Markos Chandras <hwoarang@gentoo.org> +diff --git a/target-mips/cpu.c b/target-mips/cpu.c +index 144eea9..cbeca04 100644 +--- a/target-mips/cpu.c ++++ b/target-mips/cpu.c +@@ -53,12 +53,13 @@ static bool mips_cpu_has_work(CPUState *cs) + CPUMIPSState *env = &cpu->env; + bool has_work = false; + +- /* It is implementation dependent if non-enabled interrupts +- wake-up the CPU, however most of the implementations only ++ /* Prior to MIPS Release 6 it is implementation dependent if non-enabled ++ interrupts wake-up the CPU, however most of the implementations only + check for interrupts that can be taken. */ + if ((cs->interrupt_request & CPU_INTERRUPT_HARD) && + cpu_mips_hw_interrupts_pending(env)) { +- if (cpu_mips_hw_interrupts_enabled(env)) { ++ if (cpu_mips_hw_interrupts_enabled(env) || ++ (env->insn_flags & ISA_MIPS32R6)) { + has_work = true; + } + } |