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
v19.07.3_mercusys_ac12_duma
Florian Fainelli 11 years ago
parent f223d0927e
commit 9e1d2c15d9

@ -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

@ -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;
}

@ -66,6 +66,10 @@ config PROFILE_KCONFIG
config NOMMU
bool
config HAS_MIPS16
depends (mips || mipsel || mips64 || mips64el)
bool
# Architecture selection
config arm

Loading…
Cancel
Save