Commit Graph

372 Commits

Author SHA1 Message Date
Maximilian Bosch
61870bd811
Merge pull request #144409 from mitchmindtree/xps-9310-kernel-config
linux: Add kernel config required for QCA6390 bluetooth (XPS 9310)
2021-11-17 18:30:35 +01:00
github-actions[bot]
bc35dc4f3b
Merge master into staging-next 2021-11-14 12:01:23 +00:00
Jörg Thalheim
13dc25bd67
Merge branch 'master' into xps-9310-kernel-config 2021-11-14 11:33:38 +00:00
Jörg Thalheim
2a909594f1
Merge pull request #145827 from ncfavier/mediatek-bluetooth
linux: add BT_HCIBTUSB_MTK to common kernel config
2021-11-14 11:31:33 +00:00
Naïm Favier
3c2c3df181
linux: add BT_HCIBTUSB_MTK to common kernel config
> The MediaTek protocol support enables firmware download support and chip initialization for MediaTek Bluetooth USB controllers.

Necessary to make Bluetooth work on some MediaTek controllers.
2021-11-14 01:13:34 +01:00
github-actions[bot]
9b5a105856
Merge master into staging-next 2021-11-14 00:01:47 +00:00
Austin Seipp
3df74bdd3f kernel: enable core scheduling on 5.14+ kernels
Core scheduling is a recent innovation in newer kernels to help run
certain untrusted compute workloads more safely in the face of
vulnerabilities like Spectre. In short: it lets processes assign a
unique "cookie" to some group of processes to indicate they are allowed
to be scheduled together on the same SMT-capable core. This helps
mitigate attacks that rely on observing usage of CPU execution units by
cohabitated threads.

Some extra details are available via Linux Weekly News:

  "Core scheduling lands in 5.14", https://lwn.net/Articles/861251/

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2021-11-13 17:02:34 -06:00
Bernardo Meurer
9a96e0ec8c
Merge pull request #144641 from jian-lin/enable-TCP_CONG_ADVANCED-on-aarch64
linux: enable TCP_CONG_ADVANCED
2021-11-04 23:31:16 -07:00
linj
555aa76120 linux: enable TCP_CONG_ADVANCED
TCP_CONG_ADVANCED is enabled by default on x86_64[1] in the upstream.
Although it is not the case for aarch64[2], many distributions, such as
Debian[3], Fedora[4] and Gentoo[5], choose to enable it in their
distribution kernel.

With this patch, aarch64 users can choose many other TCP congestion
algorithms, which may improve their network performance.

[1]: 7ddb58cb0e/arch/x86/configs/x86_64_defconfig (L71)
[2]: 7ddb58cb0e/arch/arm64/configs/defconfig
[3]: e2d14375d7/debian/config/config (L7063)
[4]: 836165dd2d/f/kernel-aarch64-fedora.config
[5]: 5808eb2f06/sys-kernel/gentoo-kernel/gentoo-kernel-5.10.77.ebuild (L27)
2021-11-05 03:18:16 +08:00
mitchmindtree
35e4c0d750 linux: Add kernel config required for QCA6390 bluetooth (XPS 9310)
This commit aims to upstream some kernel config patches from the [xps
9310 module in the nixos-hardware repo][1]. These patches have been in
use by at least a few community members for around 10 months and seem to
consistently and successfully enable bluetooth support for XPS 9310
models that come with the QCA6390 connectivity chip.

Without these patches, bluetooth will not work on the Dell XPS 9310
laptop models that come with the QCA6390. *Note that this isn't all XPS
9310 devices, but seems to be all devices shipped with 32GB RAM.*

The motivation for upstreaming is pretty simple: currently we have to
build the entire kernel every time we want to update it, which takes a
good half hour at least on this little laptop :)

The `whenAtLeast` version params were determined via the entries for
each parameter found at https://cateee.net/lkddb (linked for each
below).

Added config parameters:

- `BT_QCA` - provides the `btqca` module.
  https://cateee.net/lkddb/web-lkddb/BT_QCA.html
- `BT_HCIUART_QCA` - required for QCA6390 bluetooth support.
  Requires `BT_HCIUART`, `BT_HCIUART_SERDEV`
  https://cateee.net/lkddb/web-lkddb/BT_HCIUART_QCA.html
- `BT_HCIUART_SERDEV`
  Requires `SERIAL_DEV_BUS`, `BT_HCIUART`
  https://cateee.net/lkddb/web-lkddb/BT_HCIUART_SERDEV.html
- `BT_HCIUART`
  Requires `SERIAL_DEV_BUS`, `TTY`
  https://cateee.net/lkddb/web-lkddb/BT_HCIUART.html
- `SERIAL_DEV_CTRL_TTYPORT`
  Requires `TTY`, `SERIAL_DEV_BUS` != module
  https://cateee.net/lkddb/web-lkddb/SERIAL_DEV_CTRL_TTYPORT.html
- `SERIAL_DEV_BUS`
  https://cateee.net/lkddb/web-lkddb/SERIAL_DEV_BUS.html

Fwiw, these parameters are also set in [the default Arch config][2].

[1]: https://github.com/NixOS/nixos-hardware/blob/master/dell/xps/13-9310/default.nix
[2]: https://github.com/archlinux/svntogit-packages/blob/packages/linux/trunk/config
2021-11-03 17:17:02 +10:00
Martin Weinelt
8f5da907b0 Merge remote-tracking branch 'origin/staging-next' into staging 2021-11-02 23:31:28 +01:00
Justin Sleep
64ae396829 linux: build in Cherryview pinctrl driver
This allows integrated keyboards on Braswell and Cherryview devices to function properly.
2021-10-28 11:53:14 -05:00
github-actions[bot]
f9ab4de694
Merge staging-next into staging 2021-10-22 18:01:54 +00:00
Sandro
367536a15c
Merge pull request #142511 from arcnmx/linux515rc 2021-10-22 15:13:09 +02:00
arcnmx
146c830cff linux_testing: 5.13-rc6 -> 5.15-rc6 2021-10-21 12:29:09 -07:00
Emil Karlson
2ef28fb77d linux: do not build in DRM_SIMPLEDRM on newer kernels
After linux 5.14.11 FB_SIMPLE conflicts with DRM_SIMPLEDRM, which
will fail configuration, when DRM_SIMPLEDRM is configured as a module
and FB_SIMPLE gets requested as builtin.

Do not enable DRM_SIMPLEDRM as a temporary workaround, until good
enough migration path is found.
2021-10-20 13:11:28 +03:00
Emil Karlson
6b7671d4ae kernel: enable EFI initrd loader
Initrd loader is not enabled by default in some aarch64 kernels,
which makes systemd-boot booted kernels fail by default, add this
everywhere, since this is a sane default even when it's already in
some kernel defaults.
2021-10-05 12:28:47 +03:00
Luke Granger-Brown
7002c15677 linuxKernel.kernels.linux_5_13_hardened: fix build
BTF cannot be enabled at the same time as the RANDSTRUCT GCC plugin, so
we need to mark it as optional. Alas.
2021-09-22 22:26:36 +00:00
roblabla
34150f86c0 linux-kernel: Enable BTF
BTF is a new, lightweight debug information format tailored specifically
for the needs of eBPF, allowing eBPF programs to be portable across
various kernel versions, configurations and distributions. This is used
by bpftrace and lots of new eBPF-based tooling to avoid a dependency
on LLVM on the host.

BTF debug information is enabled on all major distributions: Fedora 31+,
RHEL 8.2+, Ubuntu 20.10, Debian 11 and ArchLinux all have enabled it.

Enabling BTF debug information requires adding two new dependencies to
the kernel build: Python3 and pahole. Those will be used to generate the
BTF debugging information.
2021-08-18 10:40:35 +02:00
Sandro
771404c2e9
Merge pull request #130613 from zhaofengli/cros-modules 2021-08-05 16:44:13 +02:00
github-actions[bot]
6b44ad5d59
Merge master into staging-next 2021-08-03 00:01:21 +00:00
Florian Klink
ced7721191 linux: only configure IDE to "no" pre-5.14
When trying to build a 5.14 (rc-*), this fails to build otherwise:

> error: unused option: IDE
2021-08-02 21:21:52 +02:00
Zhaofeng Li
63fb3d8f2d kernel: Enable Chrome platform modules
They were enabled in 5.4 but then removed. Let's enable them explicitly
here. To keep the version constraints simple, we match kernel >5.4 even
though some of them are available since 4.x.
2021-08-01 15:38:49 -07:00
github-actions[bot]
648e4c42d7
Merge master into staging-next 2021-07-31 00:01:13 +00:00
Ben Wolsieffer
988c12faed linux/common-config.nix: disable LPAE on armv7l-linux
LPAE was enabled to support native armv7l builders running in QEMU on aarch64,
but this option disables support for processors which don't support LPAE, which
are still relatively common. In particular, Beaglebones use the Cortex-A8, which
doesn't support LPAE.

Also, if you attempt to boot an LPAE kernel on a CPU that doesn't support it,
it fails before even earlycon is initialized. This makes the problem difficult
to debug without enabling CONFIG_DEBUG_LL or using a hardware debugger.
2021-07-30 15:21:03 -04:00
Bernardo Meurer
5e3d1de727
Merge pull request #130851 from kjeremy/patch-1
kernel: enable MOUSE_PS2_VMMOUSE
2021-07-27 20:29:43 +00:00
Jeremy Kolb
1207e7581f
kernel: enable MOUSE_PS2_VMMOUSE
Turns VMware guest mouse support on in the kernel. This is needed for running Wayland and non-root X in a VMWare guest. In a pre-Wayland world the `xf86-input-vmmouse` userspace driver would have handled this for us. This allows the mouse to properly work in a vmware guest (for example it can now leave the vmware window).

See: https://github.com/vmware/open-vm-tools/issues/528
2021-07-20 15:41:36 -04:00
misuzu
3f63c29812 linux: enable LIRC 2021-07-14 18:20:22 +03:00
roblabla
be03cf01f3 linux-kernel: Add dell drivers on 5.12+ 2021-06-23 16:42:57 +02:00
Lengyel Balázs
2ac508d578 linux-kernel: update config for 5.13 2021-06-14 14:26:52 +02:00
Samuel Dionne-Riel
7264c049c7 linux/common-config.nix: Configure for armv7l-linux too 2021-05-04 19:42:12 -04:00
Samuel Dionne-Riel
595a50fd07 linux/common-config.nix: Enable FB_SIMPLE on AArch64 2021-05-04 19:42:12 -04:00
github-actions[bot]
6ef7c23763
Merge master into staging-next 2021-04-19 18:11:51 +00:00
Jens Nolte
610d831a4b kernel: Remove CONFIG_BLK_DEV_RAM=y (remove /dev/ram* devices)
This option allows to use portions of the system RAM as block devices.
It was configured to 'y' (built-in, therefore not unloadable or
reconfigurable) and configured 16 4MB RAM disks which, to my knowledge,
currently have no purpose in NixOS.

Removing the option restores it to it's default value of 'm', which
enables it to be loaded at runtime (which is also required to be able to
change it's configuration without rebuilding the kernel).
2021-04-18 05:34:55 +02:00
Alyssa Ross
52cd3538ff linux: remove remnants of grsecurity
Nixpkgs hasn't supported grsecurity kernels since 2017, so unless
anybody is manually enabling the grsecurity feature to make these
small kernel tweaks this is dead code.

This means we don't actually support any "features" in the kernel
common-config any more, but I've left the argument there because it's
conceivable we could have some again in future.
2021-04-06 09:48:56 +00:00
Alyssa Ross
5f24024de6 linux: enable Xen everywhere it can be
I don't think there's any reason to have a seperate kernel variant
because of this, with all the maintenance burden that imposes.  Debian
and Fedora both enable all these options on their normal kernels.

Alias the Linux Xen attributes, so this change should be seemless for
people who were using the Xen kernels up to now.

All the Xen options are marked as optional anyway, so it should be
fine to try to enable them on non-x86 platforms as well.

Fixes: https://github.com/NixOS/nixpkgs/issues/115182
2021-04-04 14:26:21 +00:00
github-actions[bot]
3e45982f7a
Merge master into staging-next 2021-04-04 12:06:01 +00:00
Vladimír Čunát
7a3f21c1e4
linux: don't compress by ZSTD on 32-bit
It doesn't build on i686 and I don't consider it worth deep
investigation.  I tried a VM test, too (nixosTests.knot).
2021-04-03 16:11:17 +02:00
github-actions[bot]
636e58e31b
Merge staging-next into staging 2021-04-02 00:21:46 +00:00
Alyssa Ross
f67748ecda
Fix some typos in comments 2021-04-01 18:34:27 +00:00
Martin Weinelt
f5eed9579b
Merge pull request #117645 from zhaofengli/linux-srv6
linux: Enable SRv6 options
2021-03-29 05:00:08 +02:00
Tim Steinbach
a7d6642cf3 linux-testing: 5.11-rc5 -> 5.12-rc4
- Sound SOC support was refactored in
torvalds/linux@43df5242af

- GMA3600 is part of GMA500 as of
torvalds/linux@26499e0518
2021-03-26 18:48:37 -04:00
Zhaofeng Li
6981b50e9d linux: Enable SRv6 options 2021-03-26 10:54:12 -07:00
Jonathan Teh
29e7b1ff82 linux: enable NVMe Multipath
Enable NVME_MULTIPATH so that a single /dev/nvmeXnY device will show
up for each NVMe namespaces, even if it is accessible through multiple
controllers. Can be disabled at boot with `nvme_core.multipath=0`.

This is default enabled in Debian [1], Ubuntu 20.04 [2] , Arch [3] and
Fedora 33 [4].

[1]: https://salsa.debian.org/kernel-team/linux/-/blob/debian/5.10.19-1/debian/config/config#L4362
[2]: https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal/tree/debian.master/config/config.common.ubuntu?h=Ubuntu-5.4.0-67.75#n6722
[3]: https://git.archlinux.org/svntogit/packages.git/tree/trunk/config?h=packages/linux#n2423
[4]: https://src.fedoraproject.org/rpms/kernel/blob/f33/f/kernel-x86_64-fedora.config#_4338
2021-03-10 17:40:30 +00:00
Linus Heckemann
c762b1eaab
Merge pull request #90065 from wizeman/u/fix-config-merge
linux: make sure all config options have the same value
2021-03-08 21:34:59 +01:00
Tim Steinbach
ecce29eba2
kernel: RANDOM_TRUST_CPU for >= 4.19 2021-03-08 11:49:08 -05:00
Rouven Czerwinski
368bdd13f6 linux: enable RANDOM_TRUST_CPU
Allows the RDRAND instruction to seed the kernel RNG. This should lead
to faster CRNG initialization, since the kernel can use the processors
capabilities directly. This is default enabled in Debian [1] and Fedora
[2] as well.

[1]: https://salsa.debian.org/kernel-team/linux/-/blob/debian/5.10.13-1/debian/config/config#L459
[2]: https://src.fedoraproject.org/rpms/kernel/blob/rawhide/f/kernel-x86_64-fedora.config#_4907
2021-03-08 09:34:22 -05:00
Ricardo M. Correia
d81067f3f3 linux: fix fallout from conflicting kernel configs
The parent commit forbids conflicting kernel config options.

Fix the hardened kernels by allowing options in common-config.nix to
be overridden by conflicting ones in hardened/config.nix.

I'm explicitly avoiding using a higher priority (e.g. using mkForce)
in hardened/config.nix so that the user can easily override the
options in that file.
2021-03-07 20:55:55 +01:00
Varris
662e3b88ae linux: Enable CONFIG_UNICODE to support casefold
Required to mount filesystems with casefold enabled. Fixes #109432
2021-03-01 12:05:51 -05:00
Jan Tojnar
8f50f1ce10
Merge branch 'staging-next' into staging
Resolved the following conflicts:

- kernel flags between 09176d28a0 and 2b28822d8d
- clojure-lsp between 3fa00685ce and e03c068af5
2021-02-19 17:15:31 +01:00