irq.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. #ifndef _ASM_IRQ_H
  2. #define _ASM_IRQ_H
  3. /*
  4.  * linux/include/asm/irq.h
  5.  *
  6.  * (C) 1992, 1993 Linus Torvalds, (C) 1997 Ingo Molnar
  7.  *
  8.  * IRQ/IPI changes taken from work by Thomas Radke
  9.  * <tomsoft@informatik.tu-chemnitz.de>
  10.  */
  11. #include <linux/config.h>
  12. #define TIMER_IRQ 0
  13. /*
  14.  * 16 8259A IRQ's, 208 potential APIC interrupt sources.
  15.  * Right now the APIC is mostly only used for SMP.
  16.  * 256 vectors is an architectural limit. (we can have
  17.  * more than 256 devices theoretically, but they will
  18.  * have to use shared interrupts)
  19.  * Since vectors 0x00-0x1f are used/reserved for the CPU,
  20.  * the usable vector space is 0x20-0xff (224 vectors)
  21.  */
  22. #ifdef CONFIG_X86_IO_APIC
  23. #define NR_IRQS 224
  24. #else
  25. #define NR_IRQS 16
  26. #endif
  27. static __inline__ int irq_cannonicalize(int irq)
  28. {
  29. return ((irq == 2) ? 9 : irq);
  30. }
  31. extern void disable_irq(unsigned int);
  32. extern void disable_irq_nosync(unsigned int);
  33. extern void enable_irq(unsigned int);
  34. extern void release_x86_irqs(struct task_struct *);
  35. #ifdef CONFIG_X86_LOCAL_APIC
  36. #define ARCH_HAS_NMI_WATCHDOG /* See include/linux/nmi.h */
  37. #endif
  38. #endif /* _ASM_IRQ_H */