Richard Henderson writes: > Cc: Max Filippov <jcmvb...@gmail.com> > Signed-off-by: Richard Henderson <r...@twiddle.net> <snip> > @@ -669,12 +669,6 @@ int cpu_exec(CPUArchState *env) > cc->do_interrupt(cpu); > next_tb = 0; > } > -#elif defined(TARGET_XTENSA) > - if (interrupt_request & CPU_INTERRUPT_HARD) { > - cpu->exception_index = EXC_IRQ; > - cc->do_interrupt(cpu); > - next_tb = 0; > - } > #endif <snip> > > void xtensa_cpu_do_interrupt(CPUState *cpu); > +bool xtensa_cpu_exec_interrupt(CPUState *cpu, int interrupt_request); <snip> > cc->do_interrupt = xtensa_cpu_do_interrupt; > + cc->cpu_exec_interrupt = xtensa_cpu_exec_interrupt; <snip> > > +bool xtensa_cpu_exec_interrupt(CPUState *cs, int interrupt_request) > +{ > + if (interrupt_request & CPU_INTERRUPT_HARD) { > + cs->exception_index = EXC_IRQ; > + xtensa_cpu_do_interrupt(cs); > + return true; > + } > + return false; <snip>
Do this mean when all this unwinding has occured cc->do_interrupt will no longer be needed at all entries will go in via $ARCH_cpu_exec_interrupt? -- Alex Bennée