qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 2/4] target/nios2: Exteral Interrupt Controller (EIC)


From: Peter Maydell
Subject: Re: [PATCH v2 2/4] target/nios2: Exteral Interrupt Controller (EIC)
Date: Fri, 25 Feb 2022 17:54:10 +0000

On Thu, 24 Feb 2022 at 23:56, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> On 2/24/22 03:48, Amir Gonnen wrote:
> > +static void nios2_cpu_set_eic_irq(Nios2CPU *cpu, int level)
> > +{
> > +    CPUNios2State *env = &cpu->env;
> > +    CPUState *cs = CPU(cpu);
> > +
> > +    env->irq_pending = level;
> > +
> > +    if (env->irq_pending && nios2_take_eic_irq(cpu)) {
> > +        env->irq_pending = 0;
> > +        cpu_interrupt(cs, CPU_INTERRUPT_HARD);
> > +    } else if (!env->irq_pending) {
> > +        cpu_reset_interrupt(cs, CPU_INTERRUPT_HARD);
> > +    }
> > +}
>
> This looks wrong.  Of course, so does nios2_cpu_set_irq, from which you've 
> cribbed this.

Bit of a thread from 2020 on nios2's odd interrupt handling;

https://lore.kernel.org/qemu-devel/3260735e-05ab-2d42-f7e4-914ad804f543@linaro.org/

though it's mostly just you saying the same things you're saying now :-)

xtensa's also weird in a similar way.

-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]