diff options
Diffstat (limited to 'sys/amd64/conf')
| -rw-r--r-- | sys/amd64/conf/DEFAULTS | 7 | ||||
| -rw-r--r-- | sys/amd64/conf/FIRECRACKER | 196 | ||||
| -rw-r--r-- | sys/amd64/conf/GENERIC | 67 | ||||
| -rw-r--r-- | sys/amd64/conf/GENERIC-KASAN | 1 | ||||
| -rw-r--r-- | sys/amd64/conf/GENERIC-KCSAN | 1 | ||||
| -rw-r--r-- | sys/amd64/conf/GENERIC-KMSAN | 1 | ||||
| -rw-r--r-- | sys/amd64/conf/GENERIC-MMCCAM | 39 | ||||
| -rw-r--r-- | sys/amd64/conf/GENERIC-NODEBUG | 3 | ||||
| -rw-r--r-- | sys/amd64/conf/GENERIC.hints | 17 | ||||
| -rw-r--r-- | sys/amd64/conf/LINT | 1 | ||||
| -rw-r--r-- | sys/amd64/conf/LINT-NOINET | 4 | ||||
| -rw-r--r-- | sys/amd64/conf/LINT-NOINET6 | 2 | ||||
| -rw-r--r-- | sys/amd64/conf/LINT-NOIP | 2 | ||||
| -rw-r--r-- | sys/amd64/conf/LINT-NOVIMAGE | 4 | ||||
| -rw-r--r-- | sys/amd64/conf/MINIMAL | 46 | ||||
| -rw-r--r-- | sys/amd64/conf/MINIMAL-NODEBUG | 11 | ||||
| -rw-r--r-- | sys/amd64/conf/NOTES | 593 |
17 files changed, 339 insertions, 656 deletions
diff --git a/sys/amd64/conf/DEFAULTS b/sys/amd64/conf/DEFAULTS index 5ea20c19f791..eb8ee6b76a69 100644 --- a/sys/amd64/conf/DEFAULTS +++ b/sys/amd64/conf/DEFAULTS @@ -1,10 +1,11 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/amd64 # -# $FreeBSD$ machine amd64 +options EARLY_AP_STARTUP + # Bus support. device isa @@ -22,6 +23,6 @@ options GEOM_PART_MBR options GEOM_PART_GPT # Default congestion control algorithm -options CC_NEWRENO # include newreno congestion control +options CC_CUBIC # include CUBIC congestion control -options NEW_PCIB +options NETLINK # netlink(4) support diff --git a/sys/amd64/conf/FIRECRACKER b/sys/amd64/conf/FIRECRACKER new file mode 100644 index 000000000000..a36fb974c24e --- /dev/null +++ b/sys/amd64/conf/FIRECRACKER @@ -0,0 +1,196 @@ +# +# FIRECRACKER -- kernel configuration file for Firecracker VM +# +# This is largely a stripped-down version of the GENERIC kernel configuration +# file, without drivers for hardware which will never appear inside the +# Firecracker VM environment. It adds support for the Virtio MMIO bus, +# which Firecracker uses for exposing devices, and legacy mptable, which +# Firecracker uses for exposing information about CPUs (since it doesn't +# support ACPI). +# +# Since Firecracker loads the kernel directly via the PVH boot protocol, +# it bypasses the boot loader; some environment variables are hard-coded +# here which would normally be provided via device hints or loader.conf. +# +# For more information about the Firecracker VM, see: +# +# https://firecracker-microvm.github.io/ + +cpu HAMMER +ident FIRECRACKER + +makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols +makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support + +options SCHED_ULE # ULE scheduler +options NUMA # Non-Uniform Memory Architecture support +options PREEMPTION # Enable kernel thread preemption +options VIMAGE # Subsystem virtualization, e.g. VNET +options INET # InterNETworking +options INET6 # IPv6 communications protocols +options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 +options ROUTE_MPATH # Multipath routing support +options FIB_ALGO # Modular fib lookups +options TCP_OFFLOAD # TCP offload +options TCP_BLACKBOX # Enhanced TCP event logging +options TCP_HHOOK # hhook(9) framework for TCP +options TCP_RFC7413 # TCP Fast Open +options SCTP_SUPPORT # Allow kldload of SCTP +options KERN_TLS # TLS transmit & receive offload +options FFS # Berkeley Fast Filesystem +options SOFTUPDATES # Enable FFS soft updates support +options UFS_ACL # Support for access control lists +options UFS_DIRHASH # Improve performance on big directories +options UFS_GJOURNAL # Enable gjournal-based UFS journaling +options QUOTA # Enable disk quotas for UFS +options MD_ROOT # MD is a potential root device +options NFSCL # Network Filesystem Client +options NFSD # Network Filesystem Server +options NFSLOCKD # Network Lock Manager +options NFS_ROOT # NFS usable as /, requires NFSCL +options MSDOSFS # MSDOS Filesystem +options CD9660 # ISO 9660 Filesystem +options PROCFS # Process filesystem (requires PSEUDOFS) +options PSEUDOFS # Pseudo-filesystem framework +options TMPFS # Efficient memory filesystem +options GEOM_RAID # Soft RAID functionality. +options GEOM_LABEL # Provides labelization +options EFIRT # EFI Runtime Services support +options COMPAT_FREEBSD32 # Compatible with i386 binaries +options COMPAT_FREEBSD10 # Compatible with FreeBSD10 +options COMPAT_FREEBSD11 # Compatible with FreeBSD11 +options COMPAT_FREEBSD12 # Compatible with FreeBSD12 +options COMPAT_FREEBSD13 # Compatible with FreeBSD13 +options COMPAT_FREEBSD14 # Compatible with FreeBSD14 +options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI +options KTRACE # ktrace(1) support +options STACK # stack(9) support +options SYSVSHM # SYSV-style shared memory +options SYSVMSG # SYSV-style message queues +options SYSVSEM # SYSV-style semaphores +options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions +options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. +options KBD_INSTALL_CDEV # install a CDEV entry in /dev +options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4) +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 +options RACCT # Resource accounting framework +options RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default +options RCTL # Resource limits + +# Debugging support. Always need this: +options KDB # Enable kernel debugger support. +options KDB_TRACE # Print a stack trace for a panic. +# For full debugger support use (turn off in stable branch): +options BUF_TRACKING # Track buffer history +options DDB # Support DDB. +options FULL_BUF_TRACKING # Track more buffer history +options GDB # Support remote GDB. +options DEADLKRES # Enable the deadlock resolver +options INVARIANTS # Enable calls of extra sanity checking +options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS +options QUEUE_MACRO_DEBUG_TRASH # Trash queue(2) internal pointers on invalidation +options WITNESS # Enable checks to detect deadlocks and cycles +options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed +options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones +options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default + +# Kernel dump features. +options EKCD # Support for encrypted kernel dumps +options GZIO # gzip-compressed kernel and user dumps +options ZSTDIO # zstd-compressed kernel and user dumps +options DEBUGNET # debugnet networking +options NETDUMP # netdump(4) client support +options NETGDB # netgdb(4) client support + +# Make an SMP-capable kernel by default +options SMP # Symmetric MultiProcessor Kernel + +# Pseudo devices. +device crypto # core crypto support +device aesni # AES-NI OpenCrypto module +device loop # Network loopback +device rdrand_rng # Intel Bull Mountain RNG +device ether # Ethernet support +device vlan # 802.1Q VLAN support +device tuntap # Packet tunnel. +device md # Memory "disks" +device gif # IPv6 and IPv4 tunneling +device firmware # firmware assist module +device xz # lzma decompression +device bpf # Berkeley packet filter + +# Serial (COM) ports +device uart # Generic UART driver + +# VirtIO support +device virtio # Generic VirtIO bus (required) +device virtio_mmio # VirtIO MMIO bus +device vtnet # VirtIO Ethernet device +device virtio_blk # VirtIO Block device + +# Linux KVM paravirtualization support +device kvm_clock # KVM paravirtual clock driver + +# Netmap provides direct access to TX/RX rings on supported NICs +device netmap # netmap(4) support + +# Firecracker exposes information via the legacy MP Table mechanism +# rather than via ACPI (which it does not implement). +device mptable + +# Firecracker launches the FreeBSD kernel directly, via the PVH boot +# protocol, rather than via the boot loader; as such, we need to bake +# device hints into the kernel configuration rather than relying on +# device.hints being loaded, and likewise have no loader.conf to place +# other settings into. +envvar hint.uart.0.at="isa" +envvar hint.uart.0.port="0x3F8" +envvar hint.uart.0.flags="0x10" +envvar hint.uart.0.irq="0x4" +envvar hint.acpi.0.disabled="1" + +# Inside a VM, "power off" doesn't really yank the AC power, so there's +# no need to worry about disks flushing caches before losing power. +envvar kern.shutdown.poweroff_delay="0" + +# Firecracker seems to have a bug in its UART emulation. This works +# around the problem. +envvar hw.broken_txfifo="1" + +# We don't have an early timecounter to calibrate the TSC against, so +# skip that; later in the boot process we have other timecounters. +envvar machdep.disable_tsc_calibration="1" + +# Provide bug-for-bug compatibility with Linux in MP Table searching +# and parsing. Firecracker relies on these bugs. +options MPTABLE_LINUX_BUG_COMPAT + +# Disable the automatic registration of a PCI bridge; we do in fact +# not have one. +options NO_LEGACY_PCIB + +# Bus support. +# Note that Firecracker provides neither ACPI nor PCI; but removing these +# devices currently (2022-07-09) prevents the kernel from building. +device acpi +device pci + +# Xen HVM Guest Optimizations +# NOTE: XENHVM depends on xenpci and xentimer. +# They must be added or removed together. +# NOTE: These are present in FIRECRACKER because the PVH boot method +# originates from Xen; once that code is untangled these can be removed. +options XENHVM # Xen HVM kernel infrastructure +device xenpci # Xen HVM Hypervisor services driver +device xentimer # Xen x86 PV timer device + +# EFI devices +device efidev # EFI pseudo-device +device efirtc # EFI RTC diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index 53c6043a0146..fb8473505128 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -16,7 +16,6 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD$ cpu HAMMER ident GENERIC @@ -27,18 +26,20 @@ makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support options SCHED_ULE # ULE scheduler options NUMA # Non-Uniform Memory Architecture support options PREEMPTION # Enable kernel thread preemption +options EXTERR_STRINGS options VIMAGE # Subsystem virtualization, e.g. VNET options INET # InterNETworking options INET6 # IPv6 communications protocols options IPSEC_SUPPORT # Allow kldload of ipsec and tcpmd5 -options ROUTE_MPATH # Multipath routing support -options FIB_ALGO # Modular fib lookups +options IPSEC_OFFLOAD # Inline ipsec offload infra +options ROUTE_MPATH # Multipath routing support +options FIB_ALGO # Modular fib lookups options TCP_OFFLOAD # TCP offload options TCP_BLACKBOX # Enhanced TCP event logging options TCP_HHOOK # hhook(9) framework for TCP -options TCP_RFC7413 # TCP Fast Open +options TCP_RFC7413 # TCP Fast Open options SCTP_SUPPORT # Allow kldload of SCTP -options KERN_TLS # TLS transmit & receive offload +options KERN_TLS # TLS transmit & receive offload options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists @@ -68,6 +69,7 @@ options COMPAT_FREEBSD10 # Compatible with FreeBSD10 options COMPAT_FREEBSD11 # Compatible with FreeBSD11 options COMPAT_FREEBSD12 # Compatible with FreeBSD12 options COMPAT_FREEBSD13 # Compatible with FreeBSD13 +options COMPAT_FREEBSD14 # Compatible with FreeBSD14 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support options STACK # stack(9) support @@ -94,25 +96,7 @@ options RCTL # Resource limits options KDB # Enable kernel debugger support. options KDB_TRACE # Print a stack trace for a panic. # For full debugger support use (turn off in stable branch): -options BUF_TRACKING # Track buffer history -options DDB # Support DDB. -options FULL_BUF_TRACKING # Track more buffer history -options GDB # Support remote GDB. -options DEADLKRES # Enable the deadlock resolver -options INVARIANTS # Enable calls of extra sanity checking -options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS -options QUEUE_MACRO_DEBUG_TRASH # Trash queue(2) internal pointers on invalidation -options WITNESS # Enable checks to detect deadlocks and cycles -options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed -options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones -options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default - -# Kernel Sanitizers -#options COVERAGE # Generic kernel coverage. Used by KCOV -#options KCOV # Kernel Coverage Sanitizer -# Warning: KUBSAN can result in a kernel too large for loader to load -#options KUBSAN # Kernel Undefined Behavior Sanitizer -#options KCSAN # Kernel Concurrency Sanitizer +include "std.debug" # Kernel dump features. options EKCD # Support for encrypted kernel dumps @@ -124,7 +108,6 @@ options NETGDB # netgdb(4) client support # Make an SMP-capable kernel by default options SMP # Symmetric MultiProcessor Kernel -options EARLY_AP_STARTUP # CPU frequency control device cpufreq @@ -135,7 +118,7 @@ device smbios options IOMMU device pci options PCI_HP # PCI-Express native HotPlug -options PCI_IOV # PCI SR-IOV support +options PCI_IOV # PCI SR-IOV support options COMPAT_LINUXKPI @@ -163,6 +146,7 @@ device isp # Qlogic family device mpt # LSI-Logic MPT-Fusion device mps # LSI-Logic MPT-Fusion 2 device mpr # LSI-Logic MPT-Fusion 3 +device mpi3mr # LSI-Logic MPT-Fusion 4 device sym # NCR/Symbios Logic device isci # Intel C600 SAS controller device ocs_fc # Emulex FC adapters @@ -193,15 +177,16 @@ device ida # Compaq Smart RAID device mfi # LSI MegaRAID SAS device mlx # Mylex DAC960 family device mrsas # LSI/Avago MegaRAID SAS/SATA, 6Gb/s and 12Gb/s -device pmspcv # PMC-Sierra SAS/SATA Controller driver #XXX pointer/int warnings #device pst # Promise Supertrak SX6000 -device twe # 3ware ATA RAID # NVM Express (NVMe) support device nvme # base NVMe driver device nvd # expose NVMe namespaces as disks, depends on nvme +# Universal Flash Storage Host Controller Interface support +device ufshci # UFS host controller + # Intel Volume Management Device (VMD) support device vmd @@ -260,7 +245,8 @@ device le # AMD Am7900 LANCE and Am79C9xx PCnet device ti # Alteon Networks Tigon I/II gigabit Ethernet # Nvidia/Mellanox Connect-X 4 and later, Ethernet only -# mlx5ib requires ibcore infra and is not included by default +# o requires COMPAT_LINUXKPI and xz(4) +# o mlx5ib requires ibcore infra and is not included by default device mlx5 # Base driver device mlxfw # Firmware update device mlx5en # Ethernet driver @@ -301,14 +287,13 @@ device wlan # 802.11 support options IEEE80211_DEBUG # enable debug msgs options IEEE80211_SUPPORT_MESH # enable 802.11s draft support device wlan_wep # 802.11 WEP support -device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support +device wlan_ccmp # 802.11 CCMP support +device wlan_gcmp # 802.11 GCMP support device wlan_amrr # AMRR transmit rate control algorithm -device ath # Atheros NICs -device ath_pci # Atheros pci/cardbus glue -device ath_hal # pci/cardbus chip support +device ath # Atheros CardBus/PCI NICs +device ath_hal # Atheros CardBus/PCI chip support options AH_AR5416_INTERRUPT_MITIGATION # AR5416 interrupt mitigation -options ATH_ENABLE_11N # Enable 802.11n support for AR5416 and later device ath_rate_sample # SampleRate tx rate control for ath #device bwi # Broadcom BCM430x/BCM431x wireless NICs. #device bwn # Broadcom BCM43xx wireless NICs. @@ -324,7 +309,6 @@ device wpi # Intel 3945ABG wireless NICs. device crypto # core crypto support device aesni # AES-NI OpenCrypto module device loop # Network loopback -device padlock_rng # VIA Padlock RNG device rdrand_rng # Intel Bull Mountain RNG device ether # Ethernet support device vlan # 802.1Q VLAN support @@ -346,7 +330,9 @@ device ohci # OHCI PCI->USB interface device ehci # EHCI PCI->USB interface (USB 2.0) device xhci # XHCI PCI->USB interface (USB 3.0) device usb # USB Bus (required) -device ukbd # Keyboard +device usbhid # USB HID Transport +device hkbd # HID Keyboard +device ukbd # USB Keyboard device umass # Disks/Mass storage - Requires scbus and da # Sound support @@ -363,7 +349,6 @@ device snd_via8233 # VIA VT8233x Audio device mmc # MMC/SD bus device mmcsd # MMC/SD memory card device sdhci # Generic PCI SD Host Controller -device rtsx # Realtek SD card reader # VirtIO support device virtio # Generic VirtIO bus (required) @@ -377,12 +362,13 @@ device virtio_balloon # VirtIO Memory Balloon device device kvm_clock # KVM paravirtual clock driver # HyperV drivers and enhancement support -device hyperv # HyperV drivers +device hyperv # HyperV drivers # Xen HVM Guest Optimizations # NOTE: XENHVM depends on xenpci and xentimer. # They must be added or removed together. options XENHVM # Xen HVM kernel infrastructure +device xenefi # Xen EFI timer device device xenpci # Xen HVM Hypervisor services driver device xentimer # Xen x86 PV timer device @@ -397,4 +383,9 @@ device uinput # install /dev/uinput cdev # HID support options HID_DEBUG # enable debug msgs device hid # Generic HID support +device hidbus # Generic HID Bus options IICHID_SAMPLING # Workaround missing GPIO INTR support + +# EFI devices +device efidev # EFI pseudo-device +device efirtc # EFI RTC diff --git a/sys/amd64/conf/GENERIC-KASAN b/sys/amd64/conf/GENERIC-KASAN index 8d5703141e86..5aa2d50d3cca 100644 --- a/sys/amd64/conf/GENERIC-KASAN +++ b/sys/amd64/conf/GENERIC-KASAN @@ -1,4 +1,3 @@ -# $FreeBSD$ include GENERIC diff --git a/sys/amd64/conf/GENERIC-KCSAN b/sys/amd64/conf/GENERIC-KCSAN index b578fbf641cd..a0970f2a46a4 100644 --- a/sys/amd64/conf/GENERIC-KCSAN +++ b/sys/amd64/conf/GENERIC-KCSAN @@ -24,7 +24,6 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD$ include GENERIC diff --git a/sys/amd64/conf/GENERIC-KMSAN b/sys/amd64/conf/GENERIC-KMSAN index 0afbade172b4..e147d8b8168b 100644 --- a/sys/amd64/conf/GENERIC-KMSAN +++ b/sys/amd64/conf/GENERIC-KMSAN @@ -1,4 +1,3 @@ -# $FreeBSD$ include GENERIC diff --git a/sys/amd64/conf/GENERIC-MMCCAM b/sys/amd64/conf/GENERIC-MMCCAM index 8a5bc7175d68..65bada999030 100644 --- a/sys/amd64/conf/GENERIC-MMCCAM +++ b/sys/amd64/conf/GENERIC-MMCCAM @@ -1,32 +1,19 @@ -# MMCCAM is the kernel config for doing MMC on CAM development -# and testing on bhyve -# $FreeBSD$ +# +# GENERIC-MMCCAM +# +# Custom kernel for GENERIC plus MMCCAM as opposed to the prior MMC stack. +# -include MINIMAL +#NO_UNIVERSE -ident GENERIC-MMCCAM - -# Access GPT-formatted and labeled root volume -options GEOM_LABEL +include GENERIC -# UART -- for bhyve console -device uart - -# VirtIO support, needed for bhyve -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_scsi # VirtIO SCSI device -device virtio_balloon # VirtIO Memory Balloon device +ident GENERIC-MMCCAM -# CAM-specific stuff -device pass -device scbus -device da +options MMCCAM -options MMCCAM +# Allow for CAM debugging +options CAMDEBUG -# Add CAMDEBUG stuff -options CAMDEBUG -options CAM_DEBUG_FLAGS=(CAM_DEBUG_INFO|CAM_DEBUG_PROBE|CAM_DEBUG_PERIPH) +nodevice mmc +nodevice mmcsd diff --git a/sys/amd64/conf/GENERIC-NODEBUG b/sys/amd64/conf/GENERIC-NODEBUG index 1c767e84d483..1939b0efd352 100644 --- a/sys/amd64/conf/GENERIC-NODEBUG +++ b/sys/amd64/conf/GENERIC-NODEBUG @@ -24,9 +24,8 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD$ include GENERIC -include "../../conf/std.nodebug" +include "std.nodebug" ident GENERIC-NODEBUG diff --git a/sys/amd64/conf/GENERIC.hints b/sys/amd64/conf/GENERIC.hints index 31311d03fc94..4f6121c7cf77 100644 --- a/sys/amd64/conf/GENERIC.hints +++ b/sys/amd64/conf/GENERIC.hints @@ -1,12 +1,3 @@ -# $FreeBSD$ -hint.fdc.0.at="isa" -hint.fdc.0.port="0x3F0" -hint.fdc.0.irq="6" -hint.fdc.0.drq="2" -hint.fd.0.at="fdc0" -hint.fd.0.drive="0" -hint.fd.1.at="fdc0" -hint.fd.1.drive="1" hint.atkbdc.0.at="isa" hint.atkbdc.0.port="0x060" hint.atkbd.0.at="atkbdc" @@ -15,15 +6,11 @@ hint.psm.0.at="atkbdc" hint.psm.0.irq="12" hint.sc.0.at="isa" hint.sc.0.flags="0x100" -hint.uart.0.at="isa" +hint.uart.0.at="acpi" hint.uart.0.port="0x3F8" hint.uart.0.flags="0x10" -hint.uart.0.irq="4" -hint.uart.1.at="isa" +hint.uart.1.at="acpi" hint.uart.1.port="0x2F8" -hint.uart.1.irq="3" -hint.ppc.0.at="isa" -hint.ppc.0.irq="7" hint.atrtc.0.at="isa" hint.atrtc.0.port="0x70" hint.atrtc.0.irq="8" diff --git a/sys/amd64/conf/LINT b/sys/amd64/conf/LINT index 9618f78944ab..41207eb63cb9 100644 --- a/sys/amd64/conf/LINT +++ b/sys/amd64/conf/LINT @@ -1,4 +1,3 @@ -# $FreeBSD$ include "../../conf/NOTES" include "../../x86/conf/NOTES" diff --git a/sys/amd64/conf/LINT-NOINET b/sys/amd64/conf/LINT-NOINET index 2e4366ef8996..f5e704f6c071 100644 --- a/sys/amd64/conf/LINT-NOINET +++ b/sys/amd64/conf/LINT-NOINET @@ -1,8 +1,4 @@ -# $FreeBSD$ include LINT ident LINT-NOINET -makeoptions MKMODULESENV+="WITHOUT_INET_SUPPORT=" nooptions INET -nodevice gre -nodevice netmap diff --git a/sys/amd64/conf/LINT-NOINET6 b/sys/amd64/conf/LINT-NOINET6 index ffb275fd68d9..041916883277 100644 --- a/sys/amd64/conf/LINT-NOINET6 +++ b/sys/amd64/conf/LINT-NOINET6 @@ -1,6 +1,4 @@ -# $FreeBSD$ include LINT ident LINT-NOINET6 -makeoptions MKMODULESENV+="WITHOUT_INET6_SUPPORT=" nooptions INET6 diff --git a/sys/amd64/conf/LINT-NOIP b/sys/amd64/conf/LINT-NOIP index 0d4ec1e8c1ac..b3006cdb363e 100644 --- a/sys/amd64/conf/LINT-NOIP +++ b/sys/amd64/conf/LINT-NOIP @@ -1,4 +1,3 @@ -# $FreeBSD$ include LINT ident LINT-NOIP @@ -13,6 +12,7 @@ nodevice ale nodevice bxe nodevice em nodevice fxp +nodevice gve nodevice jme nodevice lio nodevice msk diff --git a/sys/amd64/conf/LINT-NOVIMAGE b/sys/amd64/conf/LINT-NOVIMAGE new file mode 100644 index 000000000000..e58df1214fe2 --- /dev/null +++ b/sys/amd64/conf/LINT-NOVIMAGE @@ -0,0 +1,4 @@ + +include LINT +ident LINT-NOVIMAGE +nooptions VIMAGE diff --git a/sys/amd64/conf/MINIMAL b/sys/amd64/conf/MINIMAL index 62f942eef677..61c713c609a4 100644 --- a/sys/amd64/conf/MINIMAL +++ b/sys/amd64/conf/MINIMAL @@ -6,10 +6,6 @@ # modules. # # Exceptions: -# o While UFS is buildable as a module, the current module lacks -# some features (ACL, GJOURNAL) that GENERIC includes. -# o acpi as a module has been reported flakey and not well tested, so -# is included in the kernel. # o (non-loaded) random is included due to uncertainty... # o Many networking things are included # @@ -30,7 +26,6 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD$ cpu HAMMER ident MINIMAL @@ -41,33 +36,27 @@ makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support options SCHED_ULE # ULE scheduler options NUMA # Non-Uniform Memory Architecture support options PREEMPTION # Enable kernel thread preemption +options VIMAGE # Subsystem virtualization, e.g. VNET options INET # InterNETworking options INET6 # IPv6 communications protocols options TCP_OFFLOAD # TCP offload options SCTP_SUPPORT # Allow kldload of SCTP -options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists options UFS_DIRHASH # Improve performance on big directories options UFS_GJOURNAL # Enable gjournal-based UFS journaling options QUOTA # Enable disk quotas for UFS options MD_ROOT # MD is a potential root device +options GEOM_LABEL # Provides labelization options COMPAT_FREEBSD32 # Compatible with i386 binaries -options COMPAT_FREEBSD4 # Compatible with FreeBSD4 -options COMPAT_FREEBSD5 # Compatible with FreeBSD5 -options COMPAT_FREEBSD6 # Compatible with FreeBSD6 -options COMPAT_FREEBSD7 # Compatible with FreeBSD7 -options COMPAT_FREEBSD9 # Compatible with FreeBSD9 options COMPAT_FREEBSD10 # Compatible with FreeBSD10 options COMPAT_FREEBSD11 # Compatible with FreeBSD11 options COMPAT_FREEBSD12 # Compatible with FreeBSD12 options COMPAT_FREEBSD13 # Compatible with FreeBSD13 +options COMPAT_FREEBSD14 # Compatible with FreeBSD14 options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI options KTRACE # ktrace(1) support options STACK # stack(9) support -options SYSVSHM # SYSV-style shared memory -options SYSVMSG # SYSV-style message queues -options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed. options KBD_INSTALL_CDEV # install a CDEV entry in /dev @@ -84,10 +73,11 @@ options INCLUDE_CONFIG_FILE # Include this file in kernel # Debugging support. Always need this: options KDB # Enable kernel debugger support. options KDB_TRACE # Print a stack trace for a panic. +# For full debugger support use (turn off in stable branch): +include "std.debug" # Make an SMP-capable kernel by default options SMP # Symmetric MultiProcessor Kernel -options EARLY_AP_STARTUP # CPU frequency control device cpufreq @@ -118,13 +108,11 @@ device vt_vbefb device agp # support several AGP chipsets -# Bring in 'uart' as well, since it can be a console driver and all console -# drivers must be compiled into the kernel. -device uart +# Serial (COM) ports +device uart # Generic UART driver # Pseudo devices. device loop # Network loopback -device padlock_rng # VIA Padlock RNG device rdrand_rng # Intel Bull Mountain RNG device ether # Ethernet support @@ -133,6 +121,13 @@ device ether # Ethernet support # Note that 'bpf' is required for DHCP. device bpf # Berkeley packet filter +# VirtIO support +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 + # Linux KVM paravirtualization support device kvm_clock # KVM paravirtual clock driver @@ -140,6 +135,7 @@ device kvm_clock # KVM paravirtual clock driver # NOTE: XENHVM depends on xenpci and xentimer. # They must be added or removed together. options XENHVM # Xen HVM kernel infrastructure +device xenefi # Xen EFI timer device device xenpci # Xen HVM Hypervisor services driver device xentimer # Xen x86 PV timer device @@ -147,3 +143,15 @@ 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/amd64/conf/MINIMAL-NODEBUG b/sys/amd64/conf/MINIMAL-NODEBUG new file mode 100644 index 000000000000..7b7c22bbcaf6 --- /dev/null +++ b/sys/amd64/conf/MINIMAL-NODEBUG @@ -0,0 +1,11 @@ +# +# MINIMAL-NODEBUG -- Non-debug MINIMAL kernel. +# +# This is the MINIMAL equivalent to GENERIC-NODEBUG. + +#NO_UNIVERSE + +include MINIMAL +include "std.nodebug" + +ident MINIMAL-NODEBUG diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index cf284ec8e5f0..e0a9e1b77d93 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -2,58 +2,24 @@ # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # # This file contains machine dependent kernel configuration notes. For -# machine independent notes, look in /sys/conf/NOTES. +# machine independent notes, look in /sys/conf/NOTES. For notes shared +# with i386, look in /sys/x86/conf/NOTES. # -# $FreeBSD$ # -# -# Enable the kernel DTrace hooks which are required to load the DTrace -# kernel modules. -# -options KDTRACE_HOOKS - -# DTrace core -# NOTE: introduces CDDL-licensed components into the kernel -#device dtrace - -# DTrace modules -#device dtrace_profile -#device dtrace_sdt -#device dtrace_fbt -#device dtrace_systrace -#device dtrace_prototype -#device dtnfscl -#device dtmalloc +# GCOV (code coverage) support -# Alternatively include all the DTrace modules -#device dtraceall +options LINDEBUGFS +options GCOV ##################################################################### # SMP OPTIONS: -# -# Notes: -# -# IPI_PREEMPTION instructs the kernel to preempt threads running on other -# CPUS if needed. Relies on the PREEMPTION option # Optional: -options IPI_PREEMPTION device atpic # Optional legacy pic support device mptable # Optional MPSPEC mptable support -# -# Watchdog routines. -# -options MP_WATCHDOG - -# Debugging options. -# -options COUNT_XINVLTLB_HITS # Counters for TLB events -options COUNT_IPIS # Per-CPU IPI interrupt counters - - ##################################################################### # CPU OPTIONS @@ -71,190 +37,14 @@ cpu HAMMER # aka K8, aka Opteron & Athlon64 ##################################################################### -# NETWORKING OPTIONS - -# -# DEVICE_POLLING adds support for mixed interrupt-polling handling -# of network device drivers, which has significant benefits in terms -# of robustness to overloads and responsivity, as well as permitting -# accurate scheduling of the CPU time between kernel network processing -# and other activities. The drawback is a moderate (up to 1/HZ seconds) -# potential increase in response times. -# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING -# to achieve smoother behaviour. -# Additionally, you can enable/disable polling at runtime with help of -# the ifconfig(8) utility, and select the CPU fraction reserved to -# userland with the sysctl variable kern.polling.user_frac -# (default 50, range 0..100). -# -# Not all device drivers support this mode of operation at the time of -# this writing. See polling(4) for more details. - -options DEVICE_POLLING - -# BPF_JITTER adds support for BPF just-in-time compiler. - -options BPF_JITTER - -# OpenFabrics Enterprise Distribution (Infiniband). -options OFED -options OFED_DEBUG_INIT - -# Sockets Direct Protocol -options SDP -options SDP_DEBUG - -# IP over Infiniband -options IPOIB -options IPOIB_DEBUG -options IPOIB_CM - - -##################################################################### -# CLOCK OPTIONS - -# Provide read/write access to the memory in the clock chip. -device nvram # Access to rtc cmos via /dev/nvram - - -##################################################################### -# MISCELLANEOUS DEVICES AND OPTIONS - -device speaker #Play IBM BASIC-style noises out your speaker -envvar hint.speaker.0.at="isa" -envvar hint.speaker.0.port="0x61" - - -##################################################################### -# HARDWARE BUS CONFIGURATION - -# -# ISA bus -# -device isa - -# -# Options for `isa': -# -# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A -# interrupt controller. This saves about 0.7-1.25 usec for each interrupt. -# This option breaks suspend/resume on some portables. -# -# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A -# interrupt controller. This saves about 0.7-1.25 usec for each interrupt. -# Automatic EOI is documented not to work for the slave with the -# original i8259A, but it works for some clones and some integrated -# versions. -# -# MAXMEM specifies the amount of RAM on the machine; if this is not -# specified, FreeBSD will first read the amount of memory from the CMOS -# RAM, so the amount of memory will initially be limited to 64MB or 16MB -# depending on the BIOS. If the BIOS reports 64MB, a memory probe will -# then attempt to detect the installed amount of RAM. If this probe -# fails to detect >64MB RAM you will have to use the MAXMEM option. -# The amount is in kilobytes, so for a machine with 128MB of RAM, it would -# be 131072 (128 * 1024). -# -# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to -# reset the CPU for reboot. This is needed on some systems with broken -# keyboard controllers. - -options AUTO_EOI_1 -#options AUTO_EOI_2 - -options MAXMEM=(128*1024) -#options BROKEN_KEYBOARD_RESET - -# -# AGP GART support -device agp - -# -# AGP debugging. -# -options AGP_DEBUG - - -##################################################################### # HARDWARE DEVICE CONFIGURATION -# To include support for VGA VESA video modes -options VESA - -# Turn on extra debugging checks and output for VESA support. -options VESA_DEBUG - -device dpms # DPMS suspend & resume via VESA BIOS - -# x86 real mode BIOS emulator, required by atkbdc/dpms/vesa -options X86BIOS - # # Optional devices: # -# PS/2 mouse -device psm -envvar hint.psm.0.at="atkbdc" -envvar hint.psm.0.irq="12" - -# Options for psm: -options PSM_HOOKRESUME #hook the system resume event, useful - #for some laptops -options PSM_RESETAFTERSUSPEND #reset the device at the resume event - -# The keyboard controller; it controls the keyboard and the PS/2 mouse. -device atkbdc -envvar hint.atkbdc.0.at="isa" -envvar hint.atkbdc.0.port="0x060" - -# The AT keyboard -device atkbd -envvar hint.atkbd.0.at="atkbdc" -envvar hint.atkbd.0.irq="1" - -# Options for atkbd: -options ATKBD_DFLT_KEYMAP # specify the built-in keymap -makeoptions ATKBD_DFLT_KEYMAP=fr.dvorak - -# `flags' for atkbd: -# 0x01 Force detection of keyboard, else we always assume a keyboard -# 0x02 Don't reset keyboard, useful for some newer ThinkPads -# 0x03 Force detection and avoid reset, might help with certain -# dockingstations -# 0x04 Old-style (XT) keyboard support, useful for older ThinkPads - -# Video card driver for VGA adapters. -device vga -envvar hint.vga.0.at="isa" - -# Options for vga: -# Try the following option if the mouse pointer is not drawn correctly -# or font does not seem to be loaded properly. May cause flicker on -# some systems. -options VGA_ALT_SEQACCESS - -# If you can dispense with some vga driver features, you may want to -# use the following options to save some memory. -#options VGA_NO_FONT_LOADING # don't save/load font -#options VGA_NO_MODE_CHANGE # don't change video modes - -# Older video cards may require this option for proper operation. -options VGA_SLOW_IOACCESS # do byte-wide i/o's to TS and GDC regs - -# The following option probably won't work with the LCD displays. -options VGA_WIDTH90 # support 90 column modes - -# Debugging. -options VGA_DEBUG - # vt(4) drivers. -device vt_vga # VGA device vt_efifb # EFI framebuffer -device vt_vbefb # VBE framebuffer - -# Linear framebuffer driver for S3 VESA 1.2 cards. Works on top of VESA. -device s3pci # 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create # the /dev/3dfx0 device to work with glide implementations. This should get @@ -265,19 +55,21 @@ device s3pci device tdfx # Enable 3Dfx Voodoo support # -# ACPI support using the Intel ACPI Component Architecture reference -# implementation. +# RAID adapters # -# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer -# kernel environment variables to select initial debugging levels for the -# Intel ACPICA code. (Note that the Intel code must also have USE_DEBUGGER -# defined when it is built). -device acpi -options ACPI_DEBUG +#XXX this stores pointers in a 32bit field that is defined by the hardware +#device pst + +# +# Microsemi smartpqi controllers. +# These controllers have a SCSI-like interface, and require the +# CAM infrastructure. +# +device smartpqi -# The cpufreq(4) driver provides support for non-ACPI CPU frequency control -device cpufreq +# Broadcom MPT Fusion, version 4, is 64-bit only +device mpi3mr # LSI-Logic MPT-Fusion 4 # # Network interfaces: @@ -285,340 +77,60 @@ device cpufreq # axp: AMD EPYC integrated NIC # Requires the miibus module -# bxe: Broadcom NetXtreme II (BCM5771X/BCM578XX) PCIe 10Gb Ethernet -# adapters. # ice: Intel 800 Series Physical Function # Requires the ice_ddp module for full functionality -# igc: Intel I225 2.5Gb Ethernet adapter -# ipw: Intel PRO/Wireless 2100 IEEE 802.11 adapter -# Requires the ipw firmware module # irdma: Intel 800 Series RDMA driver # Requires the ice module -# iwi: Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters -# Requires the iwi firmware module -# iwn: Intel Wireless WiFi Link 1000/105/135/2000/4965/5000/6000/6050 abgn -# 802.11 network adapters -# Requires the iwn firmware module -# mthca: Mellanox HCA InfiniBand -# mlx4ib: Mellanox ConnectX HCA InfiniBand -# mlx4en: Mellanox ConnectX HCA Ethernet -# nfe: nVidia nForce MCP on-board Ethernet Networking (BSD open source) # qlxgb: QLogic 3200 and 8200 series 10 Gigabit Ethernet & CNA Adapter # qlxgbe: QLogic 8300 series 10 Gigabit Ethernet & CNA Adapter # qlxge: QLogic 8100 series 10 Gigabit Ethernet & CNA Adapter +# qlnxe: Cavium QLogic 41000/45000 series 10/25/40/100 Gigabit Ethernet & CNA Adapter # sfxge: Solarflare SFC9000 family 10Gb Ethernet adapters -# vmx: VMware VMXNET3 Ethernet (BSD open source) -# wpi: Intel 3945ABG Wireless LAN controller -# Requires the wpi firmware module device axp # AMD EPYC integrated NIC -device bxe # Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE -device igc # Intel I225 2.5G Ethernet -device ipw # Intel 2100 wireless NICs. -device iwi # Intel 2200BG/2225BG/2915ABG wireless NICs. -device iwn # Intel 4965/1000/5000/6000 wireless NICs. device ixl # Intel 700 Series Physical Function device iavf # Intel Adaptive Virtual Function device ice # Intel 800 Series Physical Function device ice_ddp # Intel 800 Series DDP Package device irdma # Intel 800 Series RDMA driver -device mthca # Mellanox HCA InfiniBand -device mlx4 # Shared code module between IB and Ethernet -device mlx4ib # Mellanox ConnectX HCA InfiniBand -device mlx4en # Mellanox ConnectX HCA Ethernet -device nfe # nVidia nForce MCP on-board Ethernet device qlxgb # QLogic 3200/8200 Ethernet device qlxgbe # QLogic 8300 Ethernet device qlxge # QLogic 8100 Ethernet +device qlnxe # QLogic 41000/45000 Ethernet device sfxge # Solarflare SFC9000 10Gb Ethernet -device vmx # VMware VMXNET3 Ethernet -device wpi # Intel 3945ABG wireless NICs. - -# IEEE 802.11 adapter firmware modules - -# Intel PRO/Wireless 2100 firmware: -# ipwfw: BSS/IBSS/monitor mode firmware -# ipwbssfw: BSS mode firmware -# ipwibssfw: IBSS mode firmware -# ipwmonitorfw: Monitor mode firmware -# Intel PRO/Wireless 2200BG/2225BG/2915ABG firmware: -# iwifw: BSS/IBSS/monitor mode firmware -# iwibssfw: BSS mode firmware -# iwiibssfw: IBSS mode firmware -# iwimonitorfw: Monitor mode firmware -# Intel Wireless WiFi Link 4965/1000/5000/6000 series firmware: -# iwnfw: Single module to support all devices -# iwn1000fw: Specific module for the 1000 only -# iwn105fw: Specific module for the 105 only -# iwn135fw: Specific module for the 135 only -# iwn2000fw: Specific module for the 2000 only -# iwn2030fw: Specific module for the 2030 only -# iwn4965fw: Specific module for the 4965 only -# iwn5000fw: Specific module for the 5000 only -# iwn5150fw: Specific module for the 5150 only -# iwn6000fw: Specific module for the 6000 only -# iwn6000g2afw: Specific module for the 6000g2a only -# iwn6000g2bfw: Specific module for the 6000g2b only -# iwn6050fw: Specific module for the 6050 only -# wpifw: Intel 3945ABG Wireless LAN Controller firmware - -device iwifw -device iwibssfw -device iwiibssfw -device iwimonitorfw -device ipwfw -device ipwbssfw -device ipwibssfw -device ipwmonitorfw -device iwnfw -device iwn1000fw -device iwn105fw -device iwn135fw -device iwn2000fw -device iwn2030fw -device iwn4965fw -device iwn5000fw -device iwn5150fw -device iwn6000fw -device iwn6000g2afw -device iwn6000g2bfw -device iwn6050fw -device wpifw - -# -# Non-Transparent Bridge (NTB) drivers -# -device if_ntb # Virtual NTB network interface -device ntb_transport # NTB packet transport driver -device ntb # NTB hardware interface -device ntb_hw_amd # AMD NTB hardware driver -device ntb_hw_intel # Intel NTB hardware driver -device ntb_hw_plx # PLX NTB hardware driver - -# -#XXX this stores pointers in a 32bit field that is defined by the hardware -#device pst - -# -# Areca 11xx and 12xx series of SATA II RAID controllers. -# CAM is required. -# -device arcmsr # Areca SATA II RAID - -# -# Microsemi smartpqi controllers. -# These controllers have a SCSI-like interface, and require the -# CAM infrastructure. -# -device smartpqi - -# -# Adaptec FSA RAID controllers, including integrated DELL controllers, -# the Dell PERC 2/QC and the HP NetRAID-4M -device aac -device aacp # SCSI Passthrough interface (optional, CAM required) - -# -# Highpoint RocketRAID 27xx. -device hpt27xx - -# -# Highpoint RocketRAID 182x. -device hptmv - -# -# Highpoint DC7280 and R750. -device hptnr - -# -# Highpoint RocketRAID. Supports RR172x, RR222x, RR2240, RR232x, RR2340, -# RR2210, RR174x, RR2522, RR231x, RR230x. -device hptrr - -# -# Highpoint RocketRaid 3xxx series SATA RAID -device hptiop - -# -# IBM (now Adaptec) ServeRAID controllers -device ips -# -# Intel integrated Memory Controller (iMC) SMBus controller -# Sandybridge-Xeon, Ivybridge-Xeon, Haswell-Xeon, Broadwell-Xeon -device imcsmb +##################################################################### # -# Intel C600 (Patsburg) integrated SAS controller -device isci -options ISCI_LOGGING # enable debugging in isci HAL - +# Miscellaneous hardware: # -# NVM Express (NVMe) support -device nvme # base NVMe driver -device nvd # expose NVMe namespaces as disks, depends on nvme -# -# Intel Volume Management Device (VMD) support -device vmd +device ioat # Intel I/OAT DMA engine -# -# PMC-Sierra SAS/SATA controller -device pmspcv +# EFI Runtime Services support +options EFIRT -# -# Intel QuickAssist -device qat +# EFI pseudo-device +device efidev -# -# SafeNet crypto driver: can be moved to the MI NOTES as soon as -# it's tested on a big-endian machine -# -device safe # SafeNet 1141 -options SAFE_DEBUG # enable debugging support: hw.safe.debug -options SAFE_RNDTEST # enable rndtest support +# EFI RTC +device efirtc # -# VirtIO support +# Intel QuickAssist driver with OpenCrypto support # -# The virtio entry provides a generic bus for use by the device drivers. -# It must be combined with an interface that communicates with the host. -# Multiple such interfaces are defined by the VirtIO specification. FreeBSD -# only has support for PCI. Therefore, virtio_pci must be statically -# compiled in or loaded as a module for the device drivers to function. -# -device virtio # Generic VirtIO bus (required) -device virtio_pci # VirtIO PCI Interface -device vtnet # VirtIO Ethernet device -device virtio_blk # VirtIO Block device -device virtio_scsi # VirtIO SCSI device -device virtio_balloon # VirtIO Memory Balloon device -device virtio_random # VirtIO Entropy device -device virtio_console # VirtIO Console device - -# Linux KVM paravirtualization support -device kvm_clock # KVM paravirtual clock driver - -# Microsoft Hyper-V enhancement support -device hyperv # HyperV drivers +# Only for legacy Atom C2XXX chipsets. +device qat_c2xxx # Xen HVM Guest Optimizations options XENHVM # Xen HVM kernel infrastructure +device xenefi # Xen EFI timer device device xenpci # Xen HVM Hypervisor services driver device xentimer # Xen x86 PV timer device ##################################################################### - -# -# Miscellaneous hardware: -# -# ipmi: Intelligent Platform Management Interface -# pbio: Parallel (8255 PPI) basic I/O (mode 0) port (e.g. Advantech PCL-724) -# smbios: DMI/SMBIOS entry point (requires EFIRT option) -# vpd: Vital Product Data kernel interface -# asmc: Apple System Management Controller -# si: Specialix International SI/XIO or SX intelligent serial card -# tpm: Trusted Platform Module - -# Notes on the Specialix SI/XIO driver: -# The host card is memory, not IO mapped. -# The Rev 1 host cards use a 64K chunk, on a 32K boundary. -# The Rev 2 host cards use a 32K chunk, on a 32K boundary. -# The cards can use an IRQ of 11, 12 or 15. - -device ipmi -device pbio -envvar hint.pbio.0.at="isa" -envvar hint.pbio.0.port="0x360" -device smbios -device vpd -device asmc -device tpm -device padlock_rng # VIA Padlock RNG -device rdrand_rng # Intel Bull Mountain RNG -device aesni # AES-NI OpenCrypto module -device ossl # OpenSSL OpenCrypto module -device ioat # Intel I/OAT DMA engine - -# -# Laptop/Notebook options: -# - -device backlight - -# -# I2C Bus -# - -# -# Hardware watchdog timers: -# -# ichwd: Intel ICH watchdog timer -# amdsbwd: AMD SB7xx watchdog timer -# viawd: VIA south bridge watchdog timer -# wbwd: Winbond watchdog timer -# itwd: ITE Super I/O watchdog timer -# -device ichwd -device amdsbwd -device viawd -device wbwd -device itwd - -# -# Temperature sensors: -# -# coretemp: on-die sensor on Intel Core and newer CPUs -# amdtemp: on-die sensor on AMD K8/K10/K11 CPUs -# -device coretemp -device amdtemp - -# -# CPU control pseudo-device. Provides access to MSRs, CPUID info and -# microcode update feature. -# -device cpuctl - -# -# SuperIO driver. -# -device superio - -# -# System Management Bus (SMB) -# -options ENABLE_ALART # Control alarm on Intel intpm driver - -# -# AMD System Management Network (SMN) -# -device amdsmn - -# -# Number of initial kernel page table pages used for early bootstrap. -# This number should include enough pages to map the kernel and any -# modules or other data loaded with the kernel by the loader. Each -# page table page maps 2MB. -# -options NKPT=31 - -# EFI Runtime Services support -options EFIRT - -# -# HID-over-I2C support -# -device iichid # HID-over-I2C support -options IICHID_DEBUG # Enable HID-over-I2C debug messages -options IICHID_SAMPLING # Workaround missing GPIO INTR support - -##################################################################### # ABI Emulation -#XXX keep these here for now and reactivate when support for emulating -#XXX these 32 bit binaries is added. - # Enable 32-bit runtime support for FreeBSD/i386 binaries. options COMPAT_FREEBSD32 @@ -629,11 +141,19 @@ options COMPAT_AOUT # ZFS support # NB: This depends on crypto, cryptodev and ZSTDIO -options ZFS +options ZFS ##################################################################### # VM OPTIONS +# +# Number of initial kernel page table pages used for early bootstrap. +# This number should include enough pages to map the kernel and any +# modules or other data loaded with the kernel by the loader. Each +# page table page maps 2MB. +# +options NKPT=31 + # KSTACK_PAGES is the number of memory pages to assign to the kernel # stack of each thread. @@ -644,24 +164,13 @@ options KSTACK_PAGES=5 options PV_STATS ##################################################################### - -# More undocumented options for linting. -# Note that documenting these are not considered an affront. - -options KBDIO_DEBUG=2 -options KBD_MAXRETRY=4 -options KBD_MAXWAIT=6 -options KBD_RESETDELAY=201 - -options PSM_DEBUG=1 - -options TIMER_FREQ=((14318182+6)/12) - -options VM_KMEM_SIZE -options VM_KMEM_SIZE_MAX -options VM_KMEM_SIZE_SCALE - -# GCOV (code coverage) support - -options LINDEBUGFS -options GCOV +# Kernel sanitizers + +#options COVERAGE # Generic kernel coverage. Used by KCOV +#options KCOV # Kernel Coverage Sanitizer +# Warning: KUBSAN can result in a kernel too large for loader to load +#options KUBSAN # Kernel Undefined Behavior Sanitizer +#options KCSAN # Kernel Concurrency Sanitizer +#options KASAN # Kernel Address Sanitizer +#options KCSAN # Kernel Concurrency Sanitizer +#options KMSAN # Kernel Memory Sanitizer |
