diff options
Diffstat (limited to 'arch/sparc64/kernel/entry.S')
| -rw-r--r-- | arch/sparc64/kernel/entry.S | 27 | 
1 files changed, 26 insertions, 1 deletions
diff --git a/arch/sparc64/kernel/entry.S b/arch/sparc64/kernel/entry.S index 6f28bec0a9b..c15a3edcb82 100644 --- a/arch/sparc64/kernel/entry.S +++ b/arch/sparc64/kernel/entry.S @@ -597,7 +597,12 @@ __spitfire_cee_trap_continue:  1:	ba,pt		%xcc, etrap_irq  	 rd		%pc, %g7 -2:	mov		%l4, %o1 +2: +#ifdef CONFIG_TRACE_IRQFLAGS +	call	trace_hardirqs_off +	 nop +#endif +	mov		%l4, %o1  	mov		%l5, %o2  	call		spitfire_access_error  	 add		%sp, PTREGS_OFF, %o0 @@ -824,6 +829,10 @@ do_cheetah_plus_data_parity:  	wrpr		%g0, 15, %pil  	ba,pt		%xcc, etrap_irq  	 rd		%pc, %g7 +#ifdef CONFIG_TRACE_IRQFLAGS +	call		trace_hardirqs_off +	 nop +#endif  	mov		0x0, %o0  	call		cheetah_plus_parity_error  	 add		%sp, PTREGS_OFF, %o1 @@ -855,6 +864,10 @@ do_cheetah_plus_insn_parity:  	wrpr		%g0, 15, %pil  	ba,pt		%xcc, etrap_irq  	 rd		%pc, %g7 +#ifdef CONFIG_TRACE_IRQFLAGS +	call		trace_hardirqs_off +	 nop +#endif  	mov		0x1, %o0  	call		cheetah_plus_parity_error  	 add		%sp, PTREGS_OFF, %o1 @@ -1183,6 +1196,10 @@ c_fast_ecc:  	wrpr		%g0, 15, %pil  	ba,pt		%xcc, etrap_irq  	 rd		%pc, %g7 +#ifdef CONFIG_TRACE_IRQFLAGS +	call		trace_hardirqs_off +	 nop +#endif  	mov		%l4, %o1  	mov		%l5, %o2  	call		cheetah_fecc_handler @@ -1211,6 +1228,10 @@ c_cee:  	wrpr		%g0, 15, %pil  	ba,pt		%xcc, etrap_irq  	 rd		%pc, %g7 +#ifdef CONFIG_TRACE_IRQFLAGS +	call		trace_hardirqs_off +	 nop +#endif  	mov		%l4, %o1  	mov		%l5, %o2  	call		cheetah_cee_handler @@ -1239,6 +1260,10 @@ c_deferred:  	wrpr		%g0, 15, %pil  	ba,pt		%xcc, etrap_irq  	 rd		%pc, %g7 +#ifdef CONFIG_TRACE_IRQFLAGS +	call		trace_hardirqs_off +	 nop +#endif  	mov		%l4, %o1  	mov		%l5, %o2  	call		cheetah_deferred_handler  |