Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d6e41525 authored by David Daney's avatar David Daney Committed by Ralf Baechle
Browse files

MIPS: OCTEON: Fix FP context save.



It wasn't being saved on task switch.

Signed-off-by: default avatarDavid Daney <david.daney@cavium.com>
Signed-off-by: default avatarAleksey Makarov <aleksey.makarov@auriga.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/8934/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent ac655fb7
Loading
Loading
Loading
Loading
+7 −12
Original line number Diff line number Diff line
@@ -31,15 +31,11 @@
	/*
	 * check if we need to save FPU registers
	 */
	.set push
	.set noreorder
	beqz	a3, 1f
	 PTR_L	t3, TASK_THREAD_INFO(a0)
	LONG_L	t0, TI_FLAGS(t3)
	li	t1, _TIF_USEDFPU
	and	t2, t0, t1
	beqz	t2, 1f
	nor	t1, zero, t1

	and	t0, t0, t1
	LONG_S	t0, TI_FLAGS(t3)
	.set pop

	/*
	 * clear saved user stack CU1 bit
@@ -57,14 +53,13 @@
1:

	/* check if we need to save COP2 registers */
	PTR_L	t2, TASK_THREAD_INFO(a0)
	LONG_L	t0, ST_OFF(t2)
	LONG_L	t0, ST_OFF(t3)
	bbit0	t0, 30, 1f

	/* Disable COP2 in the stored process state */
	li	t1, ST0_CU2
	xor	t0, t1
	LONG_S	t0, ST_OFF(t2)
	LONG_S	t0, ST_OFF(t3)

	/* Enable COP2 so we can save it */
	mfc0	t0, CP0_STATUS