diff options
Diffstat (limited to 'arch/sparc/kernel/wof.S')
-rw-r--r-- | arch/sparc/kernel/wof.S | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/arch/sparc/kernel/wof.S b/arch/sparc/kernel/wof.S index 4c2de3cf309b..28a7bc69f82b 100644 --- a/arch/sparc/kernel/wof.S +++ b/arch/sparc/kernel/wof.S | |||
@@ -332,24 +332,30 @@ spwin_srmmu_stackchk: | |||
332 | mov AC_M_SFSR, %glob_tmp | 332 | mov AC_M_SFSR, %glob_tmp |
333 | 333 | ||
334 | /* Clear the fault status and turn on the no_fault bit. */ | 334 | /* Clear the fault status and turn on the no_fault bit. */ |
335 | lda [%glob_tmp] ASI_M_MMUREGS, %g0 ! eat SFSR | 335 | LEON_PI(lda [%glob_tmp] ASI_LEON_MMUREGS, %g0) ! eat SFSR |
336 | SUN_PI_(lda [%glob_tmp] ASI_M_MMUREGS, %g0) ! eat SFSR | ||
336 | 337 | ||
337 | lda [%g0] ASI_M_MMUREGS, %glob_tmp ! read MMU control | 338 | LEON_PI(lda [%g0] ASI_LEON_MMUREGS, %glob_tmp) ! read MMU control |
339 | SUN_PI_(lda [%g0] ASI_M_MMUREGS, %glob_tmp) ! read MMU control | ||
338 | or %glob_tmp, 0x2, %glob_tmp ! or in no_fault bit | 340 | or %glob_tmp, 0x2, %glob_tmp ! or in no_fault bit |
339 | sta %glob_tmp, [%g0] ASI_M_MMUREGS ! set it | 341 | LEON_PI(sta %glob_tmp, [%g0] ASI_LEON_MMUREGS) ! set it |
342 | SUN_PI_(sta %glob_tmp, [%g0] ASI_M_MMUREGS) ! set it | ||
340 | 343 | ||
341 | /* Dump the registers and cross fingers. */ | 344 | /* Dump the registers and cross fingers. */ |
342 | STORE_WINDOW(sp) | 345 | STORE_WINDOW(sp) |
343 | 346 | ||
344 | /* Clear the no_fault bit and check the status. */ | 347 | /* Clear the no_fault bit and check the status. */ |
345 | andn %glob_tmp, 0x2, %glob_tmp | 348 | andn %glob_tmp, 0x2, %glob_tmp |
346 | sta %glob_tmp, [%g0] ASI_M_MMUREGS | 349 | LEON_PI(sta %glob_tmp, [%g0] ASI_LEON_MMUREGS) |
350 | SUN_PI_(sta %glob_tmp, [%g0] ASI_M_MMUREGS) | ||
347 | 351 | ||
348 | mov AC_M_SFAR, %glob_tmp | 352 | mov AC_M_SFAR, %glob_tmp |
349 | lda [%glob_tmp] ASI_M_MMUREGS, %g0 | 353 | LEON_PI(lda [%glob_tmp] ASI_LEON_MMUREGS, %g0) |
354 | SUN_PI_(lda [%glob_tmp] ASI_M_MMUREGS, %g0) | ||
350 | 355 | ||
351 | mov AC_M_SFSR, %glob_tmp | 356 | mov AC_M_SFSR, %glob_tmp |
352 | lda [%glob_tmp] ASI_M_MMUREGS, %glob_tmp | 357 | LEON_PI(lda [%glob_tmp] ASI_LEON_MMUREGS, %glob_tmp) |
358 | SUN_PI_(lda [%glob_tmp] ASI_M_MMUREGS, %glob_tmp) | ||
353 | andcc %glob_tmp, 0x2, %g0 ! did we fault? | 359 | andcc %glob_tmp, 0x2, %g0 ! did we fault? |
354 | be,a spwin_finish_up + 0x4 ! cool beans, success | 360 | be,a spwin_finish_up + 0x4 ! cool beans, success |
355 | restore %g0, %g0, %g0 | 361 | restore %g0, %g0, %g0 |