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