Re: [PATCH 0/8] arm64: Support FIQ controller registration

From: Hector Martin
Date: Fri Feb 19 2021 - 10:43:30 EST


Hi Mark,

Thanks for tackling this side of the problem!

On 19/02/2021 20.38, Mark Rutland wrote:
The only functional difference here is that if an IRQ
is somehow taken prior to set_handle_irq() the default handler will directly
panic() rather than the vector branching to NULL.

That sounds like the right thing to do, certainly.

The penultimate patch is cherry-picked from the v2 M1 series, and as per
discussion there [3] will need a few additional fixups. I've included it for
now as the DAIF.IF alignment is necessary for the FIQ exception handling added
in the final patch.

The final patch adds the low-level FIQ exception handling and registration
mechanism atop the prior rework.

I'm hoping that we can somehow queue the first 6 patches of this series as a
base for the M1 support. With that we can either cherry-pick a later version of
the DAIF.IF patch here, or the M1 support series can take the FIQ handling
patch. I've pushed the series out to my arm64/fiq branch [4] on kernel.org,
atop v5.11.

Looks good! I cherry picked my updated version of the DAIF.IF patch into your series at [1] (3322522d), and then rebased the M1 series on top of it (with the change to use set_handle_fiq(), minus all the other obsoleted FIQ stuff) at [2]. It all boots and works as expected.

I think it makes sense for you to take the DAIF.IF patch, as it goes along with this series. Then we can base the M1 series off of it. If you think that works, I can send it off as a one-off reply to the version in this series and we can review it here if you want, or otherwise feel free to cherry-pick it into a v2 (CC as appropriate).

If this all makes sense, the v3 of the M1 series will then be based off of this patchset as in [2], and I'll link to your tree in the cover letter so others know where to apply it. Arnd (CCed) is going to be merging that one via the SoC tree, so as long as we coordinate a stable base once everything is reviewed and ready to merge, I believe it should all work out fine on the way up.

Just for completeness, the current DAIF.IF patch in the context of the original series is at [3] (4dd6330f), in case that's useful to someone for some reason (since there were conflicts due to the refactoring happening before it, it changed a bit).

[1] https://github.com/AsahiLinux/linux/tree/fiq
[2] https://github.com/AsahiLinux/linux/tree/upstream-bringup-v3
[3] https://github.com/AsahiLinux/linux/tree/upstream-bringup-v2.5

--
Hector Martin (marcan@xxxxxxxxx)
Public Key: https://mrcn.st/pub