lkml.org 
[lkml]   [2009]   [Jul]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 15/16] [loongson] add gcc 4.4 support for Loongson2E
    Date
    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>
    ---
    arch/mips/Kconfig | 18 +++++++++++-------
    arch/mips/Makefile | 6 +++++-
    arch/mips/loongson/Kconfig | 2 +-
    3 files changed, 17 insertions(+), 9 deletions(-)
    diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
    index 482dcc3..466920a 100644
    --- a/arch/mips/Kconfig
    +++ b/arch/mips/Kconfig
    @@ -1030,12 +1030,10 @@ choice
    prompt "CPU type"
    default CPU_R4X00

    -config CPU_LOONGSON2
    - bool "Loongson 2"
    - depends on SYS_HAS_CPU_LOONGSON2
    - select CPU_SUPPORTS_32BIT_KERNEL
    - select CPU_SUPPORTS_64BIT_KERNEL
    - select CPU_SUPPORTS_HIGHMEM
    +config CPU_LOONGSON2E
    + bool "Loongson 2E"
    + depends on SYS_HAS_CPU_LOONGSON2E
    + select CPU_LOONGSON2
    help
    The Loongson 2E processor implements the MIPS III instruction set
    with many extensions.
    @@ -1282,7 +1280,13 @@ config CPU_CAVIUM_OCTEON

    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

    config SYS_HAS_CPU_MIPS32_R1
    diff --git a/arch/mips/Makefile b/arch/mips/Makefile
    index 94d6f58..1efa9aa 100644
    --- a/arch/mips/Makefile
    +++ b/arch/mips/Makefile
    @@ -120,7 +120,11 @@ cflags-$(CONFIG_CPU_R4300) += -march=r4300 -Wa,--trap
    cflags-$(CONFIG_CPU_VR41XX) += -march=r4100 -Wa,--trap
    cflags-$(CONFIG_CPU_R4X00) += -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) \
    -Wa,-mips32 -Wa,--trap
    cflags-$(CONFIG_CPU_MIPS32_R2) += $(call cc-option,-march=mips32r2,-mips32r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
    diff --git a/arch/mips/loongson/Kconfig b/arch/mips/loongson/Kconfig
    index 376712a..d450925 100644
    --- a/arch/mips/loongson/Kconfig
    +++ b/arch/mips/loongson/Kconfig
    @@ -7,7 +7,7 @@ config LEMOTE_FULOONG2E
    select ARCH_SPARSEMEM_ENABLE
    select CEVT_R4K
    select CSRC_R4K
    - select SYS_HAS_CPU_LOONGSON2
    + select SYS_HAS_CPU_LOONGSON2E
    select DMA_NONCOHERENT
    select BOOT_ELF32
    select BOARD_SCACHE
    --
    1.6.2.1


    \
     
     \ /
      Last update: 2009-07-02 17:31    [W:0.146 / U:0.108 seconds]
    ©2003-2014 Jasper Spaans. Advertise on this site