• Mark Rutland's avatar
    irq: add generic_handle_arch_irq() · a1b09501
    Mark Rutland authored
    
    
    Several architectures select GENERIC_IRQ_MULTI_HANDLER and branch to
    handle_arch_irq() without performing any entry accounting.
    
    Add a generic wrapper to handle the common irqentry work when invoking
    handle_arch_irq(). Where an architecture needs to perform some entry
    accounting itself, it will need to invoke handle_arch_irq() itself.
    
    In subsequent patches it will become the responsibilty of the entry code
    to set the irq regs when entering an IRQ (rather than deferring this to
    an irqchip handler), so generic_handle_arch_irq() is made to set the irq
    regs now. This can be redundant in some cases, but is never harmful as
    saving/restoring the old regs nests safely.
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    Reviewed-by: default avatarMarc Zyngier <maz@kernel.org>
    Reviewed-by: default avatarGuo Ren <guoren@kernel.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    a1b09501
handle.c 6.25 KB