iosapic.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. #ifndef __ASM_IA64_IOSAPIC_H
  2. #define __ASM_IA64_IOSAPIC_H
  3. #define IOSAPIC_DEFAULT_ADDR 0xFEC00000
  4. #define IOSAPIC_REG_SELECT 0x0
  5. #define IOSAPIC_WINDOW 0x10
  6. #define IOSAPIC_EOI 0x40
  7. #define IOSAPIC_VERSION 0x1
  8. /*
  9.  * Redirection table entry
  10.  */
  11. #define IOSAPIC_RTE_LOW(i) (0x10+i*2)
  12. #define IOSAPIC_RTE_HIGH(i) (0x11+i*2)
  13. #define IOSAPIC_DEST_SHIFT 16
  14. /*
  15.  * Delivery mode
  16.  */
  17. #define IOSAPIC_DELIVERY_SHIFT 8
  18. #define IOSAPIC_FIXED 0x0
  19. #define IOSAPIC_LOWEST_PRIORITY 0x1
  20. #define IOSAPIC_PMI 0x2
  21. #define IOSAPIC_NMI 0x4
  22. #define IOSAPIC_INIT 0x5
  23. #define IOSAPIC_EXTINT 0x7
  24. /*
  25.  * Interrupt polarity
  26.  */
  27. #define IOSAPIC_POLARITY_SHIFT 13
  28. #define IOSAPIC_POL_HIGH 0
  29. #define IOSAPIC_POL_LOW 1
  30. /*
  31.  * Trigger mode
  32.  */
  33. #define IOSAPIC_TRIGGER_SHIFT 15
  34. #define IOSAPIC_EDGE 0
  35. #define IOSAPIC_LEVEL 1
  36. /*
  37.  * Mask bit
  38.  */
  39. #define IOSAPIC_MASK_SHIFT 16
  40. #define IOSAPIC_UNMASK 0
  41. #define IOSAPIC_MSAK 1
  42. #ifndef __ASSEMBLY__
  43. extern void __init iosapic_init (unsigned long address, unsigned int base_irq,
  44.                                  int pcat_compat);
  45. extern int iosapic_register_irq (u32 global_vector, unsigned long polarity,
  46.                                  unsigned long edge_triggered, u32 base_irq,
  47.                                  char *iosapic_address);
  48. extern void iosapic_register_legacy_irq (unsigned long irq, unsigned long pin,
  49.  unsigned long polarity, unsigned long trigger);
  50. extern int iosapic_register_platform_irq (u32 int_type, u32 global_vector, u32 iosapic_vector,
  51.   u16 eid, u16 id, unsigned long polarity,
  52.   unsigned long edge_triggered, u32 base_irq,
  53.   char *iosapic_address);
  54. extern unsigned int iosapic_version (char *addr);
  55. extern void iosapic_pci_fixup (int);
  56. # endif /* !__ASSEMBLY__ */
  57. #endif /* __ASM_IA64_IOSAPIC_H */