2015-03-24 21:34:54 +00:00
|
|
|
/*
|
|
|
|
|
|
|
|
WARNING/NOTE: whenever you want to add an option here you need to
|
|
|
|
either
|
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
* make sure it works for all the versions in nixpkgs,
|
2015-03-24 21:34:54 +00:00
|
|
|
* or check for which kernel versions it will work (using kernel
|
|
|
|
changelog, google or whatever) and mark it with `versionOlder` or
|
2017-08-05 02:08:46 +00:00
|
|
|
`versionAtLeast`
|
|
|
|
|
|
|
|
This file has a fairly obvious structure, follow it!
|
|
|
|
Do not duplicate predicates, sort options alphabetically, comment if
|
|
|
|
the option's functionality is non-obvious.
|
2015-03-24 21:34:54 +00:00
|
|
|
|
|
|
|
Then do test your change by building all the kernels (or at least
|
2016-07-11 12:30:29 +00:00
|
|
|
their configs) in Nixpkgs or else you will guarantee lots and lots
|
2015-03-24 21:34:54 +00:00
|
|
|
of pain to users trying to switch to an older kernel because of some
|
|
|
|
hardware problems with a new one.
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
2014-05-07 22:26:33 +00:00
|
|
|
{ stdenv, version, kernelPlatform, extraConfig, features }:
|
2013-07-31 21:56:48 +00:00
|
|
|
|
|
|
|
with stdenv.lib;
|
|
|
|
|
|
|
|
''
|
2017-08-05 02:08:46 +00:00
|
|
|
# Globally applicable
|
2016-02-01 16:54:35 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
8139TOO_8129 y
|
|
|
|
8139TOO_PIO n # PIO is slower
|
|
|
|
9P_FS_POSIX_ACL y
|
|
|
|
9P_FSCACHE y
|
|
|
|
ACCESSIBILITY y # Accessibility support
|
|
|
|
AIC79XX_DEBUG_ENABLE n
|
|
|
|
AIC7XXX_DEBUG_ENABLE n
|
|
|
|
AIC94XX_DEBUG n
|
|
|
|
ASYNC_RAID6_TEST n
|
|
|
|
ATH9K_AHB y # Ditto, AHB bus
|
|
|
|
ATH9K_PCI y # Detect Atheros AR9xxx cards on PCI(e) bus
|
|
|
|
ATOMIC64_SELFTEST n
|
|
|
|
AUXDISPLAY y # Auxiliary Display support
|
|
|
|
B43_PHY_HT y
|
2013-07-31 21:56:48 +00:00
|
|
|
BACKTRACE_SELF_TEST n
|
2017-08-05 02:08:46 +00:00
|
|
|
BACKTRACE_SELF_TEST n
|
|
|
|
BCMA_HOST_PCI y
|
|
|
|
BINFMT_MISC y
|
|
|
|
BINFMT_SCRIPT y # Our initrd init uses shebang scripts, so can't be modular.
|
|
|
|
BLK_CGROUP y # required by CFQ
|
|
|
|
BLK_DEV_INITRD y # Enable initrd support
|
|
|
|
BLK_DEV_INTEGRITY y
|
|
|
|
BLK_DEV_RAM y # Enable initrd support
|
|
|
|
BLK_DEV_THROTTLING y
|
|
|
|
BONDING m
|
|
|
|
BRCMFMAC_USB y
|
|
|
|
BRIDGE_VLAN_FILTERING y
|
|
|
|
BSD_PROCESS_ACCT_V3 y
|
|
|
|
BT_HCIUART_BCSP y
|
|
|
|
BT_HCIUART_H4 y # UART (H4) protocol support
|
|
|
|
BT_HCIUART_LL y
|
|
|
|
BT_RFCOMM_TTY y # RFCOMM TTY support
|
|
|
|
BTRFS_FS_POSIX_ACL y
|
|
|
|
CC_OPTIMIZE_FOR_SIZE n # Optimize with -O2
|
|
|
|
CFG80211_WEXT y # Without it, ipw2200 drivers don't build
|
|
|
|
CFQ_GROUP_IOSCHED y
|
|
|
|
CGROUP_DEVICE y
|
|
|
|
CGROUPS y # used by systemd
|
|
|
|
CIFS_ACL y
|
|
|
|
CIFS_DFS_UPCALL y
|
|
|
|
CIFS_FSCACHE y
|
|
|
|
CIFS_POSIX y
|
|
|
|
CIFS_STATS y
|
|
|
|
CIFS_UPCALL y
|
|
|
|
CIFS_WEAK_PW_HASH y
|
|
|
|
CIFS_XATTR y
|
|
|
|
CLEANCACHE y
|
|
|
|
CLS_U32_MARK y
|
|
|
|
CLS_U32_PERF y
|
|
|
|
CONNECTOR y # PROC_EVENTS requires that the netlink connector is not built as a module
|
|
|
|
CPU_FREQ_DEFAULT_GOV_PERFORMANCE y
|
|
|
|
CRASH_DUMP n
|
|
|
|
CRC32_SELFTEST n
|
|
|
|
CRYPTO_TEST n
|
2013-07-31 21:56:48 +00:00
|
|
|
DEBUG_DEVRES n
|
2017-08-05 02:08:46 +00:00
|
|
|
DEBUG_KERNEL y
|
2013-07-31 21:56:48 +00:00
|
|
|
DEBUG_STACK_USAGE n
|
2016-08-28 23:17:45 +00:00
|
|
|
DEBUG_STACKOVERFLOW n
|
2017-08-05 02:08:46 +00:00
|
|
|
DEFAULT_SECURITY_APPARMOR y
|
2013-07-31 22:50:48 +00:00
|
|
|
DETECT_HUNG_TASK y
|
2017-08-05 02:08:46 +00:00
|
|
|
DEVTMPFS y
|
2013-07-31 21:56:48 +00:00
|
|
|
DONGLE y # Serial dongle support
|
2017-08-05 02:08:46 +00:00
|
|
|
DRM_GMA3600 y
|
|
|
|
DRM_GMA600 y
|
|
|
|
DRM_LOAD_EDID_FIRMWARE y
|
|
|
|
DVB_DYNAMIC_MINORS y # we use udev
|
|
|
|
EFI_STUB y # EFI bootloader in the bzImage itself
|
|
|
|
EXT2_FS_POSIX_ACL y
|
|
|
|
EXT2_FS_SECURITY y
|
|
|
|
EXT2_FS_XATTR y
|
|
|
|
EXT3_FS_POSIX_ACL y
|
|
|
|
EXT3_FS_SECURITY y
|
|
|
|
EXT4_FS_POSIX_ACL y
|
|
|
|
EXT4_FS_SECURITY y
|
|
|
|
F2FS_FS m
|
|
|
|
FANOTIFY y
|
2013-07-31 21:56:48 +00:00
|
|
|
FB y
|
2017-08-05 02:08:46 +00:00
|
|
|
FB_3DFX_ACCEL y
|
|
|
|
FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support
|
|
|
|
FB_ATY_GX y # Mach64 GX support
|
2013-07-31 21:56:48 +00:00
|
|
|
FB_EFI y
|
|
|
|
FB_NVIDIA_I2C y # Enable DDC Support
|
|
|
|
FB_RIVA_I2C y
|
|
|
|
FB_SAVAGE_ACCEL y
|
2017-08-05 02:08:46 +00:00
|
|
|
FB_SAVAGE_I2C y
|
2013-07-31 21:56:48 +00:00
|
|
|
FB_SIS_300 y
|
|
|
|
FB_SIS_315 y
|
2015-06-03 20:43:17 +00:00
|
|
|
FB_VESA y
|
2017-08-05 02:08:46 +00:00
|
|
|
FHANDLE y # used by systemd
|
2015-06-03 20:43:17 +00:00
|
|
|
FRAMEBUFFER_CONSOLE y
|
2016-01-07 15:47:50 +00:00
|
|
|
FRAMEBUFFER_CONSOLE_ROTATION y
|
2017-08-05 02:08:46 +00:00
|
|
|
FRONTSWAP y
|
|
|
|
FUSION y # Fusion MPT device support
|
|
|
|
HIPPI y
|
|
|
|
HOSTAP_FIRMWARE_NVRAM y
|
|
|
|
HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver
|
|
|
|
HWMON y
|
|
|
|
HYPERVISOR_GUEST y
|
|
|
|
IDE n # deprecated IDE supportIRDA_ULTRA y # Ultra (connectionless) protocol
|
|
|
|
IKCONFIG y # Make /proc/config.gz available
|
|
|
|
IKCONFIG_PROC y # Make /proc/config.gz available
|
|
|
|
INTEL_IDLE y
|
|
|
|
INTERVAL_TREE_TEST n
|
|
|
|
IOSCHED_CFQ y # Include the CFQ I/O scheduler in the kernel, rather than as a module, so that the initrd gets a good I/O scheduler
|
|
|
|
IOSCHED_DEADLINE y
|
|
|
|
IP_DCCP_CCID3 n # experimental
|
|
|
|
IP_MROUTE_MULTIPLE_TABLES y
|
|
|
|
IP_MULTICAST y
|
|
|
|
IP_NF_TARGET_REDIRECT m
|
|
|
|
IP_PNP n
|
|
|
|
IP_ROUTE_VERBOSE y
|
|
|
|
IP_VS_PROTO_AH y
|
|
|
|
IP_VS_PROTO_ESP y
|
|
|
|
IP_VS_PROTO_TCP y
|
|
|
|
IP_VS_PROTO_UDP y
|
|
|
|
IPV6_MROUTE y
|
|
|
|
IPV6_MROUTE_MULTIPLE_TABLES y
|
|
|
|
IPV6_MULTIPLE_TABLES y
|
|
|
|
IPV6_OPTIMISTIC_DAD y
|
|
|
|
IPV6_PIMSM_V2 y
|
|
|
|
IPV6_ROUTE_INFO y
|
|
|
|
IPV6_ROUTER_PREF y
|
|
|
|
IPV6_SUBTREES y
|
|
|
|
IPW2100_MONITOR y # support promiscuous mode
|
|
|
|
IPW2200_MONITOR y # support promiscuous mode
|
|
|
|
JFS_POSIX_ACL y
|
|
|
|
JFS_SECURITY y
|
|
|
|
JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels
|
|
|
|
JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels
|
|
|
|
JOYSTICK_XPAD_FF y # X-Box gamepad rumble support
|
|
|
|
JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED
|
|
|
|
KERNEL_XZ y
|
|
|
|
KEXEC_JUMP y
|
|
|
|
KPROBES y
|
|
|
|
KSM y
|
|
|
|
KVM_ASYNC_PF y
|
|
|
|
KVM_GUEST y
|
|
|
|
KVM_MMIO y
|
|
|
|
L2TP_ETH m
|
|
|
|
L2TP_IP m
|
|
|
|
L2TP_V3 y
|
|
|
|
LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support
|
|
|
|
LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback
|
|
|
|
LOGO n # not needed
|
|
|
|
MEDIA_ATTACH y
|
|
|
|
MEDIA_CAMERA_SUPPORT y
|
|
|
|
MEDIA_DIGITAL_TV_SUPPORT y
|
|
|
|
MEDIA_RC_SUPPORT y
|
|
|
|
MEDIA_USB_SUPPORT y
|
|
|
|
MEGARAID_NEWGEN y
|
|
|
|
MEMCG y
|
|
|
|
MEMCG_SWAP y
|
|
|
|
MEMTEST y # Enable the kernel's built-in memory tester
|
|
|
|
MICROCODE y
|
|
|
|
MICROCODE_AMD y
|
|
|
|
MICROCODE_INTEL y
|
|
|
|
MMC_BLOCK_MINORS 32 # 8 is default. Modern gpt tables on eMMC may go far beyond 8.
|
|
|
|
MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension
|
|
|
|
MTD_COMPLEX_MAPPINGS y # needed for many devices
|
|
|
|
MTD_TESTS n
|
|
|
|
MTRR_SANITIZER y
|
|
|
|
NAMESPACES y # Required by 'unshare' used by 'nixos-install'
|
|
|
|
NET y
|
|
|
|
NET_FC y # Fibre Channel driver support
|
|
|
|
NETFILTER y
|
|
|
|
NETFILTER_ADVANCED y
|
|
|
|
NFS_FSCACHE y
|
|
|
|
NFS_SWAP y
|
|
|
|
NFS_V3_ACL y
|
|
|
|
NFSD_V2_ACL y
|
|
|
|
NFSD_V3 y
|
|
|
|
NFSD_V3_ACL y
|
|
|
|
NFSD_V4 y
|
|
|
|
NLS y
|
|
|
|
NLS_CODEPAGE_437 m # VFAT default for the codepage= mount option
|
|
|
|
NLS_DEFAULT utf8
|
|
|
|
NLS_ISO8859_1 m # VFAT default for the iocharset= mount option
|
|
|
|
NLS_UTF8 m
|
|
|
|
NOTIFIER_ERROR_INJECTION n
|
|
|
|
NUMA y
|
|
|
|
OCFS2_DEBUG_MASKLOG n
|
|
|
|
PARAVIRT_SPINLOCKS y
|
|
|
|
PARAVIRT y
|
|
|
|
PM_ADVANCED_DEBUG y
|
|
|
|
PM_TRACE_RTC n # Disable some expensive () features
|
|
|
|
PM_WAKELOCKS y
|
|
|
|
POSIX_MQUEUE y
|
|
|
|
PPP_FILTER y
|
|
|
|
PPP_MULTILINK y # PPP multilink support
|
|
|
|
PROC_EVENTS y
|
|
|
|
RBTREE_TEST n
|
|
|
|
RC_DEVICES y # Enable IR devices
|
|
|
|
RCU_TORTURE_TEST n
|
|
|
|
REGULATOR y # Voltage and Current Regulator Support
|
|
|
|
REISERFS_FS_POSIX_ACL y
|
|
|
|
REISERFS_FS_SECURITY y
|
|
|
|
REISERFS_FS_XATTR y
|
|
|
|
RT_GROUP_SCHED n
|
|
|
|
RT2800USB_RT55XX y
|
|
|
|
SCHED_AUTOGROUP y
|
|
|
|
SCHEDSTATS n
|
|
|
|
SCSI_LOGGING y # SCSI logging facility
|
|
|
|
SCSI_LOWLEVEL y # enable lots of SCSI devices
|
|
|
|
SCSI_LOWLEVEL_PCMCIA y
|
|
|
|
SCSI_SAS_ATA y # added to enable detection of hard drive
|
|
|
|
SECCOMP y # used by systemd >= 231
|
|
|
|
SECCOMP_FILTER y # ditto
|
|
|
|
SECURITY_APPARMOR y
|
|
|
|
SECURITY_SELINUX_BOOTPARAM_VALUE 0 # Disable SELinux by default
|
|
|
|
SERIAL_8250 y # 8250/16550 and compatible serial support
|
|
|
|
SLIP_COMPRESSED y # CSLIP compressed headers
|
|
|
|
SLIP_SMART y
|
2013-07-31 21:56:48 +00:00
|
|
|
SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode
|
2017-08-05 02:08:46 +00:00
|
|
|
SND_DYNAMIC_MINORS y
|
2013-07-31 21:56:48 +00:00
|
|
|
SND_HDA_INPUT_BEEP y # Support digital beep via input layer
|
2017-05-26 13:18:11 +00:00
|
|
|
SND_HDA_PATCH_LOADER y # Support configuring jack functions via fw mechanism at boot
|
2017-08-05 02:08:46 +00:00
|
|
|
SND_HDA_RECONFIG y # Support reconfiguration of jack functions
|
2013-07-31 21:56:48 +00:00
|
|
|
SND_USB_CAIAQ_INPUT y
|
2017-08-05 02:08:46 +00:00
|
|
|
SPI y # needed for many devices
|
|
|
|
SPI_MASTER y
|
|
|
|
SQUASHFS_LZO y
|
|
|
|
SQUASHFS_XATTR y
|
|
|
|
SQUASHFS_XZ y
|
|
|
|
SQUASHFS_ZLIB y
|
|
|
|
STAGING y
|
|
|
|
STANDALONE n # Support drivers that need external firmware.
|
|
|
|
STRICT_DEVMEM y # Filter access to /dev/mem
|
|
|
|
TEST_KSTRTOX n
|
|
|
|
TEST_LIST_SORT n
|
|
|
|
TEST_STRING_HELPERS n
|
|
|
|
THERMAL_HWMON y # Hardware monitoring support
|
|
|
|
TMPFS y
|
|
|
|
TMPFS_POSIX_ACL y
|
|
|
|
TRANSPARENT_HUGEPAGE_ALWAYS n
|
|
|
|
TRANSPARENT_HUGEPAGE_MADVISE y
|
|
|
|
TRANSPARENT_HUGEPAGE y
|
|
|
|
UBIFS_FS_ADVANCED_COMPR y
|
|
|
|
UDF_FS m
|
|
|
|
UNIX y
|
|
|
|
USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators
|
|
|
|
USB_EHCI_TT_NEWSCHED y # Improved transaction translator scheduling
|
2013-07-31 21:56:48 +00:00
|
|
|
USB_SERIAL_GENERIC y # USB Generic Serial Driver
|
|
|
|
USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices
|
2017-08-05 02:08:46 +00:00
|
|
|
USB_SERIAL_KEYSPAN_USA18X y
|
|
|
|
USB_SERIAL_KEYSPAN_USA19 y
|
|
|
|
USB_SERIAL_KEYSPAN_USA19QI y
|
|
|
|
USB_SERIAL_KEYSPAN_USA19QW y
|
|
|
|
USB_SERIAL_KEYSPAN_USA19W y
|
2013-07-31 21:56:48 +00:00
|
|
|
USB_SERIAL_KEYSPAN_USA28 y
|
|
|
|
USB_SERIAL_KEYSPAN_USA28X y
|
|
|
|
USB_SERIAL_KEYSPAN_USA28XA y
|
|
|
|
USB_SERIAL_KEYSPAN_USA28XB y
|
|
|
|
USB_SERIAL_KEYSPAN_USA49W y
|
|
|
|
USB_SERIAL_KEYSPAN_USA49WLC y
|
2017-08-05 02:08:46 +00:00
|
|
|
VGA_SWITCHEROO y # Hybrid graphics support
|
|
|
|
VIRT_DRIVERS y
|
|
|
|
WAN y
|
|
|
|
X86_CHECK_BIOS_CORRUPTION y
|
|
|
|
X86_MCE y
|
|
|
|
XFS_POSIX_ACL y
|
|
|
|
XFS_QUOTA y
|
|
|
|
XFS_RT y # XFS Realtime subvolume support
|
|
|
|
XZ_DEC_TEST n
|
|
|
|
ZRAM m
|
2013-07-31 21:56:48 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
# Architecture dependent
|
2016-09-13 10:51:14 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (stdenv.isx86_64 || stdenv.isi686) ''
|
|
|
|
XEN y
|
|
|
|
XEN_DOM0 y
|
|
|
|
${optionalString ((versionAtLeast version "3.18") && (features.xen_dom0 or false)) ''
|
|
|
|
HVC_XEN_FRONTEND y
|
|
|
|
HVC_XEN y
|
|
|
|
PCI_XEN y
|
|
|
|
SWIOTLB_XEN y
|
|
|
|
XEN_BACKEND y
|
|
|
|
XEN_BALLOON_MEMORY_HOTPLUG y
|
|
|
|
XEN_BALLOON y
|
|
|
|
XEN_EFI y
|
|
|
|
XEN_HAVE_PVMMU y
|
|
|
|
XEN_MCE_LOG y
|
|
|
|
XEN_PVH y
|
|
|
|
XEN_PVHVM y
|
|
|
|
XEN_SAVE_RESTORE y
|
|
|
|
XEN_SCRUB_PAGES y
|
|
|
|
XEN_SELFBALLOONING y
|
|
|
|
XEN_STUB y
|
|
|
|
XEN_SYS_HYPERVISOR y
|
|
|
|
XEN_TMEM y
|
|
|
|
''}
|
2017-03-22 00:30:37 +00:00
|
|
|
''}
|
2014-11-01 00:07:06 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (!stdenv.is64bit) ''
|
|
|
|
HIGHMEM64G y # We need 64 GB (PAE) support for Xen guest support.
|
2013-09-25 10:49:49 +00:00
|
|
|
''}
|
2013-07-31 21:56:48 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (stdenv.is64bit) ''
|
|
|
|
IRQ_REMAP y
|
|
|
|
VFIO_PCI_VGA y
|
|
|
|
X86_X2APIC y
|
2015-03-25 18:29:57 +00:00
|
|
|
''}
|
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (stdenv.system == "i686-linux") ''
|
|
|
|
FB_GEODE y
|
2015-05-15 23:36:54 +00:00
|
|
|
''}
|
2017-08-05 02:08:46 +00:00
|
|
|
|
|
|
|
${optionalString (stdenv.system == "x86_64-linux") ''
|
|
|
|
BPF_JIT y
|
2016-11-28 00:47:34 +00:00
|
|
|
''}
|
2017-08-05 02:08:46 +00:00
|
|
|
|
|
|
|
${optionalString (stdenv.system == "x86_64-linux" || stdenv.system == "aarch64-linux") ''
|
|
|
|
NR_CPUS 384
|
2015-10-16 10:36:18 +00:00
|
|
|
''}
|
2017-08-05 02:08:46 +00:00
|
|
|
|
|
|
|
# Kernel version dependent
|
|
|
|
|
|
|
|
${optionalString (versionAtLeast version "3.3" && versionOlder version "3.13") ''
|
|
|
|
AUDIT_LOGINUID_IMMUTABLE y
|
2015-04-06 12:00:03 +00:00
|
|
|
''}
|
2017-08-05 02:08:46 +00:00
|
|
|
|
|
|
|
${optionalString (versionOlder version "3.10") ''
|
|
|
|
ARM_KPROBES_TEST n
|
|
|
|
CPU_NOTIFIER_ERROR_INJECT n
|
|
|
|
EFI_TEST n
|
|
|
|
RCU_PERF_TEST n
|
|
|
|
TEST_ASYNC_DRIVER_PROBE n
|
|
|
|
TEST_BITMAP n
|
|
|
|
TEST_HASH n
|
|
|
|
TEST_UUID n
|
|
|
|
USB_SUSPEND y
|
2015-03-20 22:05:43 +00:00
|
|
|
''}
|
2017-08-05 02:08:46 +00:00
|
|
|
|
|
|
|
${optionalString (versionAtLeast version "3.10") ''
|
|
|
|
X86_INTEL_PSTATE y
|
|
|
|
''}
|
|
|
|
|
|
|
|
${optionalString (versionAtLeast version "3.11") ''
|
|
|
|
NFS_V4_1 y # NFSv4.1 client support
|
|
|
|
NFS_V4_2 y
|
|
|
|
NFS_V4_SECURITY_LABEL y
|
|
|
|
NFSD_V4_SECURITY_LABEL y
|
|
|
|
PINCTRL_BAYTRAIL y # GPIO on Intel Bay Trail, for some Chromebook internal eMMC disks
|
|
|
|
X86_INTEL_LPSS y
|
|
|
|
|
|
|
|
${optionalString (versionOlder version "4.4") ''
|
|
|
|
MICROCODE_AMD_EARLY y
|
|
|
|
MICROCODE_EARLY y
|
|
|
|
MICROCODE_INTEL_EARLY y
|
|
|
|
''}
|
2016-07-11 12:19:55 +00:00
|
|
|
''}
|
2013-07-31 21:56:48 +00:00
|
|
|
|
2017-08-06 15:15:30 +00:00
|
|
|
${optionalString (versionAtLeast version "3.12") ''
|
2017-08-05 02:08:46 +00:00
|
|
|
CEPH_FSCACHE y
|
2017-08-06 15:15:30 +00:00
|
|
|
HOTPLUG_PCI_ACPI y # PCI hotplug using ACPI
|
|
|
|
HOTPLUG_PCI_PCIE y # PCI-Expresscard hotplug support
|
2017-08-05 02:08:46 +00:00
|
|
|
USER_NS y # Support for user namespaces
|
2017-08-06 15:15:30 +00:00
|
|
|
''}
|
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionOlder version "3.13") ''
|
|
|
|
IPV6_PRIVACY y
|
2016-07-11 12:19:55 +00:00
|
|
|
''}
|
2013-07-31 21:56:48 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionAtLeast version "3.13") ''
|
|
|
|
KVM_VFIO y
|
|
|
|
SQUASHFS_DECOMP_MULTI_PERCPU y
|
|
|
|
SQUASHFS_FILE_DIRECT y
|
|
|
|
''}
|
2013-07-31 21:56:48 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionOlder version "3.14") ''
|
|
|
|
CC_STACKPROTECTOR y # Detect buffer overflows on the stack
|
|
|
|
''}
|
2013-07-31 21:56:48 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionAtLeast version "3.14") ''
|
|
|
|
CC_STACKPROTECTOR_REGULAR y # Detect buffer overflows on the stack
|
|
|
|
CEPH_FS_POSIX_ACL y
|
|
|
|
''}
|
2017-03-22 00:30:37 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionOlder version "3.15") ''
|
|
|
|
USB_DEBUG n
|
2017-03-22 00:30:37 +00:00
|
|
|
''}
|
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionAtLeast version "3.15") ''
|
|
|
|
UEVENT_HELPER n
|
|
|
|
|
|
|
|
${optionalString (versionOlder version "4.8") ''
|
|
|
|
MLX4_EN_VXLAN y
|
|
|
|
''}
|
2016-04-06 13:25:14 +00:00
|
|
|
''}
|
2013-07-31 21:56:48 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionOlder version "3.18") ''
|
|
|
|
ZSMALLOC y
|
|
|
|
''}
|
2013-07-31 21:56:48 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionAtLeast version "3.18") ''
|
|
|
|
MODULE_COMPRESS y # Compress kernel modules for a sizable disk space savings
|
|
|
|
MODULE_COMPRESS_XZ y
|
|
|
|
ZSMALLOC m
|
|
|
|
''}
|
2013-07-31 21:56:48 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionOlder version "3.19") ''
|
|
|
|
PM_RUNTIME y # Power management
|
2016-08-29 18:07:15 +00:00
|
|
|
''}
|
2017-08-05 02:08:46 +00:00
|
|
|
|
|
|
|
${optionalString (versionAtLeast version "3.19") ''
|
|
|
|
SQUASHFS_LZ4 y
|
2015-05-15 23:50:20 +00:00
|
|
|
''}
|
2017-08-05 02:08:46 +00:00
|
|
|
|
|
|
|
${optionalString (versionOlder version "4.0") ''
|
|
|
|
EXT2_FS_XIP y # Ext2 execute in place support
|
2017-05-15 02:03:14 +00:00
|
|
|
''}
|
2017-08-05 02:08:46 +00:00
|
|
|
|
2015-05-15 23:50:20 +00:00
|
|
|
${optionalString (versionAtLeast version "4.0") ''
|
|
|
|
KVM_GENERIC_DIRTYLOG_READ_PROTECT y
|
2017-08-05 02:08:46 +00:00
|
|
|
|
|
|
|
${optionalString (versionOlder version "4.6") ''
|
|
|
|
NFSD_PNFS y
|
|
|
|
''}
|
|
|
|
|
|
|
|
${optionalString (versionOlder version "4.12") ''
|
|
|
|
KVM_COMPAT y
|
|
|
|
''}
|
2015-05-15 23:50:20 +00:00
|
|
|
''}
|
2017-08-05 02:08:46 +00:00
|
|
|
|
|
|
|
${optionalString (versionOlder version "4.3" && !(features.chromiumos or false)) ''
|
|
|
|
DRM_I915_KMS y
|
2015-05-15 23:50:20 +00:00
|
|
|
''}
|
2017-08-05 02:08:46 +00:00
|
|
|
|
|
|
|
${optionalString (versionAtLeast version "4.3") ''
|
|
|
|
CGROUP_PIDS y
|
|
|
|
IDLE_PAGE_TRACKING y
|
|
|
|
|
|
|
|
${optionalString (!features.grsecurity or false) ''
|
|
|
|
USERFAULTFD y
|
2017-07-13 17:12:50 +00:00
|
|
|
''}
|
2015-02-10 15:53:03 +00:00
|
|
|
''}
|
2017-08-05 02:08:46 +00:00
|
|
|
|
|
|
|
${optionalString (versionOlder version "4.4") ''
|
|
|
|
B43_PCMCIA y
|
2013-08-01 12:01:59 +00:00
|
|
|
''}
|
2017-08-05 02:08:46 +00:00
|
|
|
|
|
|
|
${optionalString (versionAtLeast version "4.4") ''
|
|
|
|
BPF_SYSCALL y
|
|
|
|
BRCMFMAC_PCIE y
|
|
|
|
F2FS_FS_ENCRYPTION y
|
|
|
|
F2FS_FS_SECURITY y
|
|
|
|
FW_LOADER_USER_HELPER_FALLBACK n
|
|
|
|
GLOB_SELFTEST n
|
|
|
|
KEXEC_FILE y
|
|
|
|
LNET_SELFTEST n
|
|
|
|
LOCK_TORTURE_TEST n
|
|
|
|
NET_ACT_BPF m
|
|
|
|
NET_CLS_BPF m
|
|
|
|
NET_FOU_IP_TUNNELS y
|
|
|
|
NET_L3_MASTER_DEV y
|
|
|
|
PERCPU_TEST n
|
|
|
|
TEST_BPF n
|
|
|
|
TEST_FIRMWARE n
|
|
|
|
TEST_HEXDUMP n
|
|
|
|
TEST_PRINTF n
|
|
|
|
TEST_RHASHTABLE n
|
|
|
|
TEST_STATIC_KEYS n
|
|
|
|
TEST_UDELAY n
|
|
|
|
TEST_USER_COPY n
|
|
|
|
ZBUD y
|
|
|
|
ZSWAP y
|
|
|
|
|
|
|
|
${optionalString (versionOlder version "4.13") ''
|
|
|
|
TEST_LKM n
|
|
|
|
''}
|
|
|
|
|
|
|
|
${optionalString (!features.grsecurity or false) ''
|
|
|
|
BPF_EVENTS y
|
|
|
|
RANDOMIZE_BASE y
|
|
|
|
''}
|
2014-11-08 10:44:19 +00:00
|
|
|
''}
|
2013-07-31 21:56:48 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionAtLeast version "4.5" && (versionOlder version "4.9")) ''
|
|
|
|
DRM_AMD_POWERPLAY y # necessary for amdgpu polaris support
|
2013-07-31 21:56:48 +00:00
|
|
|
''}
|
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionOlder version "4.7") ''
|
|
|
|
DEVPTS_MULTIPLE_INSTANCES y # Linux containers
|
|
|
|
''}
|
2013-07-31 21:56:48 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionAtLeast version "4.7") ''
|
|
|
|
IPV6_FOU_TUNNEL m
|
|
|
|
''}
|
2016-04-28 17:46:34 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionOlder version "4.8") ''
|
|
|
|
KVM_APIC_ARCHITECTURE y
|
2013-07-31 21:56:48 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionAtLeast version "4.4") ''
|
|
|
|
EXT4_ENCRYPTION m
|
|
|
|
''}
|
|
|
|
''}
|
2014-04-16 20:30:58 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionAtLeast version "4.8") ''
|
|
|
|
EXT4_ENCRYPTION y
|
2016-09-16 13:08:06 +00:00
|
|
|
''}
|
2017-08-05 02:08:46 +00:00
|
|
|
|
|
|
|
${optionalString (versionAtLeast version "4.9") ''
|
|
|
|
DRM_AMDGPU_CIK y # (stable) amdgpu support for bonaire and newer chipsets
|
|
|
|
DRM_AMDGPU_SI y # (experimental) amdgpu support for verde and newer chipsets
|
|
|
|
FS_ENCRYPTION m
|
|
|
|
MODVERSIONS y
|
2016-09-16 13:08:06 +00:00
|
|
|
''}
|
2014-10-20 11:18:33 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionOlder version "4.11") ''
|
|
|
|
DEBUG_NX_TEST n
|
|
|
|
TIMER_STATS y
|
|
|
|
UPROBE_EVENT y
|
2015-10-03 19:22:52 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (!features.grsecurity or false) ''
|
|
|
|
DEBUG_SET_MODULE_RONX y # Detect writes to read-only module pages
|
|
|
|
''}
|
2015-10-28 10:09:59 +00:00
|
|
|
''}
|
2015-10-26 15:17:22 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionAtLeast version "4.11") ''
|
|
|
|
DRM_DEBUG_MM_SELFTEST n
|
|
|
|
MQ_IOSCHED_DEADLINE y
|
|
|
|
TEST_PARMAN n
|
|
|
|
TEST_SORT n
|
|
|
|
UPROBE_EVENTS y
|
|
|
|
WW_MUTEX_SELFTEST n
|
|
|
|
''}
|
2015-10-30 17:31:51 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionOlder version "4.12") ''
|
|
|
|
KVM_DEVICE_ASSIGNMENT y
|
|
|
|
PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible)
|
|
|
|
''}
|
2017-06-11 16:33:24 +00:00
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionAtLeast version "4.12") ''
|
2017-08-07 07:12:21 +00:00
|
|
|
BFQ_GROUP_IOSCHED y
|
2017-08-05 02:08:46 +00:00
|
|
|
IOSCHED_BFQ m
|
|
|
|
MQ_IOSCHED_KYBER y
|
2017-07-06 00:09:14 +00:00
|
|
|
''}
|
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
${optionalString (versionOlder version "4.13") ''
|
|
|
|
CIFS_SMB2 y
|
|
|
|
''}
|
|
|
|
|
|
|
|
${optionalString (versionAtLeast version "4.13") ''
|
|
|
|
TEST_LKM m
|
|
|
|
''}
|
|
|
|
|
|
|
|
# Feature dependent
|
|
|
|
|
|
|
|
${optionalString (!features.grsecurity or false) ''
|
|
|
|
DEVKMEM n # Disable /dev/kmem
|
|
|
|
DYNAMIC_DEBUG y
|
|
|
|
FTRACE y
|
|
|
|
FTRACE_SYSCALLS y
|
|
|
|
FUNCTION_PROFILER y
|
|
|
|
FUNCTION_TRACER y
|
|
|
|
RING_BUFFER_BENCHMARK n
|
|
|
|
SCHED_TRACER y
|
|
|
|
SECURITY_YAMA y # Prevent processes from ptracing non-children processes
|
|
|
|
STACK_TRACER y
|
|
|
|
SUNRPC_DEBUG y # Easier debugging of NFS issues
|
|
|
|
''}
|
|
|
|
|
|
|
|
${optionalString (!(features.chromiumos or false)) ''
|
|
|
|
MEDIA_PCI_SUPPORT y
|
2017-07-06 00:09:14 +00:00
|
|
|
''}
|
|
|
|
|
2016-01-10 19:07:45 +00:00
|
|
|
# ChromiumOS support
|
|
|
|
${optionalString (features.chromiumos or false) ''
|
2017-08-05 02:08:46 +00:00
|
|
|
ANDROID_PARANOID_NETWORK n
|
|
|
|
BLK_DEV_DM y
|
|
|
|
CHARGER_CROS_USB_PD y
|
2016-01-10 19:07:45 +00:00
|
|
|
CHROME_PLATFORMS y
|
2017-08-05 02:08:46 +00:00
|
|
|
CPU_FREQ_GOV_INTERACTIVE n
|
2016-01-10 19:07:45 +00:00
|
|
|
CPU_FREQ_STAT y
|
2017-08-05 02:08:46 +00:00
|
|
|
DM_BOOTCACHE n
|
2016-01-10 19:07:45 +00:00
|
|
|
DM_VERITY n
|
|
|
|
DRM_VGEM n
|
2017-08-05 02:08:46 +00:00
|
|
|
I2C y
|
2016-01-10 19:07:45 +00:00
|
|
|
INPUT_KEYRESET n
|
2017-08-05 02:08:46 +00:00
|
|
|
IPV6 y
|
|
|
|
IPV6_VTI n
|
|
|
|
MEDIA_SUBDRV_AUTOSELECT n
|
|
|
|
MFD_CROS_EC y
|
|
|
|
MFD_CROS_EC_DEV y
|
|
|
|
MFD_CROS_EC_LPC y
|
|
|
|
MMC_SDHCI_PXAV2 n
|
|
|
|
NET_IPVTI n
|
|
|
|
REGULATOR_FIXED_VOLTAGE n
|
|
|
|
TPS6105X n
|
2016-01-10 19:07:45 +00:00
|
|
|
UID_CPUTIME n
|
2017-08-05 02:08:46 +00:00
|
|
|
VGA_SWITCHEROO n
|
|
|
|
VIDEO_IR_I2C n
|
2016-01-10 19:07:45 +00:00
|
|
|
|
|
|
|
${optionalString (versionAtLeast version "3.18") ''
|
2017-08-05 02:08:46 +00:00
|
|
|
BCMDHD n
|
|
|
|
CHROMEOS_OF_FIRMWARE y
|
2016-01-10 19:07:45 +00:00
|
|
|
CPUFREQ_DT n
|
|
|
|
DRM_POWERVR_ROGUE n
|
2017-08-05 02:08:46 +00:00
|
|
|
EXTCON_CROS_EC n
|
2016-01-10 19:07:45 +00:00
|
|
|
TEST_RHASHTABLE n
|
|
|
|
TRUSTY n
|
|
|
|
''}
|
|
|
|
|
|
|
|
${optionalString (versionOlder version "3.18") ''
|
|
|
|
DVB_USB_AF9015 n
|
|
|
|
DVB_USB_AF9035 n
|
|
|
|
DVB_USB_ANYSEE n
|
|
|
|
DVB_USB_AZ6007 n
|
2017-08-05 02:08:46 +00:00
|
|
|
DVB_USB_DIB0700 n
|
|
|
|
DVB_USB_DW2102 n
|
2016-01-10 19:07:45 +00:00
|
|
|
DVB_USB_IT913X n
|
|
|
|
DVB_USB_LME2510 n
|
2017-08-05 02:08:46 +00:00
|
|
|
DVB_USB_PCTV452E n
|
2016-01-10 19:07:45 +00:00
|
|
|
DVB_USB_RTL28XXU n
|
2017-08-05 02:08:46 +00:00
|
|
|
DVB_USB_TTUSB2 n
|
|
|
|
MALI_MIDGARD n
|
|
|
|
SPEAKUP n
|
|
|
|
USB_DWC2 n
|
|
|
|
USB_GADGET n
|
|
|
|
USB_GSPCA n
|
2016-01-10 19:07:45 +00:00
|
|
|
USB_S2255 n
|
|
|
|
VIDEO_EM28XX n
|
|
|
|
VIDEO_TM6000 n
|
|
|
|
XO15_EBOOK n
|
|
|
|
''}
|
|
|
|
''}
|
|
|
|
|
2017-08-05 02:08:46 +00:00
|
|
|
# Extra configuration
|
|
|
|
|
2013-07-31 21:56:48 +00:00
|
|
|
${kernelPlatform.kernelExtraConfig or ""}
|
|
|
|
${extraConfig}
|
|
|
|
''
|