浏览代码

Patch from Jeffrey Baitis <baitisj@evolution.com> for mips arch tuning.

Manuel Novoa III 20 年之前
父节点
当前提交
f6552f749d
共有 2 个文件被更改,包括 45 次插入0 次删除
  1. 9 0
      Rules.mak
  2. 36 0
      extra/Configs/Config.mips

+ 9 - 0
Rules.mak

@@ -127,6 +127,15 @@ ifeq ($(strip $(TARGET_ARCH)),arm)
 	CPU_CFLAGS-$(CONFIG_ARM_XSCALE)+=-march=armv4 -Wa,-mcpu=xscale
 endif
 
+ifeq ($(strip $(TARGET_ARCH)),mips)
+	CPU_CFLAGS-$(CONFIG_MIPS_ISA_1)+=-mips1
+	CPU_CFLAGS-$(CONFIG_MIPS_ISA_2)+=-mips2 -mtune=mips2
+	CPU_CFLAGS-$(CONFIG_MIPS_ISA_3)+=-mips3 -mtune=mips3
+	CPU_CFLAGS-$(CONFIG_MIPS_ISA_4)+=-mips4 -mtune=mips4
+	CPU_CFLAGS-$(CONFIG_MIPS_ISA_MIPS32)+=-mips32 -mtune=mips32
+	CPU_CFLAGS-$(CONFIG_MIPS_ISA_MIPS64)+=-mips64 -mtune=mips32
+endif
+
 ifeq ($(strip $(TARGET_ARCH)),sh)
 	OPTIMIZATION+=-fstrict-aliasing
 	OPTIMIZATION+= $(call check_gcc,-mprefergot,)

+ 36 - 0
extra/Configs/Config.mips

@@ -20,3 +20,39 @@ config ARCH_LDFLAGS
 config LIBGCC_CFLAGS
 	string
 
+choice
+	prompt "Target Processor Architecture"
+	default CONFIG_MIPS_ISA_1
+	help
+	  This selects the instruction set architecture of your MIPS CPU. This
+	  information is used for optimizing purposes. To build a library that
+	  will run on any MIPS CPU, you can specify "Generic (MIPS I)" here.
+	  If you pick anything other than "Generic (MIPS I)," there is no
+	  guarantee that uClibc will even run on anything other than the
+	  selected processor type.
+
+	  You should probably select the MIPS ISA that best matches the
+	  CPU you will be using on your device. uClibc will be tuned
+	  for that architecture.
+
+	  If you don't know what to do, choose "Generic (MIPS I)"
+
+config CONFIG_MIPS_ISA_1
+	bool "Generic (MIPS I)"
+
+config CONFIG_MIPS_ISA_2
+	bool "MIPS II"
+
+config CONFIG_MIPS_ISA_3
+	bool "MIPS III"
+
+config CONFIG_MIPS_ISA_4
+	bool "MIPS IV"
+
+config CONFIG_MIPS_ISA_MIPS32
+	bool "MIPS32"
+
+config CONFIG_MIPS_ISA_MIPS64
+	bool "MIPS64"
+
+endchoice