git: e2e736234437 - stable/15 - x86: Harmonize GENERIC and MINIMAL

From: Dag-Erling Smørgrav <des_at_FreeBSD.org>
Date: Fri, 26 Jun 2026 14:40:54 UTC
The branch stable/15 has been updated by des:

URL: https://cgit.FreeBSD.org/src/commit/?id=e2e7362344375bcbb772c8ed77fcbaefffa36933

commit e2e7362344375bcbb772c8ed77fcbaefffa36933
Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2026-06-23 07:51:01 +0000
Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2026-06-26 10:58:57 +0000

    x86: Harmonize GENERIC and MINIMAL
    
    * Reorder MINIMAL so everything is in the same order as in GENERIC.
    
    * Wherever comments diverged, except for the explanatory comment at
      the top, copy the GENERIC version to MINIMAL.
    
    * Add KDTRACE_FRAME to i386 GENERIC; it was already in MINIMAL, and
      adding it to GENERIC seemed like the more correct move.
    
    With these changes, MINIMAL is a strict subset of GENERIC, apart from
    the identifier and the explanatory comment at the top.
    
    Reviewed by:    imp
    Differential Revision:  https://reviews.freebsd.org/D57729
    
    (cherry picked from commit 01c8644093c28d09f0d41fb522dc53f1ab696a7e)
---
 sys/amd64/conf/MINIMAL | 26 +++++++++++++-------------
 sys/i386/conf/GENERIC  |  1 +
 sys/i386/conf/MINIMAL  | 34 +++++++++++++++++-----------------
 3 files changed, 31 insertions(+), 30 deletions(-)

diff --git a/sys/amd64/conf/MINIMAL b/sys/amd64/conf/MINIMAL
index 595ff454f400..06680cf6c774 100644
--- a/sys/amd64/conf/MINIMAL
+++ b/sys/amd64/conf/MINIMAL
@@ -89,6 +89,18 @@ device		acpi
 options 	IOMMU
 device		pci
 
+# ATA controllers
+device		ahci			# AHCI-compatible SATA controllers
+
+# ATA/SCSI peripherals
+device		scbus			# SCSI bus (required for ATA/SCSI)
+device		da			# Direct Access (disks)
+device		cd			# CD
+device		pass			# Passthrough device (direct ATA/SCSI access)
+
+# NVM Express (NVMe) support
+device		nvme			# base NVMe driver
+
 # atkbdc0 controls both the keyboard and the PS/2 mouse
 device		atkbdc			# AT keyboard controller
 device		atkbd			# AT keyboard
@@ -129,8 +141,8 @@ device		virtio			# Generic VirtIO bus (required)
 device		virtio_pci		# VirtIO PCI device
 device		vtnet			# VirtIO Ethernet device
 device		virtio_blk		# VirtIO Block device
-device		virtio_balloon		# VirtIO Memory Balloon device
 device		virtio_scsi		# VirtIO SCSI device
+device		virtio_balloon		# VirtIO Memory Balloon device
 
 # Linux KVM paravirtualization support
 device		kvm_clock		# KVM paravirtual clock driver
@@ -147,15 +159,3 @@ device		xentimer		# Xen x86 PV timer device
 options 	EVDEV_SUPPORT		# evdev support in legacy drivers
 device		evdev			# input event device support
 device		uinput			# install /dev/uinput cdev
-
-# NVM Express (NVMe) support
-device		nvme			# base NVMe driver
-
-# ATA controllers
-device		ahci			# AHCI-compatible SATA controllers
-
-# CAM
-device		scbus			# SCSI bus (required for ATA/SCSI)
-device		da			# Direct Access (disks)
-device		cd			# CD
-device		pass			# Passthrough device (direct ATA/SCSI access)
diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC
index a2f86753e945..dec49b37eecf 100644
--- a/sys/i386/conf/GENERIC
+++ b/sys/i386/conf/GENERIC
@@ -79,6 +79,7 @@ options 	AUDIT			# Security event auditing
 options 	CAPABILITY_MODE		# Capsicum capability mode
 options 	CAPABILITIES		# Capsicum capabilities
 options 	MAC			# TrustedBSD MAC Framework
+options 	KDTRACE_FRAME		# Ensure frames are compiled in
 options 	KDTRACE_HOOKS		# Kernel DTrace hooks
 options 	DDB_CTF			# Kernel ELF linker loads CTF data
 options 	INCLUDE_CONFIG_FILE	# Include this file in kernel
diff --git a/sys/i386/conf/MINIMAL b/sys/i386/conf/MINIMAL
index fc04d4ed6dec..bcfe2642677d 100644
--- a/sys/i386/conf/MINIMAL
+++ b/sys/i386/conf/MINIMAL
@@ -88,9 +88,9 @@ options 	KDB_TRACE		# Print a stack trace for a panic.
 options 	GZIO			# gzip (dumps)
 options 	ZSTDIO			# zstd (dumps, tarfs, uzip, zfs)
 
-# Make an SMP-capable kernel by default
+# To make an SMP kernel, the next two lines are needed
 options 	SMP			# Symmetric MultiProcessor Kernel
-device		apic
+device		apic			# I/O APIC
 
 # CPU frequency control
 device		cpufreq
@@ -100,6 +100,18 @@ device		acpi
 device		smbios
 device		pci
 
+# ATA controllers
+device		ahci			# AHCI-compatible SATA controllers
+
+# ATA/SCSI peripherals
+device		scbus			# SCSI bus (required for ATA/SCSI)
+device		da			# Direct Access (disks)
+device		cd			# CD
+device		pass			# Passthrough device (direct ATA/SCSI access)
+
+# NVM Express (NVMe) support
+device		nvme			# base NVMe driver
+
 # atkbdc0 controls both the keyboard and the PS/2 mouse
 device		atkbdc			# AT keyboard controller
 device		atkbd			# AT keyboard
@@ -139,15 +151,15 @@ device		virtio			# Generic VirtIO bus (required)
 device		virtio_pci		# VirtIO PCI device
 device		vtnet			# VirtIO Ethernet device
 device		virtio_blk		# VirtIO Block device
-device		virtio_balloon		# VirtIO Memory Balloon device
 device		virtio_scsi		# VirtIO SCSI device
+device		virtio_balloon		# VirtIO Memory Balloon device
 
 # Linux KVM paravirtualization support
 device		kvm_clock		# KVM paravirtual clock driver
 
 # Xen HVM Guest Optimizations
-# NOTE: XENHVM depends on xenpci and xentimer.
-# They must be added or removed together.
+# NOTE: XENHVM and xenpci interdepend.  They must be added or removed
+# together.  xentimer depends on XENHVM and isn't required.
 options 	XENHVM			# Xen HVM kernel infrastructure
 device		xenpci			# Xen HVM Hypervisor services driver
 device		xentimer		# Xen x86 PV timer device
@@ -156,15 +168,3 @@ device		xentimer		# Xen x86 PV timer device
 options 	EVDEV_SUPPORT		# evdev support in legacy drivers
 device		evdev			# input event device support
 device		uinput			# install /dev/uinput cdev
-
-# NVM Express (NVMe) support
-device		nvme			# base NVMe driver
-
-# ATA controllers
-device		ahci			# AHCI-compatible SATA controllers
-
-# CAM
-device		scbus			# SCSI bus (required for ATA/SCSI)
-device		da			# Direct Access (disks)
-device		cd			# CD
-device		pass			# Passthrough device (direct ATA/SCSI access)