4 #include <asm/machvec.h>
7 * A sane default based on a reasonable vector table size, platforms are
8 * advised to cap this at the hard limit that they're interested in
12 #define NR_IRQS_LEGACY 8 /* Legacy external IRQ0-7 */
15 * This is a special IRQ number for indicating that no IRQ has been
16 * triggered and to simply ignore the IRQ dispatch. This is a special
17 * case that can happen with IRQ auto-distribution when multiple CPUs
18 * are woken up and signalled in parallel.
20 #define NO_IRQ_IGNORE ((unsigned int)-1)
23 * Convert back and forth between INTEVT and IRQ values.
25 #ifdef CONFIG_CPU_HAS_INTEVT
26 #define evt2irq(evt) (((evt) >> 5) - 16)
27 #define irq2evt(irq) (((irq) + 16) << 5)
29 #define evt2irq(evt) (evt)
30 #define irq2evt(irq) (irq)
34 * Simple Mask Register Support
36 extern void make_maskreg_irq(unsigned int irq
);
37 extern unsigned short *irq_mask_register
;
42 void init_IRQ_pint(void);
43 void make_imask_irq(unsigned int irq
);
45 static inline int generic_irq_demux(int irq
)
50 #define irq_demux(irq) sh_mv.mv_irq_demux(irq)
53 asmlinkage
int do_IRQ(unsigned int irq
, struct pt_regs
*regs
);
55 #ifdef CONFIG_IRQSTACKS
56 extern void irq_ctx_init(int cpu
);
57 extern void irq_ctx_exit(int cpu
);
58 # define __ARCH_HAS_DO_SOFTIRQ
60 # define irq_ctx_init(cpu) do { } while (0)
61 # define irq_ctx_exit(cpu) do { } while (0)
64 #ifdef CONFIG_INTC_BALANCING
65 extern unsigned int irq_lookup(unsigned int irq
);
66 extern void irq_finish(unsigned int irq
);
68 #define irq_lookup(irq) (irq)
69 #define irq_finish(irq) do { } while (0)
72 #include <asm-generic/irq.h>
77 #endif /* __ASM_SH_IRQ_H */
This page took 0.030897 seconds and 5 git commands to generate.