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
launchpad/nixpkgs/master
Alyssa Ross 3 years ago
parent 73942e2175
commit 5f24024de6
  1. 13
      pkgs/os-specific/linux/kernel/common-config.nix
  2. 6
      pkgs/top-level/aliases.nix
  3. 9
      pkgs/top-level/all-packages.nix

@ -12,7 +12,7 @@
# Configuration
{ lib, stdenv, version
, features ? { grsecurity = false; xen_dom0 = false; }
, features ? { grsecurity = false; }
}:
with lib;
@ -547,13 +547,8 @@ let
VBOXGUEST = option no;
DRM_VBOXVIDEO = option no;
} // optionalAttrs (stdenv.isx86_64 || stdenv.isi686) ({
XEN = option yes;
# XXX: why isn't this in the xen-dom0 conditional section below?
XEN_DOM0 = option yes;
} // optionalAttrs features.xen_dom0 {
XEN = option yes;
XEN_DOM0 = option yes;
PCI_XEN = option yes;
HVC_XEN = option yes;
HVC_XEN_FRONTEND = option yes;
@ -572,7 +567,7 @@ let
XEN_SELFBALLOONING = option yes;
XEN_STUB = option yes;
XEN_TMEM = option yes;
});
};
media = {
MEDIA_DIGITAL_TV_SUPPORT = yes;

@ -386,6 +386,12 @@ mapAliases ({
linuxPackages_testing_hardened = throw "linuxPackages_testing_hardened has been removed, please use linuxPackages_latest_hardened";
linux_testing_hardened = throw "linux_testing_hardened has been removed, please use linux_latest_hardened";
# added 2021-04-04
linuxPackages_xen_dom0 = linuxPackages;
linuxPackages_latest_xen_dom0 = linuxPackages_latest;
linuxPackages_xen_dom0_hardened = linuxPackages_hardened;
linuxPackages_latest_xen_dom0_hardened = linuxPackages_latest_hardened;
linux-steam-integration = throw "linux-steam-integration has been removed, as the upstream project has been abandoned"; # added 2020-05-22
loadcaffe = throw "loadcaffe has been removed, as the upstream project has been abandoned"; # added 2020-03-28
lprof = throw "lprof has been removed as it's unmaintained upstream and broken in nixpkgs since a while ago"; # added 2021-02-15

@ -20034,11 +20034,6 @@ in
# Build a kernel with bcachefs module
linuxPackages_testing_bcachefs = recurseIntoAttrs (linuxPackagesFor pkgs.linux_testing_bcachefs);
# Build a kernel for Xen dom0
linuxPackages_xen_dom0 = recurseIntoAttrs (linuxPackagesFor (pkgs.linux.override { features.xen_dom0=true; }));
linuxPackages_latest_xen_dom0 = recurseIntoAttrs (linuxPackagesFor (pkgs.linux_latest.override { features.xen_dom0=true; }));
# Hardened Linux
hardenedLinuxPackagesFor = kernel': overrides:
let # Note: We use this hack since the hardened patches can lag behind and we don't want to delay updates:
@ -20062,10 +20057,6 @@ in
linuxPackages_latest_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_latest { });
linux_latest_hardened = linuxPackages_latest_hardened.kernel;
linuxPackages_xen_dom0_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux { features.xen_dom0=true; });
linuxPackages_latest_xen_dom0_hardened = recurseIntoAttrs (hardenedLinuxPackagesFor pkgs.linux_latest { features.xen_dom0=true; });
# Hardkernel (Odroid) kernels.
linuxPackages_hardkernel_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_hardkernel_4_14);
linuxPackages_hardkernel_latest = linuxPackages_hardkernel_4_14;

Loading…
Cancel
Save