diff options
author | Florian Fainelli <florian@openwrt.org> | 2013-04-05 12:36:12 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2013-04-05 12:36:12 +0000 |
commit | 9e1d2c15d905cf210760d9d4f654f91a5d6c5f42 (patch) | |
tree | 524e728f41011bd461bdd2e729ccbcf7e892f217 | |
parent | f223d0927ecc0e3b1b66df010a449543a6e5c6a4 (diff) | |
download | upstream-9e1d2c15d905cf210760d9d4f654f91a5d6c5f42.tar.gz upstream-9e1d2c15d905cf210760d9d4f654f91a5d6c5f42.tar.bz2 upstream-9e1d2c15d905cf210760d9d4f654f91a5d6c5f42.zip |
buildroot: allow enabling MIPS16 user-space build
Enabling MIPS16 is made conditional on advertising the "mips16" feature
for a specific target since it requires support from the CPU
(HAS_MIPS16) and the actual use of MIPS16 for building packages
(USE_MIPS16).
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 36202
-rw-r--r-- | Config.in | 11 | ||||
-rw-r--r-- | rules.mk | 3 | ||||
-rwxr-xr-x | scripts/metadata.pl | 1 | ||||
-rw-r--r-- | target/Config.in | 4 |
4 files changed, 19 insertions, 0 deletions
@@ -681,6 +681,17 @@ menuconfig TARGET_OPTIONS Most people will answer N. + config USE_MIPS16 + bool "Build packages with MIPS16 instructions" if TARGET_OPTIONS + depends on HAS_MIPS16 + help + If your target CPU does support the MIPS16 instruction set + and you want to use it for packages, enable this option. + MIPS16 produces smaller binaries thus reducing pressure on + caches and TLB. + + Most people will answer N. + source "toolchain/Config.in" source "target/imagebuilder/Config.in" @@ -63,6 +63,9 @@ endif ifneq ($(filter -mips%r2,$(TARGET_OPTIMIZATION)),) ARCH_SUFFIX:=_r2 endif +ifdef CONFIG_USE_MIPS16 + TARGET_OPTIMIZATION+= -minterlink-mips16 -mips16 +endif ifneq ($(findstring -mips16,$(TARGET_OPTIMIZATION)),) TARGET_ASFLAGS_OVERRIDE:=-mno-mips16 ARCH_SUFFIX:= $(ARCH_SUFFIX)_m16 diff --git a/scripts/metadata.pl b/scripts/metadata.pl index b04cd8cc3d..6249127e3d 100755 --- a/scripts/metadata.pl +++ b/scripts/metadata.pl @@ -174,6 +174,7 @@ sub target_config_features(@) { /ramdisk/ and $ret .= "\tselect USES_INITRAMFS\n"; /powerpc64/ and $ret .= "\tselect powerpc64\n"; /nommu/ and $ret .= "\tselect NOMMU\n"; + /mips16/ and $ret .= "\tselect HAS_MIPS16\n"; } return $ret; } diff --git a/target/Config.in b/target/Config.in index 31f3ced51d..79a91b1afb 100644 --- a/target/Config.in +++ b/target/Config.in @@ -66,6 +66,10 @@ config PROFILE_KCONFIG config NOMMU bool +config HAS_MIPS16 + depends (mips || mipsel || mips64 || mips64el) + bool + # Architecture selection config arm |