Messages in this thread | | | Date | Wed, 24 Mar 2021 17:03:23 +0000 | From | Will Deacon <> | Subject | Re: [PATCHv3 6/6] arm64: irq: allow FIQs to be handled |
| |
On Mon, Mar 15, 2021 at 11:56:29AM +0000, Mark Rutland wrote: > On contemporary platforms we don't use FIQ, and treat any stray FIQ as a > fatal event. However, some platforms have an interrupt controller wired > to FIQ, and need to handle FIQ as part of regular operation. > > So that we can support both cases dynamically, this patch updates the > FIQ exception handling code to operate the same way as the IRQ handling > code, with its own handle_arch_fiq handler. Where a root FIQ handler is > not registered, an unexpected FIQ exception will trigger the default FIQ > handler, which will panic() as today. Where a root FIQ handler is > registered, handling of the FIQ is deferred to that handler. > > As el0_fiq_invalid_compat is supplanted by el0_fiq, the former is > removed. For !CONFIG_COMPAT builds we never expect to take an exception > from AArch32 EL0, so we keep the common el0_fiq_invalid handler. > > Signed-off-by: Mark Rutland <mark.rutland@arm.com> > Tested-by: Hector Martin <marcan@marcan.st> > Cc: Catalin Marinas <catalin.marinas@arm.com> > Cc: James Morse <james.morse@arm.com> > Cc: Marc Zyngier <maz@kernel.org> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: Will Deacon <will@kernel.org> > --- > arch/arm64/include/asm/irq.h | 1 + > arch/arm64/kernel/entry.S | 30 +++++++++++++++++++++--------- > arch/arm64/kernel/irq.c | 16 ++++++++++++++++ > 3 files changed, 38 insertions(+), 9 deletions(-)
Acked-by: Will Deacon <will@kernel.org>
Will
| |