On 18/02/2021 23.22, Mark Rutland wrote:
I think that for consistency we always want to keep IRQ and FIQ in-sync,
even when using GIC priorities. So when handling a pseudo-NMI we should
unmask DAIF.DA and leave DAIF.IF masked.
In that case there's one more, in daifflags.h:local_daif_restore():
/*
* If interrupts are disabled but we can take
* asynchronous errors, we can take NMIs
*/
flags &= PSR_I_BIT;
pmr = GIC_PRIO_IRQOFF;
And a minor related one: should init_gic_priority_masking() WARN if FIQ is
masked too? This probably goes with the above.
I think it should, yes.
Done for v3 then. Thanks!
--
Hector Martin (marcan@xxxxxxxxx)
Public Key: https://mrcn.st/pub