err_common.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. /*
  2. * linux/include/asm-alpha/err_common.h
  3. *
  4. * Copyright (C) 2000 Jeff Wiedemeier (Compaq Computer Corporation)
  5. *
  6. * Contains declarations and macros to support Alpha error handling
  7. * implementations.
  8. */
  9. #ifndef __ALPHA_ERR_COMMON_H
  10. #define __ALPHA_ERR_COMMON_H 1
  11. /*
  12. * SCB Vector definitions
  13. */
  14. #define SCB_Q_SYSERR 0x620
  15. #define SCB_Q_PROCERR 0x630
  16. #define SCB_Q_SYSMCHK 0x660
  17. #define SCB_Q_PROCMCHK 0x670
  18. #define SCB_Q_SYSEVENT 0x680
  19. /*
  20. * Disposition definitions for logout frame parser
  21. */
  22. #define MCHK_DISPOSITION_UNKNOWN_ERROR 0x00
  23. #define MCHK_DISPOSITION_REPORT 0x01
  24. #define MCHK_DISPOSITION_DISMISS 0x02
  25. /*
  26. * Error Log definitions
  27. */
  28. /*
  29. * Types
  30. */
  31. #define EL_CLASS__TERMINATION (0)
  32. # define EL_TYPE__TERMINATION__TERMINATION (0)
  33. #define EL_CLASS__HEADER (5)
  34. # define EL_TYPE__HEADER__SYSTEM_ERROR_FRAME (1)
  35. # define EL_TYPE__HEADER__SYSTEM_EVENT_FRAME (2)
  36. # define EL_TYPE__HEADER__HALT_FRAME (3)
  37. # define EL_TYPE__HEADER__LOGOUT_FRAME (19)
  38. #define EL_CLASS__GENERAL_NOTIFICATION (9)
  39. #define EL_CLASS__PCI_ERROR_FRAME (11)
  40. #define EL_CLASS__REGATTA_FAMILY (12)
  41. # define EL_TYPE__REGATTA__PROCESSOR_ERROR_FRAME (1)
  42. # define EL_TYPE__REGATTA__SYSTEM_ERROR_FRAME (2)
  43. # define EL_TYPE__REGATTA__ENVIRONMENTAL_FRAME (3)
  44. # define EL_TYPE__REGATTA__TITAN_PCHIP0_EXTENDED (8)
  45. # define EL_TYPE__REGATTA__TITAN_PCHIP1_EXTENDED (9)
  46. # define EL_TYPE__REGATTA__TITAN_MEMORY_EXTENDED (10)
  47. # define EL_TYPE__REGATTA__PROCESSOR_DBL_ERROR_HALT (11)
  48. # define EL_TYPE__REGATTA__SYSTEM_DBL_ERROR_HALT (12)
  49. #define EL_CLASS__PAL (14)
  50. # define EL_TYPE__PAL__LOGOUT_FRAME (1)
  51. # define EL_TYPE__PAL__EV7_PROCESSOR (4)
  52. # define EL_TYPE__PAL__EV7_ZBOX (5)
  53. # define EL_TYPE__PAL__EV7_RBOX (6)
  54. # define EL_TYPE__PAL__EV7_IO (7)
  55. # define EL_TYPE__PAL__ENV__AMBIENT_TEMPERATURE (10)
  56. # define EL_TYPE__PAL__ENV__AIRMOVER_FAN (11)
  57. # define EL_TYPE__PAL__ENV__VOLTAGE (12)
  58. # define EL_TYPE__PAL__ENV__INTRUSION (13)
  59. # define EL_TYPE__PAL__ENV__POWER_SUPPLY (14)
  60. # define EL_TYPE__PAL__ENV__LAN (15)
  61. # define EL_TYPE__PAL__ENV__HOT_PLUG (16)
  62. union el_timestamp {
  63. struct {
  64. u8 second;
  65. u8 minute;
  66. u8 hour;
  67. u8 day;
  68. u8 month;
  69. u8 year;
  70. } b;
  71. u64 as_int;
  72. };
  73. struct el_subpacket {
  74. u16 length; /* length of header (in bytes) */
  75. u16 class; /* header class and type... */
  76. u16 type; /* ...determine content */
  77. u16 revision; /* header revision */
  78. union {
  79. struct { /* Class 5, Type 1 - System Error */
  80. u32 frame_length;
  81. u32 frame_packet_count;
  82. } sys_err;
  83. struct { /* Class 5, Type 2 - System Event */
  84. union el_timestamp timestamp;
  85. u32 frame_length;
  86. u32 frame_packet_count;
  87. } sys_event;
  88. struct { /* Class 5, Type 3 - Double Error Halt */
  89. u16 halt_code;
  90. u16 reserved;
  91. union el_timestamp timestamp;
  92. u32 frame_length;
  93. u32 frame_packet_count;
  94. } err_halt;
  95. struct { /* Clasee 5, Type 19 - Logout Frame Header */
  96. u32 frame_length;
  97. u32 frame_flags;
  98. u32 cpu_offset;
  99. u32 system_offset;
  100. } logout_header;
  101. struct { /* Class 12 - Regatta */
  102. u64 cpuid;
  103. u64 data_start[1];
  104. } regatta_frame;
  105. struct { /* Raw */
  106. u64 data_start[1];
  107. } raw;
  108. } by_type;
  109. };
  110. #endif /* __ALPHA_ERR_COMMON_H */