Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MIPS: Loongson 2F: Enable fixups of the latest binutils

With the "Fixups of Loongson2F" patch [1] having been applied to binutils
for binutils 2.20.1 we now can use it's time to enable the options provided
by the patch to compile the kernel.

Without these fixups, the system may hang if the erratum is triggered.

For more information on these fixups please refer to the following
references.

[1] "Fixups of Loongson2F" patch for binutils(actually for gas)
http://sourceware.org/ml/binutils/2009-11/msg00387.html
[2] Chapter 15 of "Loongson2F User Manual"(Chinese Version)
http://www.loongson.cn/uploadfile/file/200808211
[3] Chapter 15 of the English version Loongson 2F User Manual
http://groups.google.com.hk/group/loongson-dev/msg/e0d2e220958f10a6?dmode=source

Signed-off-by: Zhang Le <r0bertz@gentoo.org>
Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
Cc: Zhang Le <r0bertz@gentoo.org>
Cc: linux-mips <linux-mips@linux-mips.org>
Patchwork: http://patchwork.linux-mips.org/patch/1106/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

authored by

Wu Zhangjin and committed by
Ralf Baechle
8bbda428 622844bf

+13
+13
arch/mips/Makefile
··· 136 136 $(call cc-option,-march=loongson2e,-march=r4600) 137 137 cflags-$(CONFIG_CPU_LOONGSON2F) += \ 138 138 $(call cc-option,-march=loongson2f,-march=r4600) 139 + # enable the workarounds for loongson2f 140 + ifdef CONFIG_CPU_LOONGSON2F_WORKAROUNDS 141 + ifeq ($(call as-option,-Wa$(comma)-mfix-loongson2f-nop,),) 142 + $(error only binutils >= 2.20.2 have needed option -mfix-loongson2f-nop) 143 + else 144 + cflags-$(CONFIG_CPU_NOP_WORKAROUNDS) += -Wa$(comma)-mfix-loongson2f-nop 145 + endif 146 + ifeq ($(call as-option,-Wa$(comma)-mfix-loongson2f-jump,),) 147 + $(error only binutils >= 2.20.2 have needed option -mfix-loongson2f-jump) 148 + else 149 + cflags-$(CONFIG_CPU_JUMP_WORKAROUNDS) += -Wa$(comma)-mfix-loongson2f-jump 150 + endif 151 + endif 139 152 140 153 cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips32 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \ 141 154 -Wa,-mips32 -Wa,--trap