Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  *  linux/include/asm-alpha/err_common.h
0004  *
0005  *  Copyright (C) 2000 Jeff Wiedemeier (Compaq Computer Corporation)
0006  *
0007  *  Contains declarations and macros to support Alpha error handling
0008  *  implementations.
0009  */
0010 
0011 #ifndef __ALPHA_ERR_COMMON_H
0012 #define __ALPHA_ERR_COMMON_H 1
0013 
0014 /*
0015  * SCB Vector definitions
0016  */
0017 #define SCB_Q_SYSERR    0x620
0018 #define SCB_Q_PROCERR   0x630
0019 #define SCB_Q_SYSMCHK   0x660
0020 #define SCB_Q_PROCMCHK  0x670
0021 #define SCB_Q_SYSEVENT  0x680
0022 
0023 /*
0024  * Disposition definitions for logout frame parser
0025  */
0026 #define MCHK_DISPOSITION_UNKNOWN_ERROR      0x00
0027 #define MCHK_DISPOSITION_REPORT         0x01
0028 #define MCHK_DISPOSITION_DISMISS        0x02
0029 
0030 /*
0031  * Error Log definitions
0032  */
0033 /*
0034  * Types
0035  */
0036 
0037 #define EL_CLASS__TERMINATION       (0)
0038 #  define EL_TYPE__TERMINATION__TERMINATION     (0)
0039 #define EL_CLASS__HEADER        (5)
0040 #  define EL_TYPE__HEADER__SYSTEM_ERROR_FRAME       (1)
0041 #  define EL_TYPE__HEADER__SYSTEM_EVENT_FRAME       (2)
0042 #  define EL_TYPE__HEADER__HALT_FRAME           (3)
0043 #  define EL_TYPE__HEADER__LOGOUT_FRAME         (19)
0044 #define EL_CLASS__GENERAL_NOTIFICATION  (9)
0045 #define EL_CLASS__PCI_ERROR_FRAME   (11)
0046 #define EL_CLASS__REGATTA_FAMILY    (12)
0047 #  define EL_TYPE__REGATTA__PROCESSOR_ERROR_FRAME   (1)
0048 #  define EL_TYPE__REGATTA__SYSTEM_ERROR_FRAME      (2)
0049 #  define EL_TYPE__REGATTA__ENVIRONMENTAL_FRAME     (3)
0050 #  define EL_TYPE__REGATTA__TITAN_PCHIP0_EXTENDED   (8)
0051 #  define EL_TYPE__REGATTA__TITAN_PCHIP1_EXTENDED   (9)
0052 #  define EL_TYPE__REGATTA__TITAN_MEMORY_EXTENDED   (10)
0053 #  define EL_TYPE__REGATTA__PROCESSOR_DBL_ERROR_HALT    (11)
0054 #  define EL_TYPE__REGATTA__SYSTEM_DBL_ERROR_HALT   (12)
0055 #define EL_CLASS__PAL                   (14)
0056 #  define EL_TYPE__PAL__LOGOUT_FRAME                    (1)
0057 #  define EL_TYPE__PAL__EV7_PROCESSOR           (4)
0058 #  define EL_TYPE__PAL__EV7_ZBOX            (5)
0059 #  define EL_TYPE__PAL__EV7_RBOX            (6)
0060 #  define EL_TYPE__PAL__EV7_IO              (7)
0061 #  define EL_TYPE__PAL__ENV__AMBIENT_TEMPERATURE    (10)
0062 #  define EL_TYPE__PAL__ENV__AIRMOVER_FAN       (11)
0063 #  define EL_TYPE__PAL__ENV__VOLTAGE            (12)
0064 #  define EL_TYPE__PAL__ENV__INTRUSION          (13)
0065 #  define EL_TYPE__PAL__ENV__POWER_SUPPLY       (14)
0066 #  define EL_TYPE__PAL__ENV__LAN            (15)
0067 #  define EL_TYPE__PAL__ENV__HOT_PLUG           (16)
0068 
0069 union el_timestamp {
0070     struct {
0071         u8 second;
0072         u8 minute;
0073         u8 hour;
0074         u8 day;
0075         u8 month;
0076         u8 year;
0077     } b;
0078     u64 as_int;
0079 };
0080 
0081 struct el_subpacket {
0082     u16 length;     /* length of header (in bytes)  */
0083     u16 class;      /* header class and type...     */
0084     u16 type;       /* ...determine content         */
0085     u16 revision;       /* header revision      */
0086     union {
0087         struct {    /* Class 5, Type 1 - System Error   */
0088             u32 frame_length;
0089             u32 frame_packet_count;         
0090         } sys_err;          
0091         struct {    /* Class 5, Type 2 - System Event   */
0092             union el_timestamp timestamp;
0093             u32 frame_length;
0094             u32 frame_packet_count;         
0095         } sys_event;
0096         struct {    /* Class 5, Type 3 - Double Error Halt  */
0097             u16 halt_code;
0098             u16 reserved;
0099             union el_timestamp timestamp;
0100             u32 frame_length;
0101             u32 frame_packet_count;
0102         } err_halt;
0103         struct {    /* Clasee 5, Type 19 - Logout Frame Header */
0104             u32 frame_length;
0105             u32 frame_flags;
0106             u32 cpu_offset; 
0107             u32 system_offset;
0108         } logout_header;
0109         struct {    /* Class 12 - Regatta           */
0110             u64 cpuid;
0111             u64 data_start[1];
0112         } regatta_frame;
0113         struct {    /* Raw                      */
0114             u64 data_start[1];
0115         } raw;
0116     } by_type;
0117 };
0118 
0119 #endif /* __ALPHA_ERR_COMMON_H */