third_party/linux: improve kernel configuration
These configuration changes are required to boot the Metropolis kernel
via kexec on a PowerEdge R750.
kexec needs to be enabled even if we're not using it as just using kexec
to launch a kernel on an EFI machine requires a fixup performed only if
the target kernel is built with kexec enabled. Otherwise it crashes
immediately after mounting efivars by dereferencing a null pointer.
bpfilter should be disabled because it needs a userspace helper (the
.ko actually runs in userspacee) and we ship none of that, causing an
error-level log message on every boot.
Until we actually ship the required infrastructure disable it.
irq_remap is required for x2apic, without it
the kernel can't even boot on that platform.
intel_iommu is just a drive-by enable because the AMD IOMMU is already
enabled and we want the protection.
Change-Id: Iaf0012e8c0427114c56fc5d90a9748ebeb800a54
Reviewed-on: https://review.monogon.dev/c/monogon/+/904
Tested-by: Jenkins CI
Reviewed-by: Sergiusz Bazanski <serge@monogon.tech>
diff --git a/third_party/linux/linux-metropolis.config b/third_party/linux/linux-metropolis.config
index bfcf771..1596660 100644
--- a/third_party/linux/linux-metropolis.config
+++ b/third_party/linux/linux-metropolis.config
@@ -442,8 +442,8 @@
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_SCHED_HRTICK=y
-# CONFIG_KEXEC is not set
-# CONFIG_KEXEC_FILE is not set
+CONFIG_KEXEC=y
+CONFIG_KEXEC_FILE=y
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
@@ -1089,8 +1089,8 @@
CONFIG_NF_DEFRAG_IPV6=y
# CONFIG_NF_TABLES_BRIDGE is not set
# CONFIG_NF_CONNTRACK_BRIDGE is not set
-CONFIG_BPFILTER=y
-CONFIG_BPFILTER_UMH=y
+# CONFIG_BPFILTER is not set
+# CONFIG_BPFILTER_UMH is not set
# CONFIG_IP_DCCP is not set
CONFIG_IP_SCTP=y
# CONFIG_SCTP_DBG_OBJCNT is not set
@@ -3123,8 +3123,8 @@
CONFIG_IOMMU_DMA=y
CONFIG_AMD_IOMMU=y
CONFIG_AMD_IOMMU_V2=y
-# CONFIG_INTEL_IOMMU is not set
-# CONFIG_IRQ_REMAP is not set
+CONFIG_INTEL_IOMMU=y
+CONFIG_IRQ_REMAP=y
CONFIG_HYPERV_IOMMU=y
# CONFIG_VIRTIO_IOMMU is not set