Go to the documentation of this file.
10 #include <asm/setup.h>
15 #define LFLUSH_I_AND_D 0x00000808
25 #define SAVE_ALL_SYS save_context_no_interrupts
29 # define LOAD_IPIPE_IPEND \
34 # define LOAD_IPIPE_IPEND
40 #if ANOMALY_05000283 || ANOMALY_05000315
41 # define ANOMALY_283_315_WORKAROUND(preg, dreg) \
43 preg.h = HI(CHIPID); \
44 preg.l = LO(CHIPID); \
49 # define ANOMALY_283_315_WORKAROUND(preg, dreg)
52 #ifndef CONFIG_EXACT_HWERR
56 # ifndef CONFIG_DEBUG_KERNEL
57 #define INTERRUPT_ENTRY(N) \
61 [--sp] = (R7:0,P5:0); \
64 jump __common_int_entry;
66 #define INTERRUPT_ENTRY(N) \
70 [--sp] = (R7:0,P5:0); \
76 jump __common_int_entry;
82 #define TIMER_INTERRUPT_ENTRY(N) \
86 [--sp] = (R7:0,P5:0); \
91 jump __common_int_entry;
108 #define INTERRUPT_ENTRY(N) \
112 [--sp] = (R7:0,P5:0); \
114 ANOMALY_283_315_WORKAROUND(p0, r0) \
121 CC = BITTST(R0, EVT_IVHW_P); \
129 jump __common_int_entry; \
132 (R7:0, P5:0) = [SP++]; \
138 #define TIMER_INTERRUPT_ENTRY(N) \
142 [--sp] = (R7:0,P5:0); \
144 ANOMALY_283_315_WORKAROUND(p0, r0) \
151 CC = BITTST(R0, EVT_IVHW_P); \
158 jump __common_int_entry; \
161 (R7:0, P5:0) = [SP++]; \
169 #define SAVE_CONTEXT_SYSCALL save_context_syscall
170 #define SAVE_CONTEXT save_context_with_interrupts
171 #define SAVE_CONTEXT_CPLB save_context_cplb
173 #define RESTORE_ALL_SYS restore_context_no_interrupts
174 #define RESTORE_CONTEXT restore_context_with_interrupts
175 #define RESTORE_CONTEXT_CPLB restore_context_cplb