From 901115431a80da9526df2e24f5305fb5a8e41be7 Mon Sep 17 00:00:00 2001 From: YunQiang Su Date: Mon, 16 Nov 2020 09:11:00 +0800 Subject: [PATCH] Use RELAXED ieee754 mode for Loongson-3 as 3A 4000 is 2008-only Forwarded: not-needed There are 2 mode of value of IEEE NaN hardcoded by CPU. Currently, our mipsel/mips64el port is in so-called lagacy mode. Loongson 3A 4000 is set as the so-called 2008 mode. To make Debian workable on Loongson 3A 4000, we need set the kerenl in RELAXED mode. https://web.archive.org/web/20180830093617/https://dmz-portal.mips.com/wiki/MIPS_ABI_-_NaN_Interlinking [bwh: Update for addition of EMULATED mode in 6.11] Gbp-Pq: Topic debian Gbp-Pq: Name mips-ieee754-relaxed.patch --- arch/mips/kernel/fpu-probe.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/mips/kernel/fpu-probe.c b/arch/mips/kernel/fpu-probe.c index 6bf3f19b1c3..404d7531205 100644 --- a/arch/mips/kernel/fpu-probe.c +++ b/arch/mips/kernel/fpu-probe.c @@ -144,7 +144,12 @@ static void cpu_set_fpu_2008(struct cpuinfo_mips *c) * IEEE 754 conformance mode to use. Affects the NaN encoding and the * ABS.fmt/NEG.fmt execution mode. */ -static enum { STRICT, EMULATED, LEGACY, STD2008, RELAXED } ieee754 = STRICT; +enum ieee754_mode { STRICT, EMULATED, LEGACY, STD2008, RELAXED }; +#ifdef CONFIG_CPU_LOONGSON64 +static enum ieee754_mode ieee754 = RELAXED; +#else +static enum ieee754_mode ieee754 = STRICT; +#endif /* * Set the IEEE 754 NaN encodings and the ABS.fmt/NEG.fmt execution modes -- 2.30.2