Thread (90 messages) 90 messages, 11 authors, 2021-03-02

Re: [PATCH v2 08/25] arm64: Always keep DAIF.[IF] in sync

From: Mark Rutland <mark.rutland@arm.com>
Date: 2021-02-18 18:03:06
Also in: linux-devicetree, lkml

On Thu, Feb 18, 2021 at 11:42:01PM +0900, Hector Martin wrote:
On 18/02/2021 23.22, Mark Rutland wrote:
quoted
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;
Good spot, yes!

I did a quick scan with `git grep 'PSR_[IF]_BIT' -- arch/arm64`, and
AFAICT that's the last one.
quoted
quoted
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!
Cool!

Mark.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help