Linux-2.6.12-rc2
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / include / asm-alpha / err_common.h
blobc250959421073bb48503119d6a6a7d02c1746190
1 /*
2 * linux/include/asm-alpha/err_common.h
4 * Copyright (C) 2000 Jeff Wiedemeier (Compaq Computer Corporation)
6 * Contains declarations and macros to support Alpha error handling
7 * implementations.
8 */
10 #ifndef __ALPHA_ERR_COMMON_H
11 #define __ALPHA_ERR_COMMON_H 1
14 * SCB Vector definitions
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
23 * Disposition definitions for logout frame parser
25 #define MCHK_DISPOSITION_UNKNOWN_ERROR 0x00
26 #define MCHK_DISPOSITION_REPORT 0x01
27 #define MCHK_DISPOSITION_DISMISS 0x02
30 * Error Log definitions
33 * Types
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)
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;
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;
118 #endif /* __ALPHA_ERR_COMMON_H */