| Date | Sat, 16 May 2020 01:46:07 +0200 | From | Thomas Gleixner <> | Subject | [patch V6 20/37] x86/irq/64: Provide handle_irq() |
| |
To consolidate the interrupt entry/exit code vs. the other exceptions provide handle_irq() (similar to 32bit) to move the interrupt stack switching to C code. That allows to consolidate the entry exit handling by reusing the idtentry machinery both in ASM and C.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
diff --git a/arch/x86/kernel/irq_64.c b/arch/x86/kernel/irq_64.c index 62cff52e03c5..6087164e581c 100644 --- a/arch/x86/kernel/irq_64.c +++ b/arch/x86/kernel/irq_64.c @@ -79,3 +79,11 @@ void do_softirq_own_stack(void) else run_on_irqstack(__do_softirq, NULL); } + +void handle_irq(struct irq_desc *desc, struct pt_regs *regs) +{ + if (!irq_needs_irq_stack(regs)) + generic_handle_irq_desc(desc); + else + run_on_irqstack(desc->handle_irq, desc); +}
|