1*71e2f4ddSJiaxun Yang# 2*71e2f4ddSJiaxun Yang# Loongson Processors' Support 3*71e2f4ddSJiaxun Yang# 4*71e2f4ddSJiaxun Yang 5*71e2f4ddSJiaxun Yang# Only gcc >= 4.4 have Loongson specific support 6*71e2f4ddSJiaxun Yangcflags-$(CONFIG_CPU_LOONGSON2EF) += -Wa,--trap 7*71e2f4ddSJiaxun Yangcflags-$(CONFIG_CPU_LOONGSON2E) += \ 8*71e2f4ddSJiaxun Yang $(call cc-option,-march=loongson2e,-march=r4600) 9*71e2f4ddSJiaxun Yangcflags-$(CONFIG_CPU_LOONGSON2F) += \ 10*71e2f4ddSJiaxun Yang $(call cc-option,-march=loongson2f,-march=r4600) 11*71e2f4ddSJiaxun Yang# Enable the workarounds for Loongson2f 12*71e2f4ddSJiaxun Yangifdef CONFIG_CPU_LOONGSON2F_WORKAROUNDS 13*71e2f4ddSJiaxun Yang ifeq ($(call as-option,-Wa$(comma)-mfix-loongson2f-nop,),) 14*71e2f4ddSJiaxun Yang $(error only binutils >= 2.20.2 have needed option -mfix-loongson2f-nop) 15*71e2f4ddSJiaxun Yang else 16*71e2f4ddSJiaxun Yang cflags-$(CONFIG_CPU_NOP_WORKAROUNDS) += -Wa$(comma)-mfix-loongson2f-nop 17*71e2f4ddSJiaxun Yang endif 18*71e2f4ddSJiaxun Yang ifeq ($(call as-option,-Wa$(comma)-mfix-loongson2f-jump,),) 19*71e2f4ddSJiaxun Yang $(error only binutils >= 2.20.2 have needed option -mfix-loongson2f-jump) 20*71e2f4ddSJiaxun Yang else 21*71e2f4ddSJiaxun Yang cflags-$(CONFIG_CPU_JUMP_WORKAROUNDS) += -Wa$(comma)-mfix-loongson2f-jump 22*71e2f4ddSJiaxun Yang endif 23*71e2f4ddSJiaxun Yangendif 24*71e2f4ddSJiaxun Yang 25*71e2f4ddSJiaxun Yang# 26*71e2f4ddSJiaxun Yang# Loongson Machines' Support 27*71e2f4ddSJiaxun Yang# 28*71e2f4ddSJiaxun Yang 29*71e2f4ddSJiaxun Yangplatform-$(CONFIG_MACH_LOONGSON2EF) += loongson2ef/ 30*71e2f4ddSJiaxun Yangcflags-$(CONFIG_MACH_LOONGSON2EF) += -I$(srctree)/arch/mips/include/asm/mach-loongson2ef -mno-branch-likely 31*71e2f4ddSJiaxun Yangload-$(CONFIG_LEMOTE_FULOONG2E) += 0xffffffff80100000 32*71e2f4ddSJiaxun Yangload-$(CONFIG_LEMOTE_MACH2F) += 0xffffffff80200000 33