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

Commit 8fe2c547 authored by Paul Burton's avatar Paul Burton Committed by Ralf Baechle
Browse files

MIPS: CPS: Set Status.KX on entry for MIPS64 kernels



If the kernel may make use of 64 bit addresses outside of the
compatibility address space then we need to set KX such that those
accesses can succeed. Do so for MIPS64 kernels.

Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: Markos Chandras <markos.chandras@imgtec.com>
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/11201/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent b85ff244
Loading
Loading
Loading
Loading
+7 −1
Original line number Original line Diff line number Diff line
@@ -25,6 +25,12 @@


.set noreorder
.set noreorder


#ifdef CONFIG_64BIT
# define STATUS_BITDEPS		ST0_KX
#else
# define STATUS_BITDEPS		0
#endif

	/*
	/*
	 * Set dest to non-zero if the core supports the MT ASE, else zero. If
	 * Set dest to non-zero if the core supports the MT ASE, else zero. If
	 * MT is not supported then branch to nomt.
	 * MT is not supported then branch to nomt.
@@ -71,7 +77,7 @@ not_nmi:
	mtc0	t0, CP0_CAUSE
	mtc0	t0, CP0_CAUSE


	/* Setup Status */
	/* Setup Status */
	li	t0, ST0_CU1 | ST0_CU0 | ST0_BEV
	li	t0, ST0_CU1 | ST0_CU0 | ST0_BEV | STATUS_BITDEPS
	mtc0	t0, CP0_STATUS
	mtc0	t0, CP0_STATUS


	/*
	/*