Commit Graph

484 Commits

Author SHA1 Message Date
K900
26db9b9527 linux/common-config: fix i686 2023-05-18 16:30:49 +03:00
Bernardo Meurer
26e7d76c49
Merge pull request #232262 from K900/dont-say-lazy 2023-05-17 11:34:58 -04:00
Alois Wohlschlager
b7ac30197b
linux: enable zram writeback
Zram needs CONFIG_ZRAM_WRITEBACK in order for writeback configuration
to work. Since there is even a NixOS option (zramSwap.writebackDevice)
for configuring writeback, it should be enabled.
2023-05-16 19:05:33 +02:00
K900
d6db303160 linux: enable RCU_LAZY where supported
Supposed to save some power at idle.
2023-05-16 19:18:58 +03:00
David McFarland
a4aa2c0476 linux: enable DRM_AMD_DC_FP on 6.4
In 6.4, DRM_AMD_DC_DCN is renamed to DRM_AMD_DC_FP.

Fixes: f5252cb7e0
2023-05-14 10:13:17 -03:00
github-actions[bot]
71874015ba
Merge master into staging-next 2023-05-10 12:01:10 +00:00
Alexandre Acebedo
f5252cb7e0 linux: fix 6.4-rc1 build 2023-05-09 13:22:29 +02:00
Jared Baur
8d4f643c66 linux: enable CR50 TPM found on chromebooks
Along with other ChromeOS related configs, this change
enables TPM support for Chromebook/Chromebox devices.
2023-05-08 20:29:43 +00:00
Atemu
8939c1042d
Merge pull request #223459 from lorenz/fix-ir-kernel-error
linux: fix error with IR remotes
2023-04-13 08:25:08 +02:00
Ionut Nechita
d645bba8c8 android: with new kernel versions this option is no longer necessary
Description:
 - ANDROID = { optional = true; tristate = whenBetween "5.0" "5.19" "y";};
 - starting from 5.20 and 6.0, this parameter no longer exists.

Change-Id: I34d6638e01eb539de34afe2152ff5927a317b68a
Signed-off-by: Ionut Nechita <ionut_n2001@yahoo.com>
2023-03-29 08:25:16 +03:00
Lorenz Brun
5a6490040c linux: fix error with IR remotes
Support for IR remotes was originally introduced in NixOS in 2013 with
[1]. This worked fine until 2018 with the release of Linux 4.16 which
contained [2], which removed the default-enable on the IR decoders.
This means that kernels since then build with RC_DEVICES enabled, but
RC_DECODERS disabled:
```
CONFIG_RC_DEVICES=y
```

This breaks IR remote support and also leads to the following error on
every bootup when such a device is present as devices have a default
keymap which uses a protocols decoder, but these decoders are not
available:
```
rc_core: Loaded IR protocol module ir-rc6-decoder, but protocol rc-6 still not available
```

Fix this by also enabling RC_DECODERS in the kernel configuration.

[1] b7ccfc258a
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=22756ae7319b0afc2a80fbdec365a6976a1ad350
2023-03-28 01:58:19 +02:00
Maximilian Bosch
e999433b3a
Merge pull request #221707 from NixOS/linuxManualConfig-unpack
linuxManualConfig: install GDB scripts
2023-03-20 20:42:10 +01:00
Alyssa Ross
d57568fcad
linuxManualConfig: install GDB scripts
These are required to debug kernel modules.  Since we're now able to
do that, there's another reason besides BTF to enable DEBUG_INFO, so
I've done that for pre-BTF kernel modules as well here.

For GDB to get configured correctly, vmlinux-gdb.py has to be two
directories up from scripts/gdb, and vmlinux has to be next to
vmlinux-gdb.py.  The least invasive way to satisfy these constraints
is to make vmlinux a symlink, which GDB will resolve before looking
for vmlinux-gdb.py.

Tested both ways of getting the scripts into GDB that I know of:

gdb /nix/store/7n77ijlxkxr6d613h02lr707kvjx6j1k-linux-6.1.19-dev/vmlinux \
    -iex 'add-auto-load-safe-path /nix/store/7n77ijlxkxr6d613h02lr707kvjx6j1k-linux-6.1.19-dev/lib/modules/6.1.19/build/vmlinux-gdb.py' \
    -ex 'lx-version' \
    -ex 'q'
gdb /nix/store/7n77ijlxkxr6d613h02lr707kvjx6j1k-linux-6.1.19-dev/vmlinux \
    -ex 'source /nix/store/7n77ijlxkxr6d613h02lr707kvjx6j1k-linux-6.1.19-dev/lib/modules/6.1.19/build/vmlinux-gdb.py' \
    -ex 'lx-version' \
    -ex 'q'

Also tested that the strip changes don't result in meaningful output
size changes (there's some small variation due to BTF data not always
coming out the same size, which is unrelated), and built every kernel
I can on x86_64 to make sure I'm not relying on build system behaviour
specific to newer kernels.
2023-03-20 00:09:52 +00:00
Ryan Lahfa
618ba94934
Merge pull request #210205 from 9ary/kernel-fonts
Build the large Terminus font into the kernel
2023-03-19 20:13:25 +01:00
Alexandre Acebedo
28065039e6 linux_testing: 6.2-rc6 -> 6.3-rc1 2023-03-12 13:42:10 +00:00
Astro
8f7e647c30 linux: enable VIRTIO_MMIO_CMDLINE_DEVICES 2023-02-27 22:39:23 +01:00
QuantMint
743bd1f29f linux: fix-build on i686 2023-02-19 21:04:50 +01:00
Sergei Trofimovich
6c5bf4e060
Merge pull request #209667 from QuantMint/linux
linux: enable ACPI_FPDT, ACPI_HMAT, ACPI_APEI, ACPI_APEI_GHES, ACPI_DPTF
2023-02-18 20:54:24 +00:00
Tyler Slabinski
f8f7820433 linuxPackages_testing: remove unused options for 6.2 2023-02-02 23:29:18 +00:00
novenary
7ffa701d74 kernel: enable Terminus 16x32 font
This font was added into the kernel for high-resolution displays.
It has been available since 5.0.
2023-01-24 11:01:57 +02:00
QuantMint
fb49d81b25 linux: enable ACPI_FPDT, ACPI_HMAT, ACPI_APEI, ACPI_APEI_GHES, ACPI_DPTF 2023-01-08 11:18:48 +01:00
Dominik Xaver Hörl
95c27f5975 linux: enable Multi-Gen LRU by default 2022-12-19 15:18:05 +01:00
Dominik Xaver Hörl
6486611984 linux: build with support for Multi-Gen LRU 2022-12-19 15:18:05 +01:00
Vladimír Čunát
9c497bb8d6
Merge branch 'staging-next' into staging 2022-12-09 10:27:46 +01:00
Fabián Heredia Montiel
13f89aee64 linux: further cleanup config after drop of 4.9 2022-12-03 10:22:06 -06:00
Martin Weinelt
ca98db29b3 Merge remote-tracking branch 'origin/staging-next' into staging 2022-12-03 13:56:22 +01:00
Vladimír Čunát
3dc3a628fd
Merge #204169: Linux Kernel updates for 2022-12-02 2022-12-03 09:13:56 +01:00
Martin Weinelt
e3da5a807b Merge remote-tracking branch 'origin/staging-next' into staging 2022-12-03 01:28:01 +01:00
K900
b9a4991020 linux: set X86_AMD_PSTATE=y instead of =m 2022-12-02 23:37:00 +03:00
Vincent Haupert
c0ae481757 linux: enable AMD SME, SEV, SEV-SE, SEV-SNP on x86_64
Enables the following kernel config options for AMD CPUs on x86_64:

- `CRYPTO_DEV_CCP`: Enables offloading of crypto operations to AMD's
  Cryptographic Coprocessor (CCP). Also required by `KVM_AMD_SEV`.
- `AMD_MEM_ENCRYPT`: Enables support for Secure Memory Encryption (SME).
  Please note that `AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT` is not enabled;
  yet, you you can enable memory encryption by passing `mem_encrypt=on`
  as a kernal command line option.
- `KVM_AMD_SEV`: Enables launching Encrypted VMs (SEV) and Secure VMs
  with Encrypted State (SEV-ES).
- `SEV_GUEST`: Enables support for AMD Secure Encrypted Virtualization
  with Secure Nested Paging (SEV-SNP). Built as module.

Enabling these options is in line with other distros, e.g., Debian,
Fedora or Arch Linux.
2022-12-02 08:33:06 +01:00
Cole Mickens
9c3dc3cfeb
linux: kernel: enable DRM_HYPERV 2022-11-28 13:14:10 -08:00
Brandon Weeks
4cfd354182 linux: fix unused option warnings on 5.x kernels 2022-11-22 19:17:51 -06:00
Bernardo Meurer
8951a71323
Merge pull request #201845 from LibreCybernetics/cleanup-linux-common-config 2022-11-22 12:12:43 -05:00
Bernardo Meurer
b21694b324
Merge pull request #164296 from duxovni/fanotify_access_permissions 2022-11-21 09:58:04 -05:00
Fabián Heredia Montiel
31531c747a linux: cleanup common-config after drop of 4.9
linux-4.9 was dropped on 8d9133c67d

next lowest version in nixpkgs is 4.14 so cleaning up options
2022-11-18 20:50:01 -06:00
Vladimír Čunát
636051e353
linux: avoid NO_HZ_FULL on i686-linux
This is just a stop-gap; seemed better than a real revert.
The issue is from commit 8d3fe232e (PR #198666).
2022-11-02 23:04:00 +01:00
github-actions[bot]
ef41cdba6c
Merge master into staging-next 2022-11-01 18:01:10 +00:00
Bernardo Meurer
c3033dafb0
Merge pull request #198783 from aacebedo/linux-testing_6.1_rc3 2022-11-01 15:07:19 +00:00
Alexandre Acebedo
cce5b62739 linuxKernel.kernels.linux_testing: 6.0-rc5 -> 6.1-rc3 2022-11-01 15:39:38 +01:00
github-actions[bot]
0ada81696d
Merge master into staging-next 2022-11-01 12:01:32 +00:00
Adrian Pistol
8d3fe232e3 linux: Set CONFIG_NO_HZ_FULL=y.
CONFIG_NO_HZ_FULL=y should be set to enable the `nohz_full=` and
`rcu_nocbs=` options. These carry no additional performance penalty
compared to CONFIG_NO_HZ_IDLE and behaves like it by default,
but allows disabling the tick interrupts on cores for power or
performance reasons.

[Debian][1] also applied the change to all their kernels.
Like the Kernel says: "If you're a distro say Y."

[1]: f6aad27f05
2022-10-30 17:20:22 +01:00
Mihai Fufezan
7520ab8e66
linux: enable amd_pstate 2022-10-23 03:06:26 +03:00
github-actions[bot]
14fe809072
Merge master into staging-next 2022-10-14 18:02:25 +00:00
Bernardo Meurer
71f2836fba
Merge pull request #184770 from NickCao/kernel-keyring 2022-10-14 09:46:01 -03:00
Yureka
9d24c1f09e
linux: XFS_ONLINE_SCRUB=y (#195266) 2022-10-12 20:10:07 +02:00
Andrew Marshall
7c49efdd2a linux: Enable HARDENED_USERCOPY
Enabled in [Arch][1], [Debian][2], [Fedora][3]. Recommended by [Kernel
Self Protection Project][4]. Originally [reported to have no noticeable
performance impact][5].

[1]: 66d72ee54a/trunk/config (L10252)
[2]: 07731f5956/debian/config/config (L7710)
[3]: 6d6ad72f0c/f/kernel-x86_64-fedora.config (_2202)
[4]: https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings
[5]: https://lwn.net/Articles/695991/
2022-09-27 09:21:48 -04:00
Nick Cao
8db1ad7850
linux: enable PERSISTENT_KEYRINGS and KEYS_REQUEST_CACHE
PERSISTENT_KEYRINGS provides a register of persistent per-UID keyrings, useful for encrypting storage pools in stratis.
KEYS_REQUEST_CACHE enable temporary caching of the last request_key() result.
2022-09-16 19:45:56 +08:00
Andrew Marshall
bcd41f2891 linux: Disable DRM_LEGACY, NOUVEAU_LEGACY_CTX_SUPPORT
This currently gets enabled as generate-config.pl will enable all the
drivers below it as modules.

Is “not set” in [Arch][1], [Debian][2], [Fedora][3]. See also [summary
of setting from various distros in April 2020][4].

Recommended disabled by [CLIP OS][5] and per current [Kernel config
description][6]:

> bool "Enable legacy drivers (DANGEROUS)"
> Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
> APIs to user-space, which can be used to circumvent access
> restrictions and other security measures. For backwards compatibility
> those drivers are still available, but their use is highly
> inadvisable and might harm your system.
>
> You are recommended to use the safe modeset-only drivers instead, and
> perform 3D emulation in user-space.
>
> Unless you have strong reasons to go rogue, say "N".

Also disable NOUVEAU_LEGACY_CTX_SUPPORT, as this does `select
DRM_LEGACY`. Per Kernel config docs:

>There was a version of the nouveau DDX that relied on legacy
> ctx ioctls not erroring out. But that was back in time a long
> ways, so offer a way to disable it now. For uapi compat with
> old nouveau ddx this should be on by default, but modern distros
> should consider turning it off.

and the [commit][7]:

> These driver functions contain several bugs and security holes. This
> change makes these functions optional can be turned on by a setting,
> they are turned off by default for modeset driver with the exception of
> the nouvea driver that may require them with an old version of libdrm.

Referenced earlier commit elaborates that

> libdrm_nouveau before 2.4.33 used contexts

Since nixpkgs here has a much newer version (2.4.33 is from March 2012),
should not be a concern.

NOUVEAU_LEGACY_CTX_SUPPORT is also “not set” in the linked Arch, Debian,
& Fedora configs.

[1]: 66d72ee54a/trunk/config (L6637)
[2]: 07731f5956/debian/config/config (L713)
[3]: https://src.fedoraproject.org/rpms/kernel/blob/rawhide/f/kernel-x86_64-fedora.config#_1528
[4]: https://github.com/a13xp0p0v/kconfig-hardened-check/issues/38#issuecomment-608639217
[5]: https://docs.clip-os.org/clipos/kernel.html#configuration
[6]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/Kconfig#n421
[7]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b30a43ac7132cdda833ac4b13dd1ebd35ace14b7
2022-08-27 18:40:32 -04:00
Andrew Marshall
00a45bc41b linux: Enable SLAB_FREELIST_HARDENED, SLAB_FREELIST_RANDOM
Enabled in [Arch][1], [Debian][2], [Fedora][3]; no others checked.
Recommended by [Kernel Self Protection Project][4]. This should also
implicitly enable SHUFFLE_PAGE_ALLOCATOR.

Performance impact per upstream:

For _HARDENED:
> The difference gets lost in the noise, but if the above is to be taken
> literally, using CONFIG_FREELIST_HARDENED is 0.07% slower.

For _RANDOM:
> Performance results highlighted no major changes

[1]: 66d72ee54a/trunk/config (L1037-L1038)
[2]: 07731f5956/debian/config/config (L6742-6743)
[3]: 6d6ad72f0c/f/kernel-x86_64-fedora.config (_6079)
[4]: https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project/Recommended_Settings
2022-08-27 15:05:35 -04:00
Martino Fontana
014f12b87e linux: disable NTFS_FS, enable NTFS3_LZX_XPRESS and NTFS3_FS_POSIX_ACL 2022-08-26 20:32:37 +02:00