MIPS: Loongson: Add GCC 4.4 support for Loongson2E
Because only gcc >=4.4 have loongson-specific support, we need to choose the suitable -march argument for gcc <= 4.3 and gcc >= 4.4, and here, we use -march=loongson2e for loongson2e. Thanks goes to Arnaud Patard <apatard@mandriva.com> for suggestion of using cc-options(Documentation/kbuild/makefiles.txt). and thanks Zhang Le for introducing the new CPU_LOONGSON2E kernel option. NOTE: -mtune option is not need if -march and -mtune use the same value. Signed-off-by: Zhang Le <r0bertz@gentoo.org> Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
3209e70e5e
commit
3702bba5eb
3 changed files with 17 additions and 9 deletions
|
@ -1030,12 +1030,10 @@ choice
|
||||||
prompt "CPU type"
|
prompt "CPU type"
|
||||||
default CPU_R4X00
|
default CPU_R4X00
|
||||||
|
|
||||||
config CPU_LOONGSON2
|
config CPU_LOONGSON2E
|
||||||
bool "Loongson 2"
|
bool "Loongson 2E"
|
||||||
depends on SYS_HAS_CPU_LOONGSON2
|
depends on SYS_HAS_CPU_LOONGSON2E
|
||||||
select CPU_SUPPORTS_32BIT_KERNEL
|
select CPU_LOONGSON2
|
||||||
select CPU_SUPPORTS_64BIT_KERNEL
|
|
||||||
select CPU_SUPPORTS_HIGHMEM
|
|
||||||
help
|
help
|
||||||
The Loongson 2E processor implements the MIPS III instruction set
|
The Loongson 2E processor implements the MIPS III instruction set
|
||||||
with many extensions.
|
with many extensions.
|
||||||
|
@ -1282,7 +1280,13 @@ config CPU_CAVIUM_OCTEON
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
config SYS_HAS_CPU_LOONGSON2
|
config CPU_LOONGSON2
|
||||||
|
bool
|
||||||
|
select CPU_SUPPORTS_32BIT_KERNEL
|
||||||
|
select CPU_SUPPORTS_64BIT_KERNEL
|
||||||
|
select CPU_SUPPORTS_HIGHMEM
|
||||||
|
|
||||||
|
config SYS_HAS_CPU_LOONGSON2E
|
||||||
bool
|
bool
|
||||||
|
|
||||||
config SYS_HAS_CPU_MIPS32_R1
|
config SYS_HAS_CPU_MIPS32_R1
|
||||||
|
|
|
@ -120,7 +120,11 @@ cflags-$(CONFIG_CPU_R4300) += -march=r4300 -Wa,--trap
|
||||||
cflags-$(CONFIG_CPU_VR41XX) += -march=r4100 -Wa,--trap
|
cflags-$(CONFIG_CPU_VR41XX) += -march=r4100 -Wa,--trap
|
||||||
cflags-$(CONFIG_CPU_R4X00) += -march=r4600 -Wa,--trap
|
cflags-$(CONFIG_CPU_R4X00) += -march=r4600 -Wa,--trap
|
||||||
cflags-$(CONFIG_CPU_TX49XX) += -march=r4600 -Wa,--trap
|
cflags-$(CONFIG_CPU_TX49XX) += -march=r4600 -Wa,--trap
|
||||||
cflags-$(CONFIG_CPU_LOONGSON2) += -march=r4600 -Wa,--trap
|
# only gcc >= 4.4 have the loongson-specific support
|
||||||
|
cflags-$(CONFIG_CPU_LOONGSON2) += -Wa,--trap
|
||||||
|
cflags-$(CONFIG_CPU_LOONGSON2E) += \
|
||||||
|
$(call cc-option,-march=loongson2e,-march=r4600)
|
||||||
|
|
||||||
cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips32 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
|
cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips32 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
|
||||||
-Wa,-mips32 -Wa,--trap
|
-Wa,-mips32 -Wa,--trap
|
||||||
cflags-$(CONFIG_CPU_MIPS32_R2) += $(call cc-option,-march=mips32r2,-mips32r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
|
cflags-$(CONFIG_CPU_MIPS32_R2) += $(call cc-option,-march=mips32r2,-mips32r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
|
||||||
|
|
|
@ -7,7 +7,7 @@ config LEMOTE_FULOONG2E
|
||||||
select ARCH_SPARSEMEM_ENABLE
|
select ARCH_SPARSEMEM_ENABLE
|
||||||
select CEVT_R4K
|
select CEVT_R4K
|
||||||
select CSRC_R4K
|
select CSRC_R4K
|
||||||
select SYS_HAS_CPU_LOONGSON2
|
select SYS_HAS_CPU_LOONGSON2E
|
||||||
select DMA_NONCOHERENT
|
select DMA_NONCOHERENT
|
||||||
select BOOT_ELF32
|
select BOOT_ELF32
|
||||||
select BOARD_SCACHE
|
select BOARD_SCACHE
|
||||||
|
|
Loading…
Add table
Reference in a new issue