1 /* SPDX-License-Identifier: GPL-2.0 */
6 * This is the logout header that should be common to all platforms
7 * (assuming they are running OSF/1 PALcode, I guess).
10 unsigned int size
; /* size in bytes of logout area */
11 unsigned int sbz1
: 30; /* should be zero */
12 unsigned int err2
: 1; /* second error */
13 unsigned int retry
: 1; /* retry flag */
14 unsigned int proc_offset
; /* processor-specific offset */
15 unsigned int sys_offset
; /* system-specific offset */
16 unsigned int code
; /* machine check code */
17 unsigned int frame_rev
; /* frame revision */
20 /* Machine Check Frame for uncorrectable errors (Large format)
21 * --- This is used to log uncorrectable errors such as
22 * double bit ECC errors.
23 * --- These errors are detected by both processor and systems.
25 struct el_common_EV5_uncorrectable_mcheck
{
26 unsigned long shadow
[8]; /* Shadow reg. 8-14, 25 */
27 unsigned long paltemp
[24]; /* PAL TEMP REGS. */
28 unsigned long exc_addr
; /* Address of excepting instruction*/
29 unsigned long exc_sum
; /* Summary of arithmetic traps. */
30 unsigned long exc_mask
; /* Exception mask (from exc_sum). */
31 unsigned long pal_base
; /* Base address for PALcode. */
32 unsigned long isr
; /* Interrupt Status Reg. */
33 unsigned long icsr
; /* CURRENT SETUP OF EV5 IBOX */
34 unsigned long ic_perr_stat
; /* I-CACHE Reg. <11> set Data parity
36 unsigned long dc_perr_stat
; /* D-CACHE error Reg. Bits set to 1:
37 <2> Data error in bank 0
38 <3> Data error in bank 1
39 <4> Tag error in bank 0
40 <5> Tag error in bank 1 */
41 unsigned long va
; /* Effective VA of fault or miss. */
42 unsigned long mm_stat
; /* Holds the reason for D-stream
43 fault or D-cache parity errors */
44 unsigned long sc_addr
; /* Address that was being accessed
45 when EV5 detected Secondary cache
47 unsigned long sc_stat
; /* Helps determine if the error was
48 TAG/Data parity(Secondary Cache)*/
49 unsigned long bc_tag_addr
; /* Contents of EV5 BC_TAG_ADDR */
50 unsigned long ei_addr
; /* Physical address of any transfer
51 that is logged in EV5 EI_STAT */
52 unsigned long fill_syndrome
; /* For correcting ECC errors. */
53 unsigned long ei_stat
; /* Helps identify reason of any
54 processor uncorrectable error
55 at its external interface. */
56 unsigned long ld_lock
; /* Contents of EV5 LD_LOCK register*/
59 struct el_common_EV6_mcheck
{
60 unsigned int FrameSize
; /* Bytes, including this field */
61 unsigned int FrameFlags
; /* <31> = Retry, <30> = Second Error */
62 unsigned int CpuOffset
; /* Offset to CPU-specific info */
63 unsigned int SystemOffset
; /* Offset to system-specific info */
64 unsigned int MCHK_Code
;
65 unsigned int MCHK_Frame_Rev
;
66 unsigned long I_STAT
; /* EV6 Internal Processor Registers */
67 unsigned long DC_STAT
; /* (See the 21264 Spec) */
69 unsigned long DC1_SYNDROME
;
70 unsigned long DC0_SYNDROME
;
73 unsigned long MM_STAT
;
74 unsigned long EXC_ADDR
;
77 unsigned long RESERVED0
;
78 unsigned long PAL_BASE
;
84 #endif /* __ALPHA_MCE_H */