File: /Users/paulross/dev/linux/linux-3.13/arch/x86/include/asm/irq.h

Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.

       1: #ifndef _ASM_X86_IRQ_H
       2: #define _ASM_X86_IRQ_H
       3: /*
       4:  *    (C) 1992, 1993 Linus Torvalds, (C) 1997 Ingo Molnar
       5:  *
       6:  *    IRQ/IPI changes taken from work by Thomas Radke
       7:  *    <tomsoft@informatik.tu-chemnitz.de>
       8:  */
       9: 
      10: #include <asm/apicdef.h>
      11: #include <asm/irq_vectors.h>
      12: 
      13: static inline int irq_canonicalize(int irq)
      14: {
      15:     return ((irq == 2) ? 9 : irq);
      16: }
      17: 
      18: #ifdef CONFIG_X86_32
      19: extern void irq_ctx_init(int cpu);
      20: #else
      21: # define irq_ctx_init(cpu) do { } while (0)
      22: #endif
      23: 
      24: #define __ARCH_HAS_DO_SOFTIRQ
      25: 
      26: #ifdef CONFIG_HOTPLUG_CPU
      27: #include <linux/cpumask.h>
      28: extern void fixup_irqs(void);
      29: extern void irq_force_complete_move(int);
      30: #endif
      31: 
      32: extern void (*x86_platform_ipi_callback)(void);
      33: extern void native_init_IRQ(void);
      34: extern bool handle_irq(unsigned irq, struct pt_regs *regs);
      35: 
      36: extern __visible unsigned int do_IRQ(struct pt_regs *regs);
      37: 
      38: /* Interrupt vector management */
      39: extern DECLARE_BITMAP(used_vectors, NR_VECTORS);
      40: extern int vector_used_by_percpu_irq(unsigned int vector);
      41: 
      42: extern void init_ISA_irqs(void);
      43: 
      44: #ifdef CONFIG_X86_LOCAL_APIC
      45: void arch_trigger_all_cpu_backtrace(void);
      46: #define arch_trigger_all_cpu_backtrace arch_trigger_all_cpu_backtrace
      47: #endif
      48: 
      49: #endif /* _ASM_X86_IRQ_H */
      50: