On 26 Jun 2020, at 22:43, Alistair Francis <alistair.fran...@wdc.com> wrote:
> 
> From: Jessica Clarke <jrt...@jrtc27.com>
> 
> Claiming an interrupt and changing the source priority both potentially
> affect whether an interrupt is pending, thus we must re-compute xEIP.
> Note that we don't put the sifive_plic_update inside sifive_plic_claim
> so that the logging of a claim (and the resulting IRQ) happens before
> the state update, making the causal effect clear, and that we drop the
> explicit call to sifive_plic_print_state when claiming since
> sifive_plic_update already does that automatically at the end for us.
> 
> This can result in both spurious interrupt storms if you fail to
> complete an IRQ before enabling interrupts (and no other actions occur
> that result in a call to sifive_plic_update), but also more importantly
> lost interrupts if a disabled interrupt is pending and then becomes
> enabled.
> 
> Signed-off-by: Jessica Clarke <jrt...@jrtc27.com>
> Reviewed-by: Alistair Francis <alistair.fran...@wdc.com>
> Message-id: 20200618210649.22451-1-jrt...@jrtc27.com
> Message-Id: <20200618210649.22451-1-jrt...@jrtc27.com>

Something went a bit weird here.

Jess


Reply via email to