aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/wof.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc/kernel/wof.S')
-rw-r--r--arch/sparc/kernel/wof.S18
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 335LEON_PI(lda [%glob_tmp] ASI_LEON_MMUREGS, %g0) ! eat SFSR
336SUN_PI_(lda [%glob_tmp] ASI_M_MMUREGS, %g0) ! eat SFSR
336 337
337 lda [%g0] ASI_M_MMUREGS, %glob_tmp ! read MMU control 338LEON_PI(lda [%g0] ASI_LEON_MMUREGS, %glob_tmp) ! read MMU control
339SUN_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 341LEON_PI(sta %glob_tmp, [%g0] ASI_LEON_MMUREGS) ! set it
342SUN_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 349LEON_PI(sta %glob_tmp, [%g0] ASI_LEON_MMUREGS)
350SUN_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 353LEON_PI(lda [%glob_tmp] ASI_LEON_MMUREGS, %g0)
354SUN_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 357LEON_PI(lda [%glob_tmp] ASI_LEON_MMUREGS, %glob_tmp)
358SUN_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