1 # Copyright (C) 2006-2014 OpenWrt.org
3 # This is free software, licensed under the GNU General Public License v2.
4 # See /LICENSE for more information.
7 config KERNEL_BUILD_USER
8 string "Custom Kernel Build User Name"
9 default "builder" if BUILDBOT
12 Sets the Kernel build user string, which for example will be returned
13 by 'uname -a' on running systems.
14 If not set, uses system user at build time.
16 config KERNEL_BUILD_DOMAIN
17 string "Custom Kernel Build Domain Name"
18 default "buildhost" if BUILDBOT
21 Sets the Kernel build domain string, which for example will be
22 returned by 'uname -a' on running systems.
23 If not set, uses system hostname at build time.
26 bool "Enable support for printk"
29 config KERNEL_CRASHLOG
31 depends on !(arm || powerpc || sparc || TARGET_uml || i386 || x86_64)
35 bool "Support for paging of anonymous memory (swap)"
36 default y if !SMALL_FLASH
38 config KERNEL_DEBUG_FS
39 bool "Compile the kernel with debug filesystem enabled"
42 debugfs is a virtual file system that kernel developers use to put
43 debugging files into. Enable this option to be able to read and
44 write to these files. Many common debugging facilities, such as
45 ftrace, require the existence of debugfs.
47 config KERNEL_MIPS_FPU_EMULATOR
48 bool "Compile the kernel with MIPS FPU Emulator"
49 default y if TARGET_pistachio
50 depends on (mips || mipsel || mips64 || mips64el)
55 depends on (arm || aarch64)
57 config KERNEL_X86_VSYSCALL_EMULATION
58 bool "Enable vsyscall emulation"
62 This enables emulation of the legacy vsyscall page. Disabling
63 it is roughly equivalent to booting with vsyscall=none, except
64 that it will also disable the helpful warning if a program
65 tries to use a vsyscall. With this option set to N, offending
66 programs will just segfault, citing addresses of the form
69 This option is required by many programs built before 2013, and
70 care should be used even with newer programs if set to N.
72 Disabling this option saves about 7K of kernel size and
73 possibly 4K of additional runtime pagetable memory.
75 config KERNEL_PERF_EVENTS
76 bool "Compile the kernel with performance events and counters"
78 select KERNEL_ARM_PMU if (arm || aarch64)
80 config KERNEL_PROFILING
81 bool "Compile the kernel with profiling enabled"
83 select KERNEL_PERF_EVENTS
85 Enable the extended profiling support mechanisms used by profilers such
89 bool "Compile the kernel with undefined behaviour sanity checker"
91 This option enables undefined behaviour sanity checker
92 Compile-time instrumentation is used to detect various undefined
93 behaviours in runtime. Various types of checks may be enabled
94 via boot parameter ubsan_handle
95 (see: Documentation/dev-tools/ubsan.rst).
97 config KERNEL_UBSAN_SANITIZE_ALL
98 bool "Enable instrumentation for the entire kernel"
99 depends on KERNEL_UBSAN
102 This option activates instrumentation for the entire kernel.
103 If you don't enable this option, you have to explicitly specify
104 UBSAN_SANITIZE := y for the files/directories you want to check for UB.
105 Enabling this option will get kernel image size increased
108 config KERNEL_UBSAN_ALIGNMENT
109 bool "Enable checking of pointers alignment"
110 depends on KERNEL_UBSAN
112 This option enables detection of unaligned memory accesses.
113 Enabling this option on architectures that support unaligned
114 accesses may produce a lot of false positives.
116 config KERNEL_UBSAN_NULL
117 bool "Enable checking of null pointers"
118 depends on KERNEL_UBSAN
120 This option enables detection of memory accesses via a
123 config KERNEL_TASKSTATS
124 bool "Compile the kernel with task resource/io statistics and accounting"
127 Enable the collection and publishing of task/io statistics and
128 accounting. Enable this option to enable i/o monitoring in system
133 config KERNEL_TASK_DELAY_ACCT
136 config KERNEL_TASK_IO_ACCOUNTING
139 config KERNEL_TASK_XACCT
144 config KERNEL_KALLSYMS
145 bool "Compile the kernel with symbol table information"
146 default y if !SMALL_FLASH
148 This will give you more information in stack traces from kernel oopses.
151 bool "Compile the kernel with tracing support"
152 depends on !TARGET_uml
155 config KERNEL_FTRACE_SYSCALLS
156 bool "Trace system calls"
157 depends on KERNEL_FTRACE
160 config KERNEL_ENABLE_DEFAULT_TRACERS
161 bool "Trace process context switches and events"
162 depends on KERNEL_FTRACE
165 config KERNEL_FUNCTION_TRACER
166 bool "Function tracer"
167 depends on KERNEL_FTRACE
170 config KERNEL_FUNCTION_GRAPH_TRACER
171 bool "Function graph tracer"
172 depends on KERNEL_FUNCTION_TRACER
175 config KERNEL_DYNAMIC_FTRACE
176 bool "Enable/disable function tracing dynamically"
177 depends on KERNEL_FUNCTION_TRACER
180 config KERNEL_FUNCTION_PROFILER
181 bool "Function profiler"
182 depends on KERNEL_FUNCTION_TRACER
185 config KERNEL_DEBUG_KERNEL
189 config KERNEL_DEBUG_INFO
190 bool "Compile the kernel with debug information"
191 default y if !SMALL_FLASH
192 select KERNEL_DEBUG_KERNEL
194 This will compile your kernel and modules with debug information.
196 config KERNEL_DEBUG_LL_UART_NONE
201 config KERNEL_DEBUG_LL
205 select KERNEL_DEBUG_LL_UART_NONE
207 ARM low level debugging.
209 config KERNEL_DYNAMIC_DEBUG
210 bool "Compile the kernel with dynamic printk"
211 select KERNEL_DEBUG_FS
214 Compiles debug level messages into the kernel, which would not
215 otherwise be available at runtime. These messages can then be
216 enabled/disabled based on various levels of scope - per source file,
217 function, module, format string, and line number. This mechanism
218 implicitly compiles in all pr_debug() and dev_dbg() calls, which
219 enlarges the kernel text size by about 2%.
221 config KERNEL_EARLY_PRINTK
222 bool "Compile the kernel with early printk"
223 default y if TARGET_bcm53xx
226 select KERNEL_DEBUG_KERNEL
227 select KERNEL_DEBUG_LL if arm
229 Compile the kernel with early printk support. This is only useful for
230 debugging purposes to send messages over the serial console in early boot.
231 Enable this to debug early boot problems.
233 config KERNEL_KPROBES
234 bool "Compile the kernel with kprobes support"
237 select KERNEL_PERF_EVENTS
239 Compiles the kernel with KPROBES support, which allows you to trap
240 at almost any kernel address and execute a callback function.
241 register_kprobe() establishes a probepoint and specifies the
242 callback. Kprobes is useful for kernel debugging, non-intrusive
243 instrumentation and testing.
244 If in doubt, say "N".
246 config KERNEL_KPROBE_EVENT
248 default y if KERNEL_KPROBES
250 config KERNEL_KPROBE_EVENTS
252 default y if KERNEL_KPROBES
255 bool "Compile the kernel with asynchronous IO support"
256 default y if !SMALL_FLASH
258 config KERNEL_FHANDLE
259 bool "Compile the kernel with support for fhandle syscalls"
260 default y if !SMALL_FLASH
262 config KERNEL_FANOTIFY
263 bool "Compile the kernel with modern file notification support"
264 default y if !SMALL_FLASH
266 config KERNEL_BLK_DEV_BSG
267 bool "Compile the kernel with SCSI generic v4 support for any block device"
270 config KERNEL_MAGIC_SYSRQ
271 bool "Compile the kernel with SysRq support"
274 config KERNEL_DEBUG_PINCTRL
275 bool "Compile the kernel with pinctrl debugging"
276 select KERNEL_DEBUG_KERNEL
278 config KERNEL_DEBUG_GPIO
279 bool "Compile the kernel with gpio debugging"
280 select KERNEL_DEBUG_KERNEL
282 config KERNEL_COREDUMP
285 config KERNEL_ELF_CORE
286 bool "Enable process core dump support"
287 select KERNEL_COREDUMP
288 default y if !SMALL_FLASH
290 config KERNEL_PROVE_LOCKING
291 bool "Enable kernel lock checking"
292 select KERNEL_DEBUG_KERNEL
295 config KERNEL_PRINTK_TIME
296 bool "Enable printk timestamps"
299 config KERNEL_SLUB_DEBUG
302 config KERNEL_SLUB_DEBUG_ON
305 config KERNEL_SLABINFO
306 select KERNEL_SLUB_DEBUG
307 select KERNEL_SLUB_DEBUG_ON
308 bool "Enable /proc slab debug info"
310 config KERNEL_PROC_PAGE_MONITOR
311 bool "Enable /proc page monitoring"
317 bool "Enable kexec support"
319 config KERNEL_PROC_VMCORE
322 config KERNEL_CRASH_DUMP
323 depends on i386 || x86_64 || arm || armeb
325 select KERNEL_PROC_VMCORE
326 bool "Enable support for kexec crashdump"
330 bool "Enable rfkill support"
331 default RFKILL_SUPPORT
334 bool "Enable sparse check during kernel build"
337 config KERNEL_DEVTMPFS
338 bool "Compile the kernel with device tmpfs enabled"
341 devtmpfs is a simple, kernel-managed /dev filesystem. The kernel creates
342 devices nodes for all registered devices to simplify boot, but leaves more
343 complex tasks to userspace (e.g. udev).
347 config KERNEL_DEVTMPFS_MOUNT
348 bool "Automatically mount devtmpfs after root filesystem is mounted"
354 bool "Enable kernel access key retention support"
357 config KERNEL_PERSISTENT_KEYRINGS
358 bool "Enable kernel persistent keyrings"
359 depends on KERNEL_KEYS
362 config KERNEL_BIG_KEYS
363 bool "Enable large payload keys on kernel keyrings"
364 depends on KERNEL_KEYS
367 config KERNEL_ENCRYPTED_KEYS
368 tristate "Enable keys with encrypted payloads on kernel keyrings"
369 depends on KERNEL_KEYS
373 # CGROUP support symbols
376 config KERNEL_CGROUPS
377 bool "Enable kernel cgroups"
378 default y if !SMALL_FLASH
382 config KERNEL_CGROUP_DEBUG
383 bool "Example debug cgroup subsystem"
386 This option enables a simple cgroup subsystem that
387 exports useful debugging information about the cgroups
390 config KERNEL_FREEZER
392 default y if KERNEL_CGROUP_FREEZER
394 config KERNEL_CGROUP_FREEZER
395 bool "Freezer cgroup subsystem"
398 Provides a way to freeze and unfreeze all tasks in a
401 config KERNEL_CGROUP_DEVICE
402 bool "Device controller for cgroups"
405 Provides a cgroup implementing whitelists for devices which
406 a process in the cgroup can mknod or open.
408 config KERNEL_CGROUP_PIDS
409 bool "PIDs cgroup subsystem"
412 Provides enforcement of process number limits in the scope of a
415 config KERNEL_CPUSETS
416 bool "Cpuset support"
417 default y if !SMALL_FLASH
419 This option will let you create and manage CPUSETs which
420 allow dynamically partitioning a system into sets of CPUs and
421 Memory Nodes and assigning tasks to run only within those sets.
422 This is primarily useful on large SMP or NUMA systems.
424 config KERNEL_PROC_PID_CPUSET
425 bool "Include legacy /proc/<pid>/cpuset file"
427 depends on KERNEL_CPUSETS
429 config KERNEL_CGROUP_CPUACCT
430 bool "Simple CPU accounting cgroup subsystem"
431 default y if !SMALL_FLASH
433 Provides a simple Resource Controller for monitoring the
434 total CPU consumed by the tasks in a cgroup.
436 config KERNEL_RESOURCE_COUNTERS
437 bool "Resource counters"
438 default y if !SMALL_FLASH
440 This option enables controller independent resource accounting
441 infrastructure that works with cgroups.
443 config KERNEL_MM_OWNER
445 default y if KERNEL_MEMCG
448 bool "Memory Resource Controller for Control Groups"
449 default y if !SMALL_FLASH
450 depends on KERNEL_RESOURCE_COUNTERS || !LINUX_3_18
452 Provides a memory resource controller that manages both anonymous
453 memory and page cache. (See Documentation/cgroups/memory.txt)
455 Note that setting this option increases fixed memory overhead
456 associated with each page of memory in the system. By this,
457 20(40)bytes/PAGE_SIZE on 32(64)bit system will be occupied by memory
458 usage tracking struct at boot. Total amount of this is printed out
461 Only enable when you're ok with these tradeoffs and really
462 sure you need the memory resource controller. Even when you enable
463 this, you can set "cgroup_disable=memory" at your boot option to
464 disable memory resource controller and you can avoid overheads
465 (but lose benefits of memory resource controller).
467 This config option also selects MM_OWNER config option, which
468 could in turn add some fork/exit overhead.
470 config KERNEL_MEMCG_SWAP
471 bool "Memory Resource Controller Swap Extension"
473 depends on KERNEL_MEMCG
475 Add swap management feature to memory resource controller. When you
476 enable this, you can limit mem+swap usage per cgroup. In other words,
477 when you disable this, memory resource controller has no cares to
478 usage of swap...a process can exhaust all of the swap. This extension
479 is useful when you want to avoid exhaustion swap but this itself
480 adds more overheads and consumes memory for remembering information.
481 Especially if you use 32bit system or small memory system, please
482 be careful about enabling this. When memory resource controller
483 is disabled by boot option, this will be automatically disabled and
484 there will be no overhead from this. Even when you set this config=y,
485 if boot option "swapaccount=0" is set, swap will not be accounted.
486 Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page
487 size is 4096bytes, 512k per 1Gbytes of swap.
489 config KERNEL_MEMCG_SWAP_ENABLED
490 bool "Memory Resource Controller Swap Extension enabled by default"
492 depends on KERNEL_MEMCG_SWAP
494 Memory Resource Controller Swap Extension comes with its price in
495 a bigger memory consumption. General purpose distribution kernels
496 which want to enable the feature but keep it disabled by default
497 and let the user enable it by swapaccount boot command line
498 parameter should have this option unselected.
500 Those who want to have the feature enabled by default should
501 select this option (if, for some reason, they need to disable it,
502 then swapaccount=0 does the trick).
505 config KERNEL_MEMCG_KMEM
506 bool "Memory Resource Controller Kernel Memory accounting (EXPERIMENTAL)"
507 default y if !SMALL_FLASH
508 depends on KERNEL_MEMCG
510 The Kernel Memory extension for Memory Resource Controller can limit
511 the amount of memory used by kernel objects in the system. Those are
512 fundamentally different from the entities handled by the standard
513 Memory Controller, which are page-based, and can be swapped. Users of
514 the kmem extension can use it to guarantee that no group of processes
515 will ever exhaust kernel resources alone.
517 config KERNEL_CGROUP_PERF
518 bool "Enable perf_event per-cpu per-container group (cgroup) monitoring"
519 select KERNEL_PERF_EVENTS
522 This option extends the per-cpu mode to restrict monitoring to
523 threads which belong to the cgroup specified and run on the
526 menuconfig KERNEL_CGROUP_SCHED
527 bool "Group CPU scheduler"
528 default y if !SMALL_FLASH
530 This feature lets CPU scheduler recognize task groups and control CPU
531 bandwidth allocation to such task groups. It uses cgroups to group
534 if KERNEL_CGROUP_SCHED
536 config KERNEL_FAIR_GROUP_SCHED
537 bool "Group scheduling for SCHED_OTHER"
538 default y if !SMALL_FLASH
540 config KERNEL_CFS_BANDWIDTH
541 bool "CPU bandwidth provisioning for FAIR_GROUP_SCHED"
543 depends on KERNEL_FAIR_GROUP_SCHED
545 This option allows users to define CPU bandwidth rates (limits) for
546 tasks running within the fair group scheduler. Groups with no limit
547 set are considered to be unconstrained and will run with no
549 See tip/Documentation/scheduler/sched-bwc.txt for more information.
551 config KERNEL_RT_GROUP_SCHED
552 bool "Group scheduling for SCHED_RR/FIFO"
553 default y if !SMALL_FLASH
555 This feature lets you explicitly allocate real CPU bandwidth
556 to task groups. If enabled, it will also make it impossible to
557 schedule realtime tasks for non-root users until you allocate
558 realtime bandwidth for them.
562 config KERNEL_BLK_CGROUP
563 bool "Block IO controller"
566 Generic block IO controller cgroup interface. This is the common
567 cgroup interface which should be used by various IO controlling
570 Currently, CFQ IO scheduler uses it to recognize task groups and
571 control disk bandwidth allocation (proportional time slice allocation)
572 to such task groups. It is also used by bio throttling logic in
573 block layer to implement upper limit in IO rates on a device.
575 This option only enables generic Block IO controller infrastructure.
576 One needs to also enable actual IO controlling logic/policy. For
577 enabling proportional weight division of disk bandwidth in CFQ, set
578 CONFIG_CFQ_GROUP_IOSCHED=y; for enabling throttling policy, set
579 CONFIG_BLK_DEV_THROTTLING=y.
583 config KERNEL_CFQ_GROUP_IOSCHED
584 bool "Proportional weight of disk bandwidth in CFQ"
586 config KERNEL_BLK_DEV_THROTTLING
587 bool "Enable throttling policy"
588 default y if TARGET_bcm27xx
590 config KERNEL_BLK_DEV_THROTTLING_LOW
591 bool "Block throttling .low limit interface support (EXPERIMENTAL)"
592 depends on KERNEL_BLK_DEV_THROTTLING
595 config KERNEL_DEBUG_BLK_CGROUP
596 bool "Enable Block IO controller debugging"
598 depends on KERNEL_BLK_CGROUP
600 Enable some debugging help. Currently it exports additional stat
601 files in a cgroup which can be useful for debugging.
603 config KERNEL_NET_CLS_CGROUP
604 bool "Control Group Classifier"
607 config KERNEL_NETPRIO_CGROUP
608 bool "Network priority cgroup"
614 # Namespace support symbols
617 config KERNEL_NAMESPACES
618 bool "Enable kernel namespaces"
619 default y if !SMALL_FLASH
627 In this namespace, tasks see different info provided
628 with the uname() system call.
634 In this namespace, tasks work with IPC ids which correspond to
635 different IPC objects in different namespaces.
637 config KERNEL_USER_NS
638 bool "User namespace (EXPERIMENTAL)"
641 This allows containers, i.e. vservers, to use user namespaces
642 to provide different user info for different servers.
645 bool "PID Namespaces"
648 Support process id namespaces. This allows having multiple
649 processes with the same pid as long as they are in different
650 pid namespaces. This is a building block of containers.
653 bool "Network namespace"
656 Allow user space to create what appear to be multiple instances
657 of the network stack.
661 config KERNEL_DEVPTS_MULTIPLE_INSTANCES
662 bool "Support multiple instances of devpts"
663 default y if !SMALL_FLASH
665 Enable support for multiple instances of devpts filesystem.
666 If you want to have isolated PTY namespaces (eg: in containers),
667 say Y here. Otherwise, say N. If enabled, each mount of devpts
668 filesystem with the '-o newinstance' option will create an
669 independent PTY namespace.
671 config KERNEL_POSIX_MQUEUE
672 bool "POSIX Message Queues"
673 default y if !SMALL_FLASH
675 POSIX variant of message queues is a part of IPC. In POSIX message
676 queues every message has a priority which decides about succession
677 of receiving it by a process. If you want to compile and run
678 programs written e.g. for Solaris with use of its POSIX message
679 queues (functions mq_*) say Y here.
681 POSIX message queues are visible as a filesystem called 'mqueue'
682 and can be mounted somewhere if you want to do filesystem
683 operations on message queues.
686 config KERNEL_SECCOMP_FILTER
688 default y if !SMALL_FLASH
690 config KERNEL_SECCOMP
691 bool "Enable seccomp support"
692 depends on !(TARGET_uml)
693 select KERNEL_SECCOMP_FILTER
694 default y if !SMALL_FLASH
696 Build kernel with support for seccomp.
702 config KERNEL_IP_MROUTE
703 bool "Enable IPv4 multicast routing"
706 Multicast routing requires a multicast routing daemon in
707 addition to kernel support.
718 config KERNEL_IPV6_MULTIPLE_TABLES
721 config KERNEL_IPV6_SUBTREES
724 config KERNEL_IPV6_MROUTE
725 bool "Enable IPv6 multicast routing"
728 Multicast routing requires a multicast routing daemon in
729 addition to kernel support.
731 config KERNEL_IPV6_PIMSM_V2
737 # NFS related symbols
740 bool "Compile the kernel with rootfs on NFS"
742 If you want to make your kernel boot off a NFS server as root
743 filesystem, select Y here.
747 config KERNEL_IP_PNP_DHCP
750 config KERNEL_IP_PNP_BOOTP
753 config KERNEL_IP_PNP_RARP
765 config KERNEL_ROOT_NFS
770 menu "Filesystem ACL and attr support options"
771 config USE_FS_ACL_ATTR
772 bool "Use filesystem ACL and attr support by default"
775 Make using ACLs (e.g. POSIX ACL, NFSv4 ACL) the default
776 for kernel and packages, except tmpfs, flash filesystems,
777 and old NFS. Also enable userspace extended attribute support
778 by default. (OpenWrt already has an expection it will be
779 present in the kernel).
781 config KERNEL_FS_POSIX_ACL
782 bool "Enable POSIX ACL support"
783 default y if USE_FS_ACL_ATTR
785 config KERNEL_BTRFS_FS_POSIX_ACL
786 bool "Enable POSIX ACL for BtrFS Filesystems"
787 select KERNEL_FS_POSIX_ACL
788 default y if USE_FS_ACL_ATTR
790 config KERNEL_EXT4_FS_POSIX_ACL
791 bool "Enable POSIX ACL for Ext4 Filesystems"
792 select KERNEL_FS_POSIX_ACL
793 default y if USE_FS_ACL_ATTR
795 config KERNEL_F2FS_FS_POSIX_ACL
796 bool "Enable POSIX ACL for F2FS Filesystems"
797 select KERNEL_FS_POSIX_ACL
800 config KERNEL_JFFS2_FS_POSIX_ACL
801 bool "Enable POSIX ACL for JFFS2 Filesystems"
802 select KERNEL_FS_POSIX_ACL
805 config KERNEL_TMPFS_POSIX_ACL
806 bool "Enable POSIX ACL for TMPFS Filesystems"
807 select KERNEL_FS_POSIX_ACL
810 config KERNEL_CIFS_ACL
811 bool "Enable CIFS ACLs"
812 select KERNEL_FS_POSIX_ACL
813 default y if USE_FS_ACL_ATTR
815 config KERNEL_HFS_FS_POSIX_ACL
816 bool "Enable POSIX ACL for HFS Filesystems"
817 select KERNEL_FS_POSIX_ACL
818 default y if USE_FS_ACL_ATTR
820 config KERNEL_HFSPLUS_FS_POSIX_ACL
821 bool "Enable POSIX ACL for HFS+ Filesystems"
822 select KERNEL_FS_POSIX_ACL
823 default y if USE_FS_ACL_ATTR
825 config KERNEL_NFS_ACL_SUPPORT
826 bool "Enable ACLs for NFS"
827 default y if USE_FS_ACL_ATTR
829 config KERNEL_NFS_V3_ACL_SUPPORT
830 bool "Enable ACLs for NFSv3"
833 config KERNEL_NFSD_V2_ACL_SUPPORT
834 bool "Enable ACLs for NFSDv2"
837 config KERNEL_NFSD_V3_ACL_SUPPORT
838 bool "Enable ACLs for NFSDv3"
841 config KERNEL_REISER_FS_POSIX_ACL
842 bool "Enable POSIX ACLs for ReiserFS"
843 select KERNEL_FS_POSIX_ACL
844 default y if USE_FS_ACL_ATTR
846 config KERNEL_XFS_POSIX_ACL
847 bool "Enable POSIX ACLs for XFS"
848 select KERNEL_FS_POSIX_ACL
849 default y if USE_FS_ACL_ATTR
851 config KERNEL_JFS_POSIX_ACL
852 bool "Enable POSIX ACLs for JFS"
853 select KERNEL_FS_POSIX_ACL
854 default y if USE_FS_ACL_ATTR
859 bool "/dev/mem virtual device support"
861 Say Y here if you want to support the /dev/mem device.
862 The /dev/mem device is used to access areas of physical
865 config KERNEL_DEVKMEM
866 bool "/dev/kmem virtual device support"
868 Say Y here if you want to support the /dev/kmem device. The
869 /dev/kmem device is rarely used, but can be used for certain
870 kind of kernel debugging operations.
872 config KERNEL_SQUASHFS_FRAGMENT_CACHE_SIZE
873 int "Number of squashfs fragments cached"
874 default 2 if (SMALL_FLASH && !LOW_MEMORY_FOOTPRINT)
878 # compile optimiziation setting
881 prompt "Compiler optimization level"
882 default KERNEL_CC_OPTIMIZE_FOR_SIZE if SMALL_FLASH
884 config KERNEL_CC_OPTIMIZE_FOR_PERFORMANCE
885 bool "Optimize for performance"
887 This is the default optimization level for the kernel, building
888 with the "-O2" compiler flag for best performance and most
889 helpful compile-time warnings.
891 config KERNEL_CC_OPTIMIZE_FOR_SIZE
892 bool "Optimize for size"
894 Enabling this option will pass "-Os" instead of "-O2" to
895 your compiler resulting in a smaller kernel.