diff --git a/sys/amd64/conf/GENERIC-DEBUG b/sys/amd64/conf/GENERIC-DEBUG new file mode 100644 index 000000000000..f7187677370b --- /dev/null +++ b/sys/amd64/conf/GENERIC-DEBUG @@ -0,0 +1,9 @@ +# +# GENERIC-DEBUG -- WITNESS and INVARIANTS enabled kernel configuration file +# for FreeBSD/amd64 +# + +include GENERIC +include "std.debug" + +ident GENERIC-DEBUG diff --git a/sys/amd64/conf/MINIMAL-DEBUG b/sys/amd64/conf/MINIMAL-DEBUG new file mode 100644 index 000000000000..a2533608f8af --- /dev/null +++ b/sys/amd64/conf/MINIMAL-DEBUG @@ -0,0 +1,9 @@ +# +# MINIMAL-DEBUG -- WITNESS and INVARIANTS enabled kernel configuration file +# for FreeBSD/amd64 +# + +include MINIMAL +include "std.debug" + +ident MINIMAL-DEBUG diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES index c82be3945ac7..db93a47165d6 100644 --- a/sys/amd64/conf/NOTES +++ b/sys/amd64/conf/NOTES @@ -1,155 +1,166 @@ # # 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. For notes shared # with i386, look in /sys/x86/conf/NOTES. # # # GCOV (code coverage) support options LINDEBUGFS options GCOV ##################################################################### # SMP OPTIONS: # Optional: device atpic # Optional legacy pic support device mptable # Optional MPSPEC mptable support ##################################################################### # CPU OPTIONS # # You must specify at least one CPU (the one you intend to run on); # deleting the specification for CPUs you don't need to use may make # parts of the system run faster. # cpu HAMMER # aka K8, aka Opteron & Athlon64 # # Options for CPU features. # ##################################################################### # HARDWARE DEVICE CONFIGURATION # # Optional devices: # # vt(4) drivers. device vt_efifb # EFI framebuffer # 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create # the /dev/3dfx0 device to work with glide implementations. This should get # linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as # the tdfx DRI module from XFree86 and is completely unrelated. # device tdfx # Enable 3Dfx Voodoo support # # RAID adapters # #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 # # Network interfaces: # # axp: AMD EPYC integrated NIC # Requires the miibus module # ice: Intel 800 Series Physical Function # Requires the ice_ddp module for full functionality # irdma: Intel 800 Series RDMA driver # Requires the ice module # 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 device axp # AMD EPYC integrated NIC 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 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 ##################################################################### # # Miscellaneous hardware: # device ioat # Intel I/OAT DMA engine # EFI Runtime Services support options EFIRT # # Intel QuickAssist driver with OpenCrypto support # # 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 ##################################################################### # ABI Emulation # Enable 32-bit runtime support for FreeBSD/i386 binaries. options COMPAT_FREEBSD32 # Enable (32-bit) a.out binary support options COMPAT_AOUT ##################################################################### # ZFS support # NB: This depends on crypto, cryptodev and ZSTDIO 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. options KSTACK_PAGES=5 # Enable detailed accounting by the PV entry allocator. options PV_STATS + +##################################################################### +# 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 KMSAN # Kernel Memory Sanitizer diff --git a/sys/arm/conf/GENERIC-DEBUG b/sys/arm/conf/GENERIC-DEBUG new file mode 100644 index 000000000000..f36fe21b1640 --- /dev/null +++ b/sys/arm/conf/GENERIC-DEBUG @@ -0,0 +1,9 @@ +# +# GENERIC-DEBUG -- WITNESS and INVARIANTS enabled kernel configuration file +# for FreeBSD/ARMv6 +# + +include GENERIC +include "std.debug" + +ident GENERIC-DEBUG diff --git a/sys/arm64/conf/GENERIC-DEBUG b/sys/arm64/conf/GENERIC-DEBUG new file mode 100644 index 000000000000..d954106b58db --- /dev/null +++ b/sys/arm64/conf/GENERIC-DEBUG @@ -0,0 +1,9 @@ +# +# GENERIC-DEBUG -- WITNESS and INVARIANTS enabled kernel configuration file +# for FreeBSD/arm64 +# + +include GENERIC +include "std.debug" + +ident GENERIC-DEBUG diff --git a/sys/conf/std.debug b/sys/conf/std.debug new file mode 100644 index 000000000000..813aa0e4af91 --- /dev/null +++ b/sys/conf/std.debug @@ -0,0 +1,29 @@ +# +# std.debug -- Enable debug options for -CURRENT. +# + +options BUF_TRACKING # Track buffer history +#options FULL_BUF_TRACKING # Track more 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 +options ALT_BREAK_TO_DEBUGGER # Enter debugger on keyboard escape sequence +#options DEBUG_VFS_LOCKS + +# Net80211 debugging +options IEEE80211_DEBUG + +# USB debugging +options USB_DEBUG +options HID_DEBUG + +# CAM debugging +options CAMDEBUG diff --git a/sys/i386/conf/GENERIC-DEBUG b/sys/i386/conf/GENERIC-DEBUG new file mode 100644 index 000000000000..a988096e019e --- /dev/null +++ b/sys/i386/conf/GENERIC-DEBUG @@ -0,0 +1,9 @@ +# +# GENERIC-DEBUG -- WITNESS and INVARIANTS enabled kernel configuration file +# for FreeBSD/i386 +# + +include GENERIC +include "std.debug" + +ident GENERIC-DEBUG diff --git a/sys/powerpc/conf/GENERIC-DEBUG b/sys/powerpc/conf/GENERIC-DEBUG new file mode 100644 index 000000000000..6388aaaffb55 --- /dev/null +++ b/sys/powerpc/conf/GENERIC-DEBUG @@ -0,0 +1,9 @@ +# +# GENERIC-DEBUG -- WITNESS and INVARIANTS enabled kernel configuration file +# for FreeBSD/powerpc +# + +include GENERIC +include "std.debug" + +ident GENERIC-DEBUG diff --git a/sys/powerpc/conf/GENERIC64-DEBUG b/sys/powerpc/conf/GENERIC64-DEBUG new file mode 100644 index 000000000000..5e0d43941200 --- /dev/null +++ b/sys/powerpc/conf/GENERIC64-DEBUG @@ -0,0 +1,9 @@ +# +# GENERIC-DEBUG -- WITNESS and INVARIANTS enabled kernel configuration file +# for FreeBSD/powerpc64 +# + +include GENERIC64 +include "std.debug" + +ident GENERIC64-DEBUG diff --git a/sys/powerpc/conf/GENERIC64LE-DEBUG b/sys/powerpc/conf/GENERIC64LE-DEBUG new file mode 100644 index 000000000000..97d308864313 --- /dev/null +++ b/sys/powerpc/conf/GENERIC64LE-DEBUG @@ -0,0 +1,9 @@ +# +# GENERIC-DEBUG -- WITNESS and INVARIANTS enabled kernel configuration file +# for FreeBSD/powerpc64le +# + +include GENERIC64LE +include "std.debug" + +ident GENERIC64LE-DEBUG diff --git a/sys/riscv/conf/GENERIC-DEBUG b/sys/riscv/conf/GENERIC-DEBUG new file mode 100644 index 000000000000..ab16a6cc5cfa --- /dev/null +++ b/sys/riscv/conf/GENERIC-DEBUG @@ -0,0 +1,9 @@ +# +# GENERIC-DEBUG -- WITNESS and INVARIANTS enabled kernel configuration file +# for FreeBSD/RISC-V +# + +include GENERIC +include "std.debug" + +ident GENERIC-DEBUG