path: root/arch/mips/kernel/Makefile
diff options
authorSteven J. Hill <sjhill@mips.com>2013-01-03 19:01:52 +0000
committerJohn Crispin <blogic@openwrt.org>2013-02-17 00:15:23 +0100
commit32a7ede673cd0be580f24d855099a8a5f195e80c (patch)
tree58529df42257c146094b0e3843be2a98ed18922b /arch/mips/kernel/Makefile
parentf8fa4811dbb264aef13f982e963389fd828b1ac0 (diff)
MIPS: dsp: Add assembler support for DSP ASEs.
Newer toolchains support the DSP and DSP Rev2 instructions. This patch performs a check for that support and adds compiler and assembler flags for only the files that need use those instructions. Signed-off-by: Steven J. Hill <sjhill@mips.com> Acked-by: Florian Fainelli <florian@openwrt.org> Patchwork: http://patchwork.linux-mips.org/patch/4752/ Signed-off-by: John Crispin <blogic@openwrt.org>
Diffstat (limited to 'arch/mips/kernel/Makefile')
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile
index 007c33d7371..6c17e1f3d0e 100644
--- a/arch/mips/kernel/Makefile
+++ b/arch/mips/kernel/Makefile
@@ -98,4 +98,35 @@ obj-$(CONFIG_HW_PERF_EVENTS) += perf_event_mipsxx.o
obj-$(CONFIG_JUMP_LABEL) += jump_label.o
+# DSP ASE supported for MIPS32 or MIPS64 Release 2 cores only. It is safe
+# to enable DSP assembler support here even if the MIPS Release 2 CPU we
+# are targetting does not support DSP because all code-paths making use of
+# it properly check that the running CPU *actually does* support these
+# instructions.
+ifeq ($(CONFIG_CPU_MIPSR2), y)
+# Check if assembler supports DSP ASE
+ifeq ($(call cc-option-yn,-mdsp), y)
+CFLAGS_DSP += -mdsp
+# Check if assembler supports DSP ASE Rev2
+ifeq ($(call cc-option-yn,-mdspr2), y)
+CFLAGS_DSP += -mdspr2
+CFLAGS_signal.o = $(CFLAGS_DSP)
+CFLAGS_signal32.o = $(CFLAGS_DSP)
+CFLAGS_process.o = $(CFLAGS_DSP)
+CFLAGS_branch.o = $(CFLAGS_DSP)
+CFLAGS_ptrace.o = $(CFLAGS_DSP)
CPPFLAGS_vmlinux.lds := $(KBUILD_CFLAGS)