Simplifies use of cpu_reset_interrupt() et al.
Signed-off-by: Andreas Färber <afaerber@suse.de>
level = 0;
vector = 0;
}
- m68k_set_irq_level(&s->cpu->env, level, vector);
+ m68k_set_irq_level(s->cpu, level, vector);
}
static void m5206_mbar_set_irq(void *opaque, int irq, int level)
}
}
s->active_vector = ((best == 64) ? 24 : (best + 64));
- m68k_set_irq_level(&s->cpu->env, best_level, s->active_vector);
+ m68k_set_irq_level(s->cpu, best_level, s->active_vector);
}
static uint64_t mcf_intc_read(void *opaque, hwaddr addr,
#define MACSR_V 0x002
#define MACSR_EV 0x001
-void m68k_set_irq_level(CPUM68KState *env, int level, uint8_t vector);
+void m68k_set_irq_level(M68kCPU *cpu, int level, uint8_t vector);
void m68k_set_macsr(CPUM68KState *env, uint32_t val);
void m68k_switch_sp(CPUM68KState *env);
be handled by the interrupt controller. Real hardware only requests
the vector when the interrupt is acknowledged by the CPU. For
simplicitly we calculate it when the interrupt is signalled. */
-void m68k_set_irq_level(CPUM68KState *env, int level, uint8_t vector)
+void m68k_set_irq_level(M68kCPU *cpu, int level, uint8_t vector)
{
+ CPUM68KState *env = &cpu->env;
+
env->pending_level = level;
env->pending_vector = vector;
if (level)