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