Merge branch 'fsnotify' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
[sfrench/cifs-2.6.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 */