]> git.baikalelectronics.ru Git - kernel.git/commit
MIPS: Push .set mips64r* into the functions needing it
authorPaul Burton <paul.burton@imgtec.com>
Fri, 27 Mar 2015 17:00:03 +0000 (17:00 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Fri, 27 Mar 2015 18:42:42 +0000 (19:42 +0100)
commit1fef8a9bc0a35192b0f600dfba27f0c10c8874a6
treec65e9c9c34001065e17b44e5b60baa5f17ef4602
parentfc6f9f2f96bca18dcd0fe27be947176b08748d32
MIPS: Push .set mips64r* into the functions needing it

The {save,restore}_fp_context{,32} functions require that the assembler
allows the use of sdc instructions on any FP register, and this is
acomplished by setting the arch to mips64r2 or mips64r6
(using MIPS_ISA_ARCH_LEVEL_RAW).

However this has the effect of enabling the assembler to use mips64
instructions in the expansion of pseudo-instructions. This was done in
the (now-reverted) commit 9fea6746e1bb "MIPS: Save/restore MSA context
around signals" which led to my mistakenly believing that there was an
assembler bug, when in reality the assembler was just emitting mips64
instructions. Avoid the issue for future commits which will add code to
r4k_fpu.S by pushing the .set MIPS_ISA_ARCH_LEVEL_RAW directives into
the functions that require it, and remove the spurious assertion
declaring the assembler bug.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
[james.hogan@imgtec.com: Rebase on v4.0-rc1 and reword commit message to
 reflect use of MIPS_ISA_ARCH_LEVEL_RAW]
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/9612/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/asmmacro.h
arch/mips/kernel/r4k_fpu.S