git: 0d4081ed6914 - stable/14 - sys: add conf/std.debug, generic debugging options
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 09 Oct 2024 09:17:34 UTC
The branch stable/14 has been updated by kp:
URL: https://cgit.FreeBSD.org/src/commit/?id=0d4081ed69147a2591dfc8b89cba42dc6a2ce757
commit 0d4081ed69147a2591dfc8b89cba42dc6a2ce757
Author: Kristof Provost <kp@FreeBSD.org>
AuthorDate: 2024-04-23 21:11:24 +0000
Commit: Kristof Provost <kp@FreeBSD.org>
CommitDate: 2024-10-09 08:44:35 +0000
sys: add conf/std.debug, generic debugging options
The new sys/conf/std.debug contains the list of debugging options
enabled by default in -CURRENT, so they don't need to be listed
individually in every kernel config.
Introduce *-DEBUG variants of the major kernel configs.
(cherry picked and modified from commit 4f8f9d708e6a4143f3b178bfab10d0a9b75ba2fe)
Reviewed by: markj, imp, olce (previous version)
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D46871
---
sys/amd64/conf/GENERIC-DEBUG | 9 +++++++++
sys/amd64/conf/MINIMAL-DEBUG | 9 +++++++++
sys/amd64/conf/NOTES | 11 +++++++++++
sys/arm/conf/GENERIC-DEBUG | 9 +++++++++
sys/arm64/conf/GENERIC-DEBUG | 9 +++++++++
sys/conf/std.debug | 29 +++++++++++++++++++++++++++++
sys/i386/conf/GENERIC-DEBUG | 9 +++++++++
sys/powerpc/conf/GENERIC-DEBUG | 9 +++++++++
sys/powerpc/conf/GENERIC64-DEBUG | 9 +++++++++
sys/powerpc/conf/GENERIC64LE-DEBUG | 9 +++++++++
sys/riscv/conf/GENERIC-DEBUG | 9 +++++++++
11 files changed, 121 insertions(+)
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
@@ -153,3 +153,14 @@ 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