[linux] 01/01: [mips*] Emulate unaligned LDXC1 and SDXC1 instructions.

debian-kernel at lists.debian.org debian-kernel at lists.debian.org
Mon May 16 14:11:40 UTC 2016


This is an automated email from the git hooks/post-receive script.

aurel32 pushed a commit to branch jessie
in repository linux.

commit 0f3f0f70c021ef34399eaf910f31c58e48ab5ffc
Author: Aurelien Jarno <aurelien at aurel32.net>
Date:   Mon May 16 15:53:34 2016 +0200

    [mips*] Emulate unaligned LDXC1 and SDXC1 instructions.
---
 debian/changelog                                   |  3 ++
 ...ulation-for-unaligned-LSDXC1-instructions.patch | 33 ++++++++++++++++++++++
 debian/patches/series                              |  1 +
 3 files changed, 37 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 35c35a9..98964b3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -324,6 +324,9 @@ linux (3.16.35-1) UNRELEASED; urgency=medium
     - aufs: implement new f_op->setfl()
     - fs: Fix ABI change for aufs F_SETFL fix
 
+  [ Aurelien Jarno ]
+  * [mips*] Emulate unaligned LDXC1 and SDXC1 instructions.
+
  -- Ben Hutchings <ben at decadent.org.uk>  Sat, 30 Apr 2016 22:07:22 +0200
 
 linux (3.16.7-ckt25-2) jessie; urgency=medium
diff --git a/debian/patches/bugfix/mips/MIPS-Allow-emulation-for-unaligned-LSDXC1-instructions.patch b/debian/patches/bugfix/mips/MIPS-Allow-emulation-for-unaligned-LSDXC1-instructions.patch
new file mode 100644
index 0000000..9517f31
--- /dev/null
+++ b/debian/patches/bugfix/mips/MIPS-Allow-emulation-for-unaligned-LSDXC1-instructions.patch
@@ -0,0 +1,33 @@
+From: Paul Burton <paul.burton at imgtec.com>
+Date: Thu, 21 Apr 2016 12:25:38 +0100
+Subject: MIPS: Allow emulation for unaligned [LS]DXC1 instructions
+Origin: https://patchwork.linux-mips.org/patch/13143/
+
+If an address error exception occurs for a LDXC1 or SDXC1 instruction,
+within the cop1x opcode space, allow it to be passed through to the FPU
+emulator rather than resulting in a SIGILL. This causes LDXC1 & SDXC1 to
+be handled in a manner consistent with the more common LDC1 & SDC1
+instructions.
+
+Signed-off-by: Paul Burton <paul.burton at imgtec.com>
+Cc: Aurelien Jarno <aurelien at aurel32.net>
+---
+ arch/mips/kernel/unaligned.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arch/mips/kernel/unaligned.c b/arch/mips/kernel/unaligned.c
+index 5c62065..28b3af7 100644
+--- a/arch/mips/kernel/unaligned.c
++++ b/arch/mips/kernel/unaligned.c
+@@ -1191,6 +1191,7 @@ static void emulate_load_store_insn(struct pt_regs *regs,
+ 	case ldc1_op:
+ 	case swc1_op:
+ 	case sdc1_op:
++	case cop1x_op:
+ 		die_if_kernel("Unaligned FP access in kernel code", regs);
+ 		BUG_ON(!used_math());
+ 
+-- 
+2.8.0
+
+
diff --git a/debian/patches/series b/debian/patches/series
index 066271e..d2381a8 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -89,6 +89,7 @@ bugfix/mips/mips-normalise-code-flow-in-the-cpu-exception-handle.patch
 bugfix/mips/mips-correct-fp-isa-requirements.patch
 bugfix/mips/mips-math-emu-correct-delay-slot-exception-propagation.patch
 bugfix/mips/mips-math-emu-correctly-handle-nop-emulation.patch
+bugfix/mips/MIPS-Allow-emulation-for-unaligned-LSDXC1-instructions.patch
 bugfix/x86/i2c-i801-Use-wait_event_timeout-to-wait-for-interrup.patch
 bugfix/x86/kvm-x86-rename-update_db_bp_intercept-to-update_bp_i.patch
 bugfix/x86/kvm-x86-bit-ops-emulation-ignores-offset-on-64-bit.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git



More information about the Kernel-svn-changes mailing list