build: use SPDX license tags
[openwrt/staging/mkresin.git] / config / Config-kernel.in
index 301d679e4eb5afda3d4cb19c2aecd4cb7a2f5e65..f71114b5daa8749aa78b2fcf13270e486170d1e2 100644 (file)
@@ -1,8 +1,6 @@
-# Copyright (C) 2006-2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
+# SPDX-License-Identifier: GPL-2.0-only
 #
+# Copyright (C) 2006-2014 OpenWrt.org
 
 config KERNEL_BUILD_USER
        string "Custom Kernel Build User Name"
@@ -35,6 +33,10 @@ config KERNEL_SWAP
        bool "Support for paging of anonymous memory (swap)"
        default y if !SMALL_FLASH
 
+config KERNEL_PROC_STRIPPED
+       bool "Strip non-essential /proc functionality to reduce code size"
+       default y if SMALL_FLASH
+
 config KERNEL_DEBUG_FS
        bool "Compile the kernel with debug filesystem enabled"
        default y
@@ -44,15 +46,9 @@ config KERNEL_DEBUG_FS
          write to these files. Many common debugging facilities, such as
          ftrace, require the existence of debugfs.
 
-# remove KERNEL_MIPS_FPU_EMULATOR after kernel 4.14 and 4.14 are gone
-config KERNEL_MIPS_FPU_EMULATOR
-       bool "Compile the kernel with MIPS FPU Emulator"
-       default y if TARGET_pistachio
-       depends on (mips || mipsel || mips64 || mips64el)
-
 config KERNEL_MIPS_FP_SUPPORT
        bool
-       default y if KERNEL_MIPS_FPU_EMULATOR
+       default y if TARGET_pistachio
 
 config KERNEL_ARM_PMU
        bool
@@ -272,6 +268,40 @@ config KERNEL_FUNCTION_PROFILER
        depends on KERNEL_FUNCTION_TRACER
        default n
 
+config KERNEL_IRQSOFF_TRACER
+       bool "Interrupts-off Latency Tracer"
+       depends on KERNEL_FTRACE
+       help
+         This option measures the time spent in irqs-off critical
+         sections, with microsecond accuracy.
+
+         The default measurement method is a maximum search, which is
+         disabled by default and can be runtime (re-)started
+         via:
+
+             echo 0 > /sys/kernel/debug/tracing/tracing_max_latency
+
+         (Note that kernel size and overhead increase with this option
+         enabled. This option and the preempt-off timing option can be
+         used together or separately.)
+
+config KERNEL_PREEMPT_TRACER
+       bool "Preemption-off Latency Tracer"
+       depends on KERNEL_FTRACE
+       help
+         This option measures the time spent in preemption-off critical
+         sections, with microsecond accuracy.
+
+         The default measurement method is a maximum search, which is
+         disabled by default and can be runtime (re-)started
+         via:
+
+             echo 0 > /sys/kernel/debug/tracing/tracing_max_latency
+
+         (Note that kernel size and overhead increase with this option
+         enabled. This option and the irqs-off timing option can be
+         used together or separately.)
+
 config KERNEL_DEBUG_KERNEL
        bool
        default n
@@ -333,10 +363,6 @@ config KERNEL_KPROBES
          instrumentation and testing.
          If in doubt, say "N".
 
-config KERNEL_KPROBE_EVENT
-       bool
-       default y if KERNEL_KPROBES
-
 config KERNEL_KPROBE_EVENTS
        bool
        default y if KERNEL_KPROBES
@@ -345,6 +371,10 @@ config KERNEL_AIO
        bool "Compile the kernel with asynchronous IO support"
        default y if !SMALL_FLASH
 
+config KERNEL_IO_URING
+       bool "Compile the kernel with io_uring support"
+       default y if !SMALL_FLASH
+
 config KERNEL_FHANDLE
        bool "Compile the kernel with support for fhandle syscalls"
        default y if !SMALL_FLASH
@@ -357,6 +387,30 @@ config KERNEL_BLK_DEV_BSG
        bool "Compile the kernel with SCSI generic v4 support for any block device"
        default n
 
+config KERNEL_TRANSPARENT_HUGEPAGE
+       bool
+
+choice
+       prompt "Transparent Hugepage Support sysfs defaults"
+       depends on KERNEL_TRANSPARENT_HUGEPAGE
+       default KERNEL_TRANSPARENT_HUGEPAGE_ALWAYS
+
+       config KERNEL_TRANSPARENT_HUGEPAGE_ALWAYS
+               bool "always"
+
+       config KERNEL_TRANSPARENT_HUGEPAGE_MADVISE
+               bool "madvise"
+endchoice
+
+config KERNEL_HUGETLBFS
+       bool
+
+config KERNEL_HUGETLB_PAGE
+       bool "Compile the kernel with HugeTLB support"
+       select KERNEL_TRANSPARENT_HUGEPAGE
+       select KERNEL_HUGETLBFS
+       default n
+
 config KERNEL_MAGIC_SYSRQ
        bool "Compile the kernel with SysRq support"
        default y
@@ -513,23 +567,23 @@ if KERNEL_DEVTMPFS
 endif
 
 config KERNEL_KEYS
-    bool "Enable kernel access key retention support"
-    default n
+       bool "Enable kernel access key retention support"
+       default !SMALL_FLASH
 
 config KERNEL_PERSISTENT_KEYRINGS
-    bool "Enable kernel persistent keyrings"
-    depends on KERNEL_KEYS
-    default n
+       bool "Enable kernel persistent keyrings"
+       depends on KERNEL_KEYS
+       default n
 
-config KERNEL_BIG_KEYS
-    bool "Enable large payload keys on kernel keyrings"
-    depends on KERNEL_KEYS
-    default n
+config KERNEL_KEYS_REQUEST_CACHE
+       bool "Enable temporary caching of the last request_key() result"
+       depends on KERNEL_KEYS
+       default n
 
-config KERNEL_ENCRYPTED_KEYS
-    tristate "Enable keys with encrypted payloads on kernel keyrings"
-    depends on KERNEL_KEYS
-    default n
+config KERNEL_BIG_KEYS
+       bool "Enable large payload keys on kernel keyrings"
+       depends on KERNEL_KEYS
+       default n
 
 #
 # CGROUP support symbols
@@ -551,21 +605,29 @@ if KERNEL_CGROUPS
 
        config KERNEL_FREEZER
                bool
-               default y if KERNEL_CGROUP_FREEZER
 
        config KERNEL_CGROUP_FREEZER
-               bool "Freezer cgroup subsystem"
-               default y
+               bool "legacy Freezer cgroup subsystem"
+               default n
+               select KERNEL_FREEZER
                help
                  Provides a way to freeze and unfreeze all tasks in a
                  cgroup.
+                 (legacy cgroup1-only controller, in cgroup2 freezer
+                 is integrated in the Memory controller)
 
        config KERNEL_CGROUP_DEVICE
-               bool "Device controller for cgroups"
-               default y
+               bool "legacy Device controller for cgroups"
+               default n
                help
                  Provides a cgroup implementing whitelists for devices which
                  a process in the cgroup can mknod or open.
+                 (legacy cgroup1-only controller)
+
+       config KERNEL_CGROUP_HUGETLB
+               bool "HugeTLB controller"
+               default n
+               select KERNEL_HUGETLB_PAGE
 
        config KERNEL_CGROUP_PIDS
                bool "PIDs cgroup subsystem"
@@ -574,9 +636,17 @@ if KERNEL_CGROUPS
                  Provides enforcement of process number limits in the scope of a
                  cgroup.
 
+       config KERNEL_CGROUP_RDMA
+               bool "RDMA controller for cgroups"
+               default y
+
+       config KERNEL_CGROUP_BPF
+               bool "Support for eBPF programs attached to cgroups"
+               default y
+
        config KERNEL_CPUSETS
                bool "Cpuset support"
-               default y if !SMALL_FLASH
+               default y
                help
                  This option will let you create and manage CPUSETs which
                  allow dynamically partitioning a system into sets of CPUs and
@@ -590,14 +660,14 @@ if KERNEL_CGROUPS
 
        config KERNEL_CGROUP_CPUACCT
                bool "Simple CPU accounting cgroup subsystem"
-               default y if !SMALL_FLASH
+               default y
                help
                  Provides a simple Resource Controller for monitoring the
                  total CPU consumed by the tasks in a cgroup.
 
        config KERNEL_RESOURCE_COUNTERS
                bool "Resource counters"
-               default y if !SMALL_FLASH
+               default y
                help
                  This option enables controller independent resource accounting
                  infrastructure that works with cgroups.
@@ -608,7 +678,8 @@ if KERNEL_CGROUPS
 
        config KERNEL_MEMCG
                bool "Memory Resource Controller for Control Groups"
-               default y if !SMALL_FLASH
+               default y
+               select KERNEL_FREEZER
                depends on KERNEL_RESOURCE_COUNTERS || !LINUX_3_18
                help
                  Provides a memory resource controller that manages both anonymous
@@ -631,7 +702,7 @@ if KERNEL_CGROUPS
 
        config KERNEL_MEMCG_SWAP
                bool "Memory Resource Controller Swap Extension"
-               default n
+               default y
                depends on KERNEL_MEMCG
                help
                  Add swap management feature to memory resource controller. When you
@@ -666,7 +737,7 @@ if KERNEL_CGROUPS
 
        config KERNEL_MEMCG_KMEM
                bool "Memory Resource Controller Kernel Memory accounting (EXPERIMENTAL)"
-               default y if !SMALL_FLASH
+               default y
                depends on KERNEL_MEMCG
                help
                  The Kernel Memory extension for Memory Resource Controller can limit
@@ -687,7 +758,7 @@ if KERNEL_CGROUPS
 
        menuconfig KERNEL_CGROUP_SCHED
                bool "Group CPU scheduler"
-               default y if !SMALL_FLASH
+               default y
                help
                  This feature lets CPU scheduler recognize task groups and control CPU
                  bandwidth allocation to such task groups. It uses cgroups to group
@@ -697,11 +768,11 @@ if KERNEL_CGROUPS
 
                config KERNEL_FAIR_GROUP_SCHED
                        bool "Group scheduling for SCHED_OTHER"
-                       default y if !SMALL_FLASH
+                       default y
 
                config KERNEL_CFS_BANDWIDTH
                        bool "CPU bandwidth provisioning for FAIR_GROUP_SCHED"
-                       default n
+                       default y
                        depends on KERNEL_FAIR_GROUP_SCHED
                        help
                          This option allows users to define CPU bandwidth rates (limits) for
@@ -712,7 +783,7 @@ if KERNEL_CGROUPS
 
                config KERNEL_RT_GROUP_SCHED
                        bool "Group scheduling for SCHED_RR/FIFO"
-                       default y if !SMALL_FLASH
+                       default y
                        help
                          This feature lets you explicitly allocate real CPU bandwidth
                          to task groups. If enabled, it will also make it impossible to
@@ -747,7 +818,7 @@ if KERNEL_CGROUPS
 
                config KERNEL_BLK_DEV_THROTTLING
                        bool "Enable throttling policy"
-                       default y if TARGET_bcm27xx
+                       default y
 
                config KERNEL_BLK_DEV_THROTTLING_LOW
                        bool "Block throttling .low limit interface support (EXPERIMENTAL)"
@@ -763,12 +834,16 @@ if KERNEL_CGROUPS
                  files in a cgroup which can be useful for debugging.
 
        config KERNEL_NET_CLS_CGROUP
-               bool "Control Group Classifier"
-               default y
+               bool "legacy Control Group Classifier"
+               default n
+
+       config KERNEL_CGROUP_NET_CLASSID
+               bool "legacy Network classid cgroup"
+               default n
 
        config KERNEL_CGROUP_NET_PRIO
-               bool "Network priority cgroup"
-               default y
+               bool "legacy Network priority cgroup"
+               default n
 
 endif
 
@@ -893,6 +968,15 @@ if KERNEL_IPV6
        config KERNEL_IPV6_PIMSM_V2
                def_bool n
 
+       config KERNEL_IPV6_SEG6_LWTUNNEL
+               bool "Enable support for lightweight tunnels"
+               default y if !SMALL_FLASH
+               help
+                 Using lwtunnel (needed for IPv6 segment routing) requires ip-full package.
+
+       config KERNEL_LWTUNNEL_BPF
+               def_bool n
+
 endif
 
 #
@@ -1036,6 +1120,9 @@ config KERNEL_SQUASHFS_FRAGMENT_CACHE_SIZE
        default 2 if (SMALL_FLASH && !LOW_MEMORY_FOOTPRINT)
        default 3
 
+config KERNEL_SQUASHFS_XATTR
+       bool "Squashfs XATTR support"
+
 #
 # compile optimiziation setting
 #
@@ -1057,3 +1144,59 @@ config KERNEL_CC_OPTIMIZE_FOR_SIZE
          your compiler resulting in a smaller kernel.
 
 endchoice
+
+config KERNEL_AUDIT
+       bool "Auditing support"
+
+config KERNEL_SECURITY
+       bool "Enable different security models"
+
+config KERNEL_SECURITY_NETWORK
+       bool "Socket and Networking Security Hooks"
+       select KERNEL_SECURITY
+
+config KERNEL_SECURITY_SELINUX
+       bool "NSA SELinux Support"
+       select KERNEL_SECURITY_NETWORK
+       select KERNEL_AUDIT
+
+config KERNEL_SECURITY_SELINUX_BOOTPARAM
+       bool "NSA SELinux boot parameter"
+       depends on KERNEL_SECURITY_SELINUX
+       default y
+
+config KERNEL_SECURITY_SELINUX_DISABLE
+       bool "NSA SELinux runtime disable"
+       depends on KERNEL_SECURITY_SELINUX
+
+config KERNEL_SECURITY_SELINUX_DEVELOP
+       bool "NSA SELinux Development Support"
+       depends on KERNEL_SECURITY_SELINUX
+       default y
+
+config KERNEL_SECURITY_SELINUX_SIDTAB_HASH_BITS
+       int
+       depends on KERNEL_SECURITY_SELINUX
+       default 9
+
+config KERNEL_SECURITY_SELINUX_SID2STR_CACHE_SIZE
+       int
+       depends on KERNEL_SECURITY_SELINUX
+       default 256
+
+config KERNEL_LSM
+       string
+       default "lockdown,yama,loadpin,safesetid,integrity,selinux"
+       depends on KERNEL_SECURITY_SELINUX
+
+config KERNEL_EXT4_FS_SECURITY
+       bool "Ext4 Security Labels"
+
+config KERNEL_F2FS_FS_SECURITY
+       bool "F2FS Security Labels"
+
+config KERNEL_UBIFS_FS_SECURITY
+       bool "UBIFS Security Labels"
+
+config KERNEL_JFFS2_FS_SECURITY
+       bool "JFFS2 Security Labels"