18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * linux/include/asm-alpha/err_common.h 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copyright (C) 2000 Jeff Wiedemeier (Compaq Computer Corporation) 68c2ecf20Sopenharmony_ci * 78c2ecf20Sopenharmony_ci * Contains declarations and macros to support Alpha error handling 88c2ecf20Sopenharmony_ci * implementations. 98c2ecf20Sopenharmony_ci */ 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci#ifndef __ALPHA_ERR_COMMON_H 128c2ecf20Sopenharmony_ci#define __ALPHA_ERR_COMMON_H 1 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci/* 158c2ecf20Sopenharmony_ci * SCB Vector definitions 168c2ecf20Sopenharmony_ci */ 178c2ecf20Sopenharmony_ci#define SCB_Q_SYSERR 0x620 188c2ecf20Sopenharmony_ci#define SCB_Q_PROCERR 0x630 198c2ecf20Sopenharmony_ci#define SCB_Q_SYSMCHK 0x660 208c2ecf20Sopenharmony_ci#define SCB_Q_PROCMCHK 0x670 218c2ecf20Sopenharmony_ci#define SCB_Q_SYSEVENT 0x680 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci/* 248c2ecf20Sopenharmony_ci * Disposition definitions for logout frame parser 258c2ecf20Sopenharmony_ci */ 268c2ecf20Sopenharmony_ci#define MCHK_DISPOSITION_UNKNOWN_ERROR 0x00 278c2ecf20Sopenharmony_ci#define MCHK_DISPOSITION_REPORT 0x01 288c2ecf20Sopenharmony_ci#define MCHK_DISPOSITION_DISMISS 0x02 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci/* 318c2ecf20Sopenharmony_ci * Error Log definitions 328c2ecf20Sopenharmony_ci */ 338c2ecf20Sopenharmony_ci/* 348c2ecf20Sopenharmony_ci * Types 358c2ecf20Sopenharmony_ci */ 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci#define EL_CLASS__TERMINATION (0) 388c2ecf20Sopenharmony_ci# define EL_TYPE__TERMINATION__TERMINATION (0) 398c2ecf20Sopenharmony_ci#define EL_CLASS__HEADER (5) 408c2ecf20Sopenharmony_ci# define EL_TYPE__HEADER__SYSTEM_ERROR_FRAME (1) 418c2ecf20Sopenharmony_ci# define EL_TYPE__HEADER__SYSTEM_EVENT_FRAME (2) 428c2ecf20Sopenharmony_ci# define EL_TYPE__HEADER__HALT_FRAME (3) 438c2ecf20Sopenharmony_ci# define EL_TYPE__HEADER__LOGOUT_FRAME (19) 448c2ecf20Sopenharmony_ci#define EL_CLASS__GENERAL_NOTIFICATION (9) 458c2ecf20Sopenharmony_ci#define EL_CLASS__PCI_ERROR_FRAME (11) 468c2ecf20Sopenharmony_ci#define EL_CLASS__REGATTA_FAMILY (12) 478c2ecf20Sopenharmony_ci# define EL_TYPE__REGATTA__PROCESSOR_ERROR_FRAME (1) 488c2ecf20Sopenharmony_ci# define EL_TYPE__REGATTA__SYSTEM_ERROR_FRAME (2) 498c2ecf20Sopenharmony_ci# define EL_TYPE__REGATTA__ENVIRONMENTAL_FRAME (3) 508c2ecf20Sopenharmony_ci# define EL_TYPE__REGATTA__TITAN_PCHIP0_EXTENDED (8) 518c2ecf20Sopenharmony_ci# define EL_TYPE__REGATTA__TITAN_PCHIP1_EXTENDED (9) 528c2ecf20Sopenharmony_ci# define EL_TYPE__REGATTA__TITAN_MEMORY_EXTENDED (10) 538c2ecf20Sopenharmony_ci# define EL_TYPE__REGATTA__PROCESSOR_DBL_ERROR_HALT (11) 548c2ecf20Sopenharmony_ci# define EL_TYPE__REGATTA__SYSTEM_DBL_ERROR_HALT (12) 558c2ecf20Sopenharmony_ci#define EL_CLASS__PAL (14) 568c2ecf20Sopenharmony_ci# define EL_TYPE__PAL__LOGOUT_FRAME (1) 578c2ecf20Sopenharmony_ci# define EL_TYPE__PAL__EV7_PROCESSOR (4) 588c2ecf20Sopenharmony_ci# define EL_TYPE__PAL__EV7_ZBOX (5) 598c2ecf20Sopenharmony_ci# define EL_TYPE__PAL__EV7_RBOX (6) 608c2ecf20Sopenharmony_ci# define EL_TYPE__PAL__EV7_IO (7) 618c2ecf20Sopenharmony_ci# define EL_TYPE__PAL__ENV__AMBIENT_TEMPERATURE (10) 628c2ecf20Sopenharmony_ci# define EL_TYPE__PAL__ENV__AIRMOVER_FAN (11) 638c2ecf20Sopenharmony_ci# define EL_TYPE__PAL__ENV__VOLTAGE (12) 648c2ecf20Sopenharmony_ci# define EL_TYPE__PAL__ENV__INTRUSION (13) 658c2ecf20Sopenharmony_ci# define EL_TYPE__PAL__ENV__POWER_SUPPLY (14) 668c2ecf20Sopenharmony_ci# define EL_TYPE__PAL__ENV__LAN (15) 678c2ecf20Sopenharmony_ci# define EL_TYPE__PAL__ENV__HOT_PLUG (16) 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ciunion el_timestamp { 708c2ecf20Sopenharmony_ci struct { 718c2ecf20Sopenharmony_ci u8 second; 728c2ecf20Sopenharmony_ci u8 minute; 738c2ecf20Sopenharmony_ci u8 hour; 748c2ecf20Sopenharmony_ci u8 day; 758c2ecf20Sopenharmony_ci u8 month; 768c2ecf20Sopenharmony_ci u8 year; 778c2ecf20Sopenharmony_ci } b; 788c2ecf20Sopenharmony_ci u64 as_int; 798c2ecf20Sopenharmony_ci}; 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_cistruct el_subpacket { 828c2ecf20Sopenharmony_ci u16 length; /* length of header (in bytes) */ 838c2ecf20Sopenharmony_ci u16 class; /* header class and type... */ 848c2ecf20Sopenharmony_ci u16 type; /* ...determine content */ 858c2ecf20Sopenharmony_ci u16 revision; /* header revision */ 868c2ecf20Sopenharmony_ci union { 878c2ecf20Sopenharmony_ci struct { /* Class 5, Type 1 - System Error */ 888c2ecf20Sopenharmony_ci u32 frame_length; 898c2ecf20Sopenharmony_ci u32 frame_packet_count; 908c2ecf20Sopenharmony_ci } sys_err; 918c2ecf20Sopenharmony_ci struct { /* Class 5, Type 2 - System Event */ 928c2ecf20Sopenharmony_ci union el_timestamp timestamp; 938c2ecf20Sopenharmony_ci u32 frame_length; 948c2ecf20Sopenharmony_ci u32 frame_packet_count; 958c2ecf20Sopenharmony_ci } sys_event; 968c2ecf20Sopenharmony_ci struct { /* Class 5, Type 3 - Double Error Halt */ 978c2ecf20Sopenharmony_ci u16 halt_code; 988c2ecf20Sopenharmony_ci u16 reserved; 998c2ecf20Sopenharmony_ci union el_timestamp timestamp; 1008c2ecf20Sopenharmony_ci u32 frame_length; 1018c2ecf20Sopenharmony_ci u32 frame_packet_count; 1028c2ecf20Sopenharmony_ci } err_halt; 1038c2ecf20Sopenharmony_ci struct { /* Clasee 5, Type 19 - Logout Frame Header */ 1048c2ecf20Sopenharmony_ci u32 frame_length; 1058c2ecf20Sopenharmony_ci u32 frame_flags; 1068c2ecf20Sopenharmony_ci u32 cpu_offset; 1078c2ecf20Sopenharmony_ci u32 system_offset; 1088c2ecf20Sopenharmony_ci } logout_header; 1098c2ecf20Sopenharmony_ci struct { /* Class 12 - Regatta */ 1108c2ecf20Sopenharmony_ci u64 cpuid; 1118c2ecf20Sopenharmony_ci u64 data_start[1]; 1128c2ecf20Sopenharmony_ci } regatta_frame; 1138c2ecf20Sopenharmony_ci struct { /* Raw */ 1148c2ecf20Sopenharmony_ci u64 data_start[1]; 1158c2ecf20Sopenharmony_ci } raw; 1168c2ecf20Sopenharmony_ci } by_type; 1178c2ecf20Sopenharmony_ci}; 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ci#endif /* __ALPHA_ERR_COMMON_H */ 120