diff options
Diffstat (limited to 'arch/blackfin/mach-common/head.S')
-rw-r--r-- | arch/blackfin/mach-common/head.S | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/arch/blackfin/mach-common/head.S b/arch/blackfin/mach-common/head.S index f826f6b9f917..9c79dfea2a53 100644 --- a/arch/blackfin/mach-common/head.S +++ b/arch/blackfin/mach-common/head.S | |||
@@ -124,22 +124,22 @@ ENTRY(__start) | |||
124 | * below | 124 | * below |
125 | */ | 125 | */ |
126 | GET_PDA(p0, r0); | 126 | GET_PDA(p0, r0); |
127 | r6 = [p0 + PDA_RETX]; | 127 | r6 = [p0 + PDA_DF_RETX]; |
128 | p1.l = _init_saved_retx; | 128 | p1.l = _init_saved_retx; |
129 | p1.h = _init_saved_retx; | 129 | p1.h = _init_saved_retx; |
130 | [p1] = r6; | 130 | [p1] = r6; |
131 | 131 | ||
132 | r6 = [p0 + PDA_DCPLB]; | 132 | r6 = [p0 + PDA_DF_DCPLB]; |
133 | p1.l = _init_saved_dcplb_fault_addr; | 133 | p1.l = _init_saved_dcplb_fault_addr; |
134 | p1.h = _init_saved_dcplb_fault_addr; | 134 | p1.h = _init_saved_dcplb_fault_addr; |
135 | [p1] = r6; | 135 | [p1] = r6; |
136 | 136 | ||
137 | r6 = [p0 + PDA_ICPLB]; | 137 | r6 = [p0 + PDA_DF_ICPLB]; |
138 | p1.l = _init_saved_icplb_fault_addr; | 138 | p1.l = _init_saved_icplb_fault_addr; |
139 | p1.h = _init_saved_icplb_fault_addr; | 139 | p1.h = _init_saved_icplb_fault_addr; |
140 | [p1] = r6; | 140 | [p1] = r6; |
141 | 141 | ||
142 | r6 = [p0 + PDA_SEQSTAT]; | 142 | r6 = [p0 + PDA_DF_SEQSTAT]; |
143 | p1.l = _init_saved_seqstat; | 143 | p1.l = _init_saved_seqstat; |
144 | p1.h = _init_saved_seqstat; | 144 | p1.h = _init_saved_seqstat; |
145 | [p1] = r6; | 145 | [p1] = r6; |
@@ -153,6 +153,8 @@ ENTRY(__start) | |||
153 | 153 | ||
154 | #ifdef CONFIG_EARLY_PRINTK | 154 | #ifdef CONFIG_EARLY_PRINTK |
155 | call _init_early_exception_vectors; | 155 | call _init_early_exception_vectors; |
156 | r0 = (EVT_IVHW | EVT_IRPTEN | EVT_EVX | EVT_NMI | EVT_RST | EVT_EMU); | ||
157 | sti r0; | ||
156 | #endif | 158 | #endif |
157 | 159 | ||
158 | r0 = 0 (x); | 160 | r0 = 0 (x); |
@@ -212,12 +214,21 @@ ENTRY(__start) | |||
212 | [p0] = p1; | 214 | [p0] = p1; |
213 | csync; | 215 | csync; |
214 | 216 | ||
217 | #ifdef CONFIG_EARLY_PRINTK | ||
218 | r0 = (EVT_IVG15 | EVT_IVHW | EVT_IRPTEN | EVT_EVX | EVT_NMI | EVT_RST | EVT_EMU) (z); | ||
219 | #else | ||
215 | r0 = EVT_IVG15 (z); | 220 | r0 = EVT_IVG15 (z); |
221 | #endif | ||
216 | sti r0; | 222 | sti r0; |
217 | 223 | ||
218 | raise 15; | 224 | raise 15; |
225 | #ifdef CONFIG_EARLY_PRINTK | ||
226 | p0.l = _early_trap; | ||
227 | p0.h = _early_trap; | ||
228 | #else | ||
219 | p0.l = .LWAIT_HERE; | 229 | p0.l = .LWAIT_HERE; |
220 | p0.h = .LWAIT_HERE; | 230 | p0.h = .LWAIT_HERE; |
231 | #endif | ||
221 | reti = p0; | 232 | reti = p0; |
222 | #if ANOMALY_05000281 | 233 | #if ANOMALY_05000281 |
223 | nop; nop; nop; | 234 | nop; nop; nop; |