summaryrefslogtreecommitdiffstats
path: root/arch/mips/Makefile
diff options
context:
space:
mode:
authorPaul Burton <paul.burton@imgtec.com>2014-01-27 15:23:09 +0000
committerRalf Baechle <ralf@linux-mips.org>2014-03-26 23:09:10 +0100
commit7f65afb97f279d9d02d0779384e8bd5ace064dea (patch)
treedc478d16bb3d470e5dcd4b167c969656ac7a874e /arch/mips/Makefile
parent02987633df7ba2f62967791dda816eb191d1add3 (diff)
downloadop-kernel-dev-7f65afb97f279d9d02d0779384e8bd5ace064dea.zip
op-kernel-dev-7f65afb97f279d9d02d0779384e8bd5ace064dea.tar.gz
MIPS: Add MSA register definitions & access
This patch introduces definitions for the MSA control registers and functions which allow access to both the control & vector registers. If the toolchain being used to build the kernel includes support for MSA then this patch will make use of that support & use MSA instructions directly. However toolchain support for MSA is very new & far from a point where it can be reasonably expected that everyone building the kernel uses a toolchain with support. Thus fallbacks using .word assembler directives are also provided for now as a temporary measure. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/6429/ Patchwork: https://patchwork.linux-mips.org/patch/6607/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/Makefile')
-rw-r--r--arch/mips/Makefile5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 9b8556d..1a5b403 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -119,6 +119,11 @@ cflags-$(CONFIG_CPU_MICROMIPS) += $(call cc-option,-mmicromips)
cflags-$(CONFIG_SB1XXX_CORELIS) += $(call cc-option,-mno-sched-prolog) \
-fno-omit-frame-pointer
+ifeq ($(CONFIG_CPU_HAS_MSA),y)
+toolchain-msa := $(call cc-option-yn,-mhard-float -mfp64 -mmsa)
+cflags-$(toolchain-msa) += -DTOOLCHAIN_SUPPORTS_MSA
+endif
+
#
# CPU-dependent compiler/assembler options for optimization.
#
OpenPOWER on IntegriCloud