diff options
Diffstat (limited to 'arch/mips/loongson64/Platform')
-rw-r--r-- | arch/mips/loongson64/Platform | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/arch/mips/loongson64/Platform b/arch/mips/loongson64/Platform new file mode 100644 index 000000000..e2354e128 --- /dev/null +++ b/arch/mips/loongson64/Platform | |||
@@ -0,0 +1,37 @@ | |||
1 | # | ||
2 | # Loongson Processors' Support | ||
3 | # | ||
4 | |||
5 | |||
6 | cflags-$(CONFIG_CPU_LOONGSON64) += -Wa,--trap | ||
7 | |||
8 | # | ||
9 | # binutils from v2.25 on and gcc starting from v4.9.0 treat -march=loongson3a | ||
10 | # as MIPS64 R2; older versions as just R1. This leaves the possibility open | ||
11 | # that GCC might generate R2 code for -march=loongson3a which then is rejected | ||
12 | # by GAS. The cc-option can't probe for this behaviour so -march=loongson3a | ||
13 | # can't easily be used safely within the kbuild framework. | ||
14 | # | ||
15 | ifeq ($(call cc-ifversion, -ge, 0409, y), y) | ||
16 | ifeq ($(call ld-ifversion, -ge, 225000000, y), y) | ||
17 | cflags-$(CONFIG_CPU_LOONGSON64) += \ | ||
18 | $(call cc-option,-march=loongson3a -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) | ||
19 | else | ||
20 | cflags-$(CONFIG_CPU_LOONGSON64) += \ | ||
21 | $(call cc-option,-march=mips64r2,-mips64r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) | ||
22 | endif | ||
23 | else | ||
24 | cflags-$(CONFIG_CPU_LOONGSON64) += \ | ||
25 | $(call cc-option,-march=mips64r2,-mips64r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) | ||
26 | endif | ||
27 | |||
28 | # Some -march= flags enable MMI instructions, and GCC complains about that | ||
29 | # support being enabled alongside -msoft-float. Thus explicitly disable MMI. | ||
30 | cflags-y += $(call cc-option,-mno-loongson-mmi) | ||
31 | |||
32 | # | ||
33 | # Loongson Machines' Support | ||
34 | # | ||
35 | |||
36 | cflags-$(CONFIG_MACH_LOONGSON64) += -I$(srctree)/arch/mips/include/asm/mach-loongson64 -mno-branch-likely | ||
37 | load-$(CONFIG_CPU_LOONGSON64) += 0xffffffff80200000 | ||