mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
exec: Pass CPUState to cpu_reset_interrupt()
Move it to qom/cpu.c to avoid build failures depending on include order of cpu-qom.h and exec/cpu-all.h. Change opaques of various ..._irq_handler() functions to the appropriate CPU type to facilitate using cpu_reset_interrupt(). Fix Coding Style issues while at it (missing braces, indentation). Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
parent
259186a7d2
commit
d8ed887bdc
24 changed files with 105 additions and 66 deletions
|
@ -67,6 +67,7 @@ void leon3_irq_ack(void *irq_manager, int intno)
|
|||
static void leon3_set_pil_in(void *opaque, uint32_t pil_in)
|
||||
{
|
||||
CPUSPARCState *env = (CPUSPARCState *)opaque;
|
||||
CPUState *cs;
|
||||
|
||||
assert(env != NULL);
|
||||
|
||||
|
@ -89,9 +90,10 @@ static void leon3_set_pil_in(void *opaque, uint32_t pil_in)
|
|||
}
|
||||
}
|
||||
} else if (!env->pil_in && (env->interrupt_index & ~15) == TT_EXTINT) {
|
||||
cs = CPU(sparc_env_get_cpu(env));
|
||||
trace_leon3_reset_irq(env->interrupt_index & 15);
|
||||
env->interrupt_index = 0;
|
||||
cpu_reset_interrupt(env, CPU_INTERRUPT_HARD);
|
||||
cpu_reset_interrupt(cs, CPU_INTERRUPT_HARD);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -230,6 +230,8 @@ void sun4m_irq_info(Monitor *mon, const QDict *qdict)
|
|||
|
||||
void cpu_check_irqs(CPUSPARCState *env)
|
||||
{
|
||||
CPUState *cs;
|
||||
|
||||
if (env->pil_in && (env->interrupt_index == 0 ||
|
||||
(env->interrupt_index & ~15) == TT_EXTINT)) {
|
||||
unsigned int i;
|
||||
|
@ -247,9 +249,10 @@ void cpu_check_irqs(CPUSPARCState *env)
|
|||
}
|
||||
}
|
||||
} else if (!env->pil_in && (env->interrupt_index & ~15) == TT_EXTINT) {
|
||||
cs = CPU(sparc_env_get_cpu(env));
|
||||
trace_sun4m_cpu_reset_interrupt(env->interrupt_index & 15);
|
||||
env->interrupt_index = 0;
|
||||
cpu_reset_interrupt(env, CPU_INTERRUPT_HARD);
|
||||
cpu_reset_interrupt(cs, CPU_INTERRUPT_HARD);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue