]> git.baikalelectronics.ru Git - kernel.git/commit
MIPS: Correct MIPS I FP sigcontext layout
authorMaciej W. Rozycki <macro@imgtec.com>
Mon, 31 Oct 2016 16:27:40 +0000 (16:27 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 4 Nov 2016 00:39:23 +0000 (01:39 +0100)
commit18aa6b048eb6a2958cb2c3ae58250b66d9d953d3
tree162847b9f1d0907db59eaecf607dd257193321e8
parent21128f06bda4aadeea8398e1cd44b1e7560141ec
MIPS: Correct MIPS I FP sigcontext layout

Complement commit 0d8bba5d8032 ("MIPS: Correct MIPS I FP context
layout") and correct the way Floating Point General registers are stored
in a signal context with MIPS I hardware.

Use the S.D and L.D assembly macros to have pairs of SWC1 instructions
and pairs of LWC1 instructions produced, respectively, in an arrangement
which makes the memory representation of floating-point data passed
compatible with that used by hardware SDC1 and LDC1 instructions, where
available, regardless of the hardware endianness used.  This matches the
layout used by r4k_fpu.S, ensuring run-time compatibility for MIPS I
software across all o32 hardware platforms.

Define an EX2 macro to handle exceptions from both hardware instructions
implicitly produced from S.D and L.D assembly macros.

Signed-off-by: Maciej W. Rozycki <macro@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/14477/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/r2300_fpu.S