]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blob - arch/alpha/include/asm/err_common.h
UBUNTU: Ubuntu-5.4.0-117.132
[mirror_ubuntu-focal-kernel.git] / arch / alpha / include / asm / err_common.h
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
69 union 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
81 struct 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 */