diff options
author | Maciej W. Rozycki <macro@linux-mips.org> | 2005-06-22 16:56:26 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2005-10-29 14:31:30 -0400 |
commit | 64dac503e8265007ea5c53b4d6bf42488a8a8d7a (patch) | |
tree | d086e5ddd6d36118b476ed0fe01091d9d4d70cec /include/asm-mips/dec/kn02xa.h | |
parent | 3b2396d972ce030e942fef9fcbea1e411b1a62db (diff) |
System-specific handling of bus errors for DECstation variations
supporting parity errors only for memory (Pmax/3min/Maxine).
Fixes for resources decoded by the KN04/KN05 MB ASIC. Additional
clean-ups for the ECC handler.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include/asm-mips/dec/kn02xa.h')
-rw-r--r-- | include/asm-mips/dec/kn02xa.h | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/include/asm-mips/dec/kn02xa.h b/include/asm-mips/dec/kn02xa.h index f6bdf730d9fb..3c25a3346f3f 100644 --- a/include/asm-mips/dec/kn02xa.h +++ b/include/asm-mips/dec/kn02xa.h | |||
@@ -9,7 +9,7 @@ | |||
9 | * | 9 | * |
10 | * Copyright (C) 1995,1996 by Paul M. Antoine, some code and definitions | 10 | * Copyright (C) 1995,1996 by Paul M. Antoine, some code and definitions |
11 | * are by courtesy of Chris Fraser. | 11 | * are by courtesy of Chris Fraser. |
12 | * Copyright (C) 2000, 2002, 2003 Maciej W. Rozycki | 12 | * Copyright (C) 2000, 2002, 2003, 2005 Maciej W. Rozycki |
13 | * | 13 | * |
14 | * These are addresses which have to be known early in the boot process. | 14 | * These are addresses which have to be known early in the boot process. |
15 | * For other addresses refer to tc.h, ioasic_addrs.h and friends. | 15 | * For other addresses refer to tc.h, ioasic_addrs.h and friends. |
@@ -52,8 +52,13 @@ | |||
52 | #define KN02XA_MER_PAGERR (1<<16) /* 2k page boundary error */ | 52 | #define KN02XA_MER_PAGERR (1<<16) /* 2k page boundary error */ |
53 | #define KN02XA_MER_TRANSERR (1<<15) /* transfer length error */ | 53 | #define KN02XA_MER_TRANSERR (1<<15) /* transfer length error */ |
54 | #define KN02XA_MER_PARDIS (1<<14) /* parity error disable */ | 54 | #define KN02XA_MER_PARDIS (1<<14) /* parity error disable */ |
55 | #define KN02XA_MER_RES_12 (0x3<<12) /* unused */ | 55 | #define KN02XA_MER_SIZE (1<<13) /* r/o mirror of MSR_SIZE */ |
56 | #define KN02XA_MER_BYTERR (0xf<<8) /* byte lane error bitmask */ | 56 | #define KN02XA_MER_RES_12 (1<<12) /* unused */ |
57 | #define KN02XA_MER_BYTERR (0xf<<8) /* byte lane error bitmask: */ | ||
58 | #define KN02XA_MER_BYTERR_3 (0x8<<8) /* byte lane #3 */ | ||
59 | #define KN02XA_MER_BYTERR_2 (0x4<<8) /* byte lane #2 */ | ||
60 | #define KN02XA_MER_BYTERR_1 (0x2<<8) /* byte lane #1 */ | ||
61 | #define KN02XA_MER_BYTERR_0 (0x1<<8) /* byte lane #0 */ | ||
57 | #define KN02XA_MER_RES_0 (0xff<<0) /* unused */ | 62 | #define KN02XA_MER_RES_0 (0xff<<0) /* unused */ |
58 | 63 | ||
59 | /* | 64 | /* |
@@ -72,4 +77,17 @@ | |||
72 | #define KN02XA_EAR_ADDRESS (0x7ffffff<<2) /* address involved */ | 77 | #define KN02XA_EAR_ADDRESS (0x7ffffff<<2) /* address involved */ |
73 | #define KN02XA_EAR_RES_0 (0x3<<0) /* unused */ | 78 | #define KN02XA_EAR_RES_0 (0x3<<0) /* unused */ |
74 | 79 | ||
80 | |||
81 | #ifndef __ASSEMBLY__ | ||
82 | |||
83 | #include <linux/interrupt.h> | ||
84 | |||
85 | struct pt_regs; | ||
86 | |||
87 | extern void dec_kn02xa_be_init(void); | ||
88 | extern int dec_kn02xa_be_handler(struct pt_regs *regs, int is_fixup); | ||
89 | extern irqreturn_t dec_kn02xa_be_interrupt(int irq, void *dev_id, | ||
90 | struct pt_regs *regs); | ||
91 | #endif | ||
92 | |||
75 | #endif /* __ASM_MIPS_DEC_KN02XA_H */ | 93 | #endif /* __ASM_MIPS_DEC_KN02XA_H */ |