diff --git a/debian/changelog b/debian/changelog index 99e678d28..b9cc2539e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,7 @@ linux (3.16~rc6-1~exp2) UNRELEASED; urgency=medium [ Aurelien Jarno ] * [x86] vfio: Enable VFIO_PCI_VGA. * udeb: rename crc32c.ko into crc32c_generic.ko in crc-modules. + * [mips*] Fix FP emulation. [ Bastian Blank ] * [x86] Enable Xen PVH support. diff --git a/debian/patches/bugfix/mips/MIPS-math-emu-cp1emu-Fix-typo-when-returning-to-regi.patch b/debian/patches/bugfix/mips/MIPS-math-emu-cp1emu-Fix-typo-when-returning-to-regi.patch new file mode 100644 index 000000000..43a123cab --- /dev/null +++ b/debian/patches/bugfix/mips/MIPS-math-emu-cp1emu-Fix-typo-when-returning-to-regi.patch @@ -0,0 +1,42 @@ +From: Rob Kendrick +Date: Wed, 23 Jul 2014 13:41:58 +0100 +Subject: MIPS: math-emu: cp1emu: Fix typo when returning to register file +Origin: https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=8476cba1198d0869467d1d7bf0d5f8808a724986 + +The commit 08a07904e182 (MIPS: math-emu: Remove most ifdefery) in +v3.16-rc1 switched from build time to runtime detection for the CPU ISA +level. + +However, along the way, a typo was introduced in the code path +to return the value to the register file. Previously, the +MIPSInst_FD macro was used but the above commit switched to +MIPSInst_RT leading to regressions. + +Link: http://www.linux-mips.org/archives/linux-mips/2014-07/msg00484.html +Reported-by: Rob Kendrick +Reviewed-by: Paul Burton +Signed-off-by: Markos Chandras +Signed-off-by: Rob Kendrick +Tested-by: Aurelien Jarno +Patchwork: http://patchwork.linux-mips.org/patch/7448/ +Signed-off-by: James Hogan +--- + arch/mips/math-emu/cp1emu.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c +index 736c17a..bf0fc6b 100644 +--- a/arch/mips/math-emu/cp1emu.c ++++ b/arch/mips/math-emu/cp1emu.c +@@ -1827,7 +1827,7 @@ dcopuop: + case -1: + + if (cpu_has_mips_4_5_r) +- cbit = fpucondbit[MIPSInst_RT(ir) >> 2]; ++ cbit = fpucondbit[MIPSInst_FD(ir) >> 2]; + else + cbit = FPU_CSR_COND; + if (rv.w) +-- +1.7.10.4 + diff --git a/debian/patches/series b/debian/patches/series index f55e392ab..ca635537e 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -54,6 +54,7 @@ bugfix/mips/disable-advansys.patch bugfix/arm/ixp4xx_iobe.patch bugfix/m68k/ethernat-kconfig.patch bugfix/mips/MIPS-ZBOOT-add-missing-linux-string.h-include.patch +bugfix/mips/MIPS-math-emu-cp1emu-Fix-typo-when-returning-to-regi.patch # Miscellaneous bug fixes bugfix/all/misc-bmp085-Enable-building-as-a-module.patch