Commit 31e1b3ef authored by YuanJunQing's avatar YuanJunQing Committed by Thomas Bogendoerfer
Browse files

MIPS: Fix IRQ tracing when call handle_fpe() and handle_msa_fpe()



Register "a1" is unsaved in this function,
 when CONFIG_TRACE_IRQFLAGS is enabled,
 the TRACE_IRQS_OFF macro will call trace_hardirqs_off(),
 and this may change register "a1".
 The changed register "a1" as argument will be send
 to do_fpe() and do_msa_fpe().

Signed-off-by: default avatarYuanJunQing <yuanjunqing66@163.com>
Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
parent 273b5fa0
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -476,20 +476,20 @@ NESTED(nmi_handler, PT_SIZE, sp)
	.endm

	.macro	__build_clear_fpe
	CLI
	TRACE_IRQS_OFF
	.set	push
	/* gas fails to assemble cfc1 for some archs (octeon).*/ \
	.set	mips1
	SET_HARDFLOAT
	cfc1	a1, fcr31
	.set	pop
	CLI
	TRACE_IRQS_OFF
	.endm

	.macro	__build_clear_msa_fpe
	_cfcmsa	a1, MSA_CSR
	CLI
	TRACE_IRQS_OFF
	_cfcmsa	a1, MSA_CSR
	.endm

	.macro	__build_clear_ade