diff options
Diffstat (limited to 'arch/mn10300/kernel/entry.S')
-rw-r--r-- | arch/mn10300/kernel/entry.S | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/mn10300/kernel/entry.S b/arch/mn10300/kernel/entry.S index b82ce7b47fcb..355f68176771 100644 --- a/arch/mn10300/kernel/entry.S +++ b/arch/mn10300/kernel/entry.S | |||
@@ -251,6 +251,10 @@ double_fault_loop: | |||
251 | ENTRY(raw_bus_error) | 251 | ENTRY(raw_bus_error) |
252 | add -4,sp | 252 | add -4,sp |
253 | mov d0,(sp) | 253 | mov d0,(sp) |
254 | #if defined(CONFIG_ERRATUM_NEED_TO_RELOAD_MMUCTR) | ||
255 | mov (MMUCTR),d0 | ||
256 | mov d0,(MMUCTR) | ||
257 | #endif | ||
254 | mov (BCBERR),d0 # what | 258 | mov (BCBERR),d0 # what |
255 | btst BCBERR_BEMR_DMA,d0 # see if it was an external bus error | 259 | btst BCBERR_BEMR_DMA,d0 # see if it was an external bus error |
256 | beq __common_exception_aux # it wasn't | 260 | beq __common_exception_aux # it wasn't |
@@ -282,6 +286,10 @@ ENTRY(nmi_handler) | |||
282 | ENTRY(__common_exception) | 286 | ENTRY(__common_exception) |
283 | add -4,sp | 287 | add -4,sp |
284 | mov d0,(sp) | 288 | mov d0,(sp) |
289 | #if defined(CONFIG_ERRATUM_NEED_TO_RELOAD_MMUCTR) | ||
290 | mov (MMUCTR),d0 | ||
291 | mov d0,(MMUCTR) | ||
292 | #endif | ||
285 | 293 | ||
286 | __common_exception_aux: | 294 | __common_exception_aux: |
287 | mov (TBR),d0 | 295 | mov (TBR),d0 |