linux/arch/alpha/include/asm/err_common.h
<<
>>
Prefs
   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 */
 120