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

2021-02-18 Thread Mark Rutland
On Thu, Feb 18, 2021 at 11:42:01PM +0900, Hector Martin wrote: > 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

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

2021-02-18 Thread Hector Martin
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():

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

2021-02-18 Thread Mark Rutland
On Thu, Feb 18, 2021 at 09:51:40PM +0900, Hector Martin wrote: > On 17/02/2021 21.22, Mark Rutland wrote: > > > Root irqchip drivers can discriminate between IRQs and FIQs by checking > > > the ISR_EL1 system register. > > > > I think we can remove this note for now. If we go with seperate

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

2021-02-18 Thread Hector Martin
On 17/02/2021 21.22, Mark Rutland wrote: Root irqchip drivers can discriminate between IRQs and FIQs by checking the ISR_EL1 system register. I think we can remove this note for now. If we go with seperate handlers this won't be necessary, and if not this would be better placed on a commit

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

2021-02-17 Thread Mark Rutland
Hi Hector, On Mon, Feb 15, 2021 at 09:16:56PM +0900, Hector Martin wrote: > Apple SoCs (A11 and newer) have some interrupt sources hardwired to the > FIQ line. We implement support for this by simply treating IRQs and FIQs > the same way in the interrupt vectors. > > To support these systems,

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

2021-02-15 Thread Hector Martin
Apple SoCs (A11 and newer) have some interrupt sources hardwired to the FIQ line. We implement support for this by simply treating IRQs and FIQs the same way in the interrupt vectors. To support these systems, the FIQ mask bit needs to be kept in sync with the IRQ mask bit, so both kinds of