Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bad50d79 authored by James Hogan's avatar James Hogan Committed by Ralf Baechle
Browse files

MIPS: Fix VZ probe gas errors with binutils <2.24



The VZ guest register & TLB access macros introduced in commit "MIPS:
Add guest CP0 accessors" use VZ ASE specific instructions that aren't
understood by versions of binutils prior to 2.24.

Add a check for whether the toolchain supports the -mvirt option,
similar to the MSA toolchain check, and implement the accessors using
.word if not.

Due to difficulty in converting compiler specified registers (e.g. "$3")
to usable numbers (e.g. "3") in inline asm, we need to copy to/from a
temporary register, namely the assembler temporary (at/$1), and specify
guest CP0 registers numerically in the gc0 macros.

Fixes: 7eb91118 ("MIPS: Add guest CP0 accessors")
Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
Reported-by: default avatarGuenter Roeck <linux@roeck-us.net>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-next@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/13255/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent fd716fca
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -200,6 +200,8 @@ ifeq ($(CONFIG_CPU_HAS_MSA),y)
toolchain-msa				:= $(call cc-option-yn,$(mips-cflags) -mhard-float -mfp64 -Wa$(comma)-mmsa)
cflags-$(toolchain-msa)			+= -DTOOLCHAIN_SUPPORTS_MSA
endif
toolchain-virt				:= $(call cc-option-yn,$(mips-cflags) -mvirt)
cflags-$(toolchain-virt)		+= -DTOOLCHAIN_SUPPORTS_VIRT

cflags-$(CONFIG_MIPS_COMPACT_BRANCHES_NEVER)	+= -mcompact-branches=never
cflags-$(CONFIG_MIPS_COMPACT_BRANCHES_OPTIMAL)	+= -mcompact-branches=optimal
+293 −180

File changed.

Preview size limit exceeded, changes collapsed.