[SPARC64]: Revamp Spitfire error trap handling.
Current uncorrectable error handling was poor enough that the processor could just loop taking the same trap over and over again. Fix things up so that we at least get a log message and perhaps even some register state. In the process, much consolidation became possible, particularly with the correctable error handler. Prefix assembler and C function names with "spitfire" to indicate that these are for Ultra-I/II/IIi/IIe only. More work is needed to make these routines robust and featureful to the level of the Ultra-III error handlers. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -318,7 +318,7 @@ fill_fixup_dax:
|
||||
nop
|
||||
rdpr %pstate, %l1 ! Prepare to change globals.
|
||||
mov %g4, %o1 ! Setup args for
|
||||
mov %g5, %o2 ! final call to data_access_exception.
|
||||
mov %g5, %o2 ! final call to spitfire_data_access_exception.
|
||||
andn %l1, PSTATE_MM, %l1 ! We want to be in RMO
|
||||
|
||||
mov %g6, %o7 ! Stash away current.
|
||||
@@ -330,7 +330,7 @@ fill_fixup_dax:
|
||||
mov TSB_REG, %g1
|
||||
ldxa [%g1] ASI_IMMU, %g5
|
||||
#endif
|
||||
call data_access_exception
|
||||
call spitfire_data_access_exception
|
||||
add %sp, PTREGS_OFF, %o0
|
||||
|
||||
b,pt %xcc, rtrap
|
||||
@@ -391,7 +391,7 @@ window_dax_from_user_common:
|
||||
109: or %g7, %lo(109b), %g7
|
||||
mov %l4, %o1
|
||||
mov %l5, %o2
|
||||
call data_access_exception
|
||||
call spitfire_data_access_exception
|
||||
add %sp, PTREGS_OFF, %o0
|
||||
ba,pt %xcc, rtrap
|
||||
clr %l6
|
||||
|
Reference in New Issue
Block a user