kernel: only optimized for size if small_flash
Add a new config option to allow to select the default compile optimization level for the kernel. Select the optimization for size by default if the small_flash feature is set. Otherwise "Optimize for performance" is set. Add the small_flash feature flag to all (sub)targets which had the optimization for size in their default kernel config. Remove CC_OPTIMIZE_FOR_* symbols from all kernel configs to apply the new setting. Exceptions to the above are: - lantiq, where the optimization for size is only required for the xway_legacy subtarget but was set for the whole target - mediatek, ramips/mt7620 & ramips/mt76x8 where boards should have plenty of space and an optimization for size doesn't make much sense - rb532, which has 128MByte flash Signed-off-by: Mathias Kresin <dev@kresin.me>
This commit is contained in:
parent
621fa91a82
commit
cf7154db07
29 changed files with 30 additions and 40 deletions
|
@ -806,3 +806,25 @@ config KERNEL_DEVKMEM
|
|||
Say Y here if you want to support the /dev/kmem device. The
|
||||
/dev/kmem device is rarely used, but can be used for certain
|
||||
kind of kernel debugging operations.
|
||||
|
||||
#
|
||||
# compile optimiziation setting
|
||||
#
|
||||
choice
|
||||
prompt "Compiler optimization level"
|
||||
default KERNEL_CC_OPTIMIZE_FOR_SIZE if SMALL_FLASH
|
||||
|
||||
config KERNEL_CC_OPTIMIZE_FOR_PERFORMANCE
|
||||
bool "Optimize for performance"
|
||||
help
|
||||
This is the default optimization level for the kernel, building
|
||||
with the "-O2" compiler flag for best performance and most
|
||||
helpful compile-time warnings.
|
||||
|
||||
config KERNEL_CC_OPTIMIZE_FOR_SIZE
|
||||
bool "Optimize for size"
|
||||
help
|
||||
Enabling this option will pass "-Os" instead of "-O2" to
|
||||
your compiler resulting in a smaller kernel.
|
||||
|
||||
endchoice
|
||||
|
|
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||
|
||||
BOARD:=adm5120
|
||||
BOARDNAME:=Infineon/ADMtek ADM5120
|
||||
FEATURES:=low_mem source-only
|
||||
FEATURES:=low_mem small_flash source-only
|
||||
SUBTARGETS:=router_le router_be rb1xx
|
||||
INITRAMFS_EXTRA_FILES:=
|
||||
|
||||
|
|
|
@ -45,7 +45,6 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
|||
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
|
||||
CONFIG_ARM_AMBA=y
|
||||
CONFIG_BUILD_BIN2C=y
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_CEVT_R4K=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
CONFIG_CMDLINE="console=ttyAM0,115200 rootfstype=squashfs,jffs2"
|
||||
|
|
|
@ -58,8 +58,6 @@ CONFIG_BLK_DEV_SD=y
|
|||
# CONFIG_BPF_SYSCALL is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
CONFIG_CACHE_L2X0=y
|
||||
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
CONFIG_CLKSRC_OF=y
|
||||
CONFIG_CLKSRC_PROBE=y
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_BLK_MQ_PCI=y
|
||||
CONFIG_LEDS_RESET=y
|
||||
CONFIG_OF_ADDRESS_PCI=y
|
||||
|
|
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||
ARCH:=mipsel
|
||||
BOARD:=au1000
|
||||
BOARDNAME:=RMI/AMD AU1x00
|
||||
FEATURES:=squashfs usb pci source-only
|
||||
FEATURES:=squashfs usb pci small_flash source-only
|
||||
SUBTARGETS:=au1500 au1550
|
||||
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
|
||||
|
||||
|
|
|
@ -11,7 +11,6 @@ CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
|
|||
CONFIG_ARCH_REQUIRE_GPIOLIB=y
|
||||
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_CEVT_R4K=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/mtdblock0 rootfstype=squashfs,jffs2"
|
||||
|
|
|
@ -580,7 +580,6 @@ CONFIG_CAVIUM_OCTEON_HELPER=y
|
|||
# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set
|
||||
# CONFIG_CAVIUM_OCTEON_SOC is not set
|
||||
# CONFIG_CB710_CORE is not set
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
# CONFIG_CC_STACKPROTECTOR is not set
|
||||
CONFIG_CC_STACKPROTECTOR_NONE=y
|
||||
# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
|
||||
|
|
|
@ -717,8 +717,6 @@ CONFIG_CARDBUS=y
|
|||
# CONFIG_CB710_CORE is not set
|
||||
# CONFIG_CC10001_ADC is not set
|
||||
# CONFIG_CCS811 is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
# CONFIG_CC_STACKPROTECTOR is not set
|
||||
CONFIG_CC_STACKPROTECTOR_NONE=y
|
||||
# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
|
||||
|
|
|
@ -680,8 +680,6 @@ CONFIG_CARDBUS=y
|
|||
# CONFIG_CAVIUM_OCTEON_SOC is not set
|
||||
# CONFIG_CB710_CORE is not set
|
||||
# CONFIG_CC10001_ADC is not set
|
||||
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
# CONFIG_CC_STACKPROTECTOR is not set
|
||||
CONFIG_CC_STACKPROTECTOR_NONE=y
|
||||
# CONFIG_CC_STACKPROTECTOR_REGULAR is not set
|
||||
|
|
|
@ -20,8 +20,6 @@ CONFIG_ARCH_USE_BUILTIN_BSWAP=y
|
|||
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
|
||||
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
|
||||
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_CEVT_R4K=y
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
|
|
|
@ -145,8 +145,6 @@ CONFIG_CAN_RAW=y
|
|||
# CONFIG_CAN_SJA1000 is not set
|
||||
# CONFIG_CAN_SOFTING is not set
|
||||
# CONFIG_CAN_TI_HECC is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
# CONFIG_CFS_BANDWIDTH is not set
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
|
|
|
@ -156,8 +156,6 @@ CONFIG_CAVIUM_ERRATUM_22375=y
|
|||
CONFIG_CAVIUM_ERRATUM_23144=y
|
||||
CONFIG_CAVIUM_ERRATUM_23154=y
|
||||
CONFIG_CAVIUM_ERRATUM_27456=y
|
||||
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_CEPH_LIB=y
|
||||
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
|
||||
# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
|
||||
|
|
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||
ARCH:=arm
|
||||
BOARD:=mcs814x
|
||||
BOARDNAME:=Moschip MCS814x
|
||||
FEATURES:=usb squashfs low_mem source-only
|
||||
FEATURES:=usb squashfs low_mem small_flash source-only
|
||||
CPU_TYPE:=arm926ej-s
|
||||
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
|
||||
|
||||
|
|
|
@ -26,7 +26,6 @@ CONFIG_ARM_L1_CACHE_SHIFT=5
|
|||
# CONFIG_ARM_THUMB is not set
|
||||
CONFIG_BINFMT_MISC=y
|
||||
# CONFIG_CACHE_L2X0 is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
CONFIG_CMDLINE="earlyprintk"
|
||||
|
|
|
@ -88,8 +88,6 @@ CONFIG_BT_HCIUART=y
|
|||
CONFIG_BT_HCIUART_SERDEV=y
|
||||
CONFIG_BT_HCIVHCI=y
|
||||
CONFIG_BUILD_BIN2C=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
CONFIG_CLKSRC_MMIO=y
|
||||
CONFIG_CLOCK_THERMAL=y
|
||||
|
|
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||
ARCH:=powerpc
|
||||
BOARD:=ppc40x
|
||||
BOARDNAME:=AMCC/IBM PPC40x
|
||||
FEATURES:=squashfs broken
|
||||
FEATURES:=squashfs small_flash broken
|
||||
CPU_TYPE:=405
|
||||
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
|
||||
|
||||
|
|
|
@ -27,7 +27,6 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
|
|||
CONFIG_AUDIT_ARCH=y
|
||||
CONFIG_BOOKE_WDT=y
|
||||
CONFIG_BOUNCE=y
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
CONFIG_CMDLINE="console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd"
|
||||
CONFIG_CMDLINE_BOOL=y
|
||||
|
|
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
|||
ARCH:=powerpc
|
||||
BOARD:=ppc44x
|
||||
BOARDNAME:=AMCC/IBM PPC44x
|
||||
FEATURES:=squashfs broken
|
||||
FEATURES:=squashfs small_flash broken
|
||||
CPU_TYPE:=440
|
||||
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
|
||||
|
||||
|
|
|
@ -34,7 +34,6 @@ CONFIG_BOOKE=y
|
|||
CONFIG_BOOKE_WDT=y
|
||||
CONFIG_BOUNCE=y
|
||||
CONFIG_CANYONLANDS=y
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/mtdblock1 rootfstype=squashfs,jffs2 noinitrd"
|
||||
CONFIG_CMDLINE_BOOL=y
|
||||
|
|
|
@ -22,8 +22,6 @@ CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
|
|||
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
|
||||
CONFIG_AT803X_PHY=y
|
||||
CONFIG_BLK_MQ_PCI=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_CEVT_R4K=y
|
||||
CONFIG_CEVT_SYSTICK_QUIRK=y
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
|
|
|
@ -22,8 +22,6 @@ CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
|
|||
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
|
||||
CONFIG_AT803X_PHY=y
|
||||
CONFIG_BLK_MQ_PCI=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_CEVT_R4K=y
|
||||
CONFIG_CEVT_SYSTICK_QUIRK=y
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
|
|
|
@ -21,8 +21,6 @@ CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
|
|||
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
|
||||
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
|
||||
CONFIG_BLK_MQ_PCI=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_CEVT_R4K=y
|
||||
# CONFIG_CEVT_SYSTICK_QUIRK is not set
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
SUBTARGET:=rt288x
|
||||
BOARDNAME:=RT288x based boards
|
||||
FEATURES+=small_flash
|
||||
CPU_TYPE:=24kc
|
||||
|
||||
DEFAULT_PACKAGES += kmod-rt2800-soc wpad-mini
|
||||
|
|
|
@ -12,8 +12,6 @@ CONFIG_ARCH_SUPPORTS_UPROBES=y
|
|||
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
|
||||
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_CEVT_R4K=y
|
||||
CONFIG_CEVT_SYSTICK_QUIRK=y
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
SUBTARGET:=rt305x
|
||||
BOARDNAME:=RT3x5x/RT5350 based boards
|
||||
FEATURES+=usb ramdisk
|
||||
FEATURES+=usb ramdisk small_flash
|
||||
CPU_TYPE:=24kc
|
||||
|
||||
DEFAULT_PACKAGES += kmod-rt2800-soc wpad-mini
|
||||
|
|
|
@ -22,8 +22,6 @@ CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
|
|||
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
|
||||
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
|
||||
CONFIG_BLK_MQ_PCI=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_CEVT_R4K=y
|
||||
# CONFIG_CEVT_SYSTICK_QUIRK is not set
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
SUBTARGET:=rt3883
|
||||
BOARDNAME:=RT3662/RT3883 based boards
|
||||
FEATURES+=usb pci
|
||||
FEATURES+=usb pci small_flash
|
||||
CPU_TYPE:=74kc
|
||||
|
||||
DEFAULT_PACKAGES += kmod-rt2800-pci kmod-rt2800-soc wpad-mini
|
||||
|
|
|
@ -16,7 +16,6 @@ CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
|
|||
CONFIG_ATA=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_CEVT_R4K=y
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
CONFIG_CPU_GENERIC_DUMP_TLB=y
|
||||
|
|
Loading…
Reference in a new issue