err_common.h 3.2 KB

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