aboutsummaryrefslogtreecommitdiff
path: root/exec.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-06-30 13:12:32 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-06-30 13:12:32 +0000
commit68a7931591fca65ac5dc2e1b23688e08d1c328a6 (patch)
treed7b9f908c23ad553d88eef3ab594ec9c700d31a1 /exec.c
parentc9159e5321628a29bcc26216f0166e9cdd7e4b26 (diff)
reduced irq latency
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@296 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'exec.c')
-rw-r--r--exec.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/exec.c b/exec.c
index 4de0c60f1a..e7f5081d0b 100644
--- a/exec.c
+++ b/exec.c
@@ -617,11 +617,12 @@ static void tb_reset_jump_recursive(TranslationBlock *tb)
tb_reset_jump_recursive2(tb, 1);
}
-void cpu_interrupt(CPUState *env)
+/* mask must never be zero */
+void cpu_interrupt(CPUState *env, int mask)
{
TranslationBlock *tb;
-
- env->interrupt_request = 1;
+
+ env->interrupt_request |= mask;
/* if the cpu is currently executing code, we must unlink it and
all the potentially executing TB */
tb = env->current_tb;