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 68 union 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 80 struct 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