diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile @@ -746,9 +746,10 @@ _THINNER=xargs grep -L "^.NO_UNIVERSE" || true .endif KERNCONFS!= cd ${KERNSRCDIR}/${TARGET}/conf && \ + ( cat UNIVERSE-EXTRAS 2>/dev/null; \ find [[:upper:][:digit:]]*[[:upper:][:digit:]] \ -type f -maxdepth 0 \ - ! -name DEFAULTS ! -name NOTES | \ + ! -name DEFAULTS ! -name NOTES ! -name UNIVERSE-EXTRAS ) | \ ${_THINNER} universe_kernconfs: universe_kernels_prologue .PHONY .for kernel in ${KERNCONFS} diff --git a/sys/amd64/conf/GENERIC-KASAN b/sys/amd64/conf/GENERIC-KASAN deleted file mode 100644 --- a/sys/amd64/conf/GENERIC-KASAN +++ /dev/null @@ -1,6 +0,0 @@ - -include GENERIC - -ident GENERIC-KASAN - -options KASAN diff --git a/sys/amd64/conf/GENERIC-KCSAN b/sys/amd64/conf/GENERIC-KCSAN deleted file mode 100644 --- a/sys/amd64/conf/GENERIC-KCSAN +++ /dev/null @@ -1,32 +0,0 @@ -# -# GENERIC-KCSAN -- Kernel Concurrency Sanitizer kernel configuration file -# for FreeBSD/amd64 -# -# This configuration file removes several debugging options, including -# WITNESS and INVARIANTS checking, which are known to have significant -# performance impact on running systems. When benchmarking new features -# this kernel should be used instead of the standard GENERIC. -# This kernel configuration should never appear outside of the HEAD -# of the FreeBSD tree. -# -# For more information on this file, please read the config(5) manual page, -# and/or the handbook section on Kernel Configuration Files: -# -# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config -# -# The handbook is also available locally in /usr/share/doc/handbook -# if you've installed the doc distribution, otherwise always see the -# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the -# latest information. -# -# An exhaustive list of options and more detailed explanations of the -# device lines is also present in the ../../conf/NOTES and NOTES files. -# If you are in doubt as to the purpose or necessity of a line, check first -# in NOTES. -# - -include GENERIC - -ident GENERIC-KCSAN - -options KCSAN diff --git a/sys/amd64/conf/GENERIC-KMSAN b/sys/amd64/conf/GENERIC-KMSAN deleted file mode 100644 --- a/sys/amd64/conf/GENERIC-KMSAN +++ /dev/null @@ -1,6 +0,0 @@ - -include GENERIC - -ident GENERIC-KMSAN - -options KMSAN diff --git a/sys/amd64/conf/GENERIC-NODEBUG b/sys/amd64/conf/GENERIC-NODEBUG deleted file mode 100644 --- a/sys/amd64/conf/GENERIC-NODEBUG +++ /dev/null @@ -1,31 +0,0 @@ -# -# GENERIC-NODEBUG -- WITNESS and INVARIANTS free kernel configuration file -# for FreeBSD/amd64 -# -# This configuration file removes several debugging options, including -# WITNESS and INVARIANTS checking, which are known to have significant -# performance impact on running systems. When benchmarking new features -# this kernel should be used instead of the standard GENERIC. -# This kernel configuration should never appear outside of the HEAD -# of the FreeBSD tree. -# -# For more information on this file, please read the config(5) manual page, -# and/or the handbook section on Kernel Configuration Files: -# -# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config -# -# The handbook is also available locally in /usr/share/doc/handbook -# if you've installed the doc distribution, otherwise always see the -# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the -# latest information. -# -# An exhaustive list of options and more detailed explanations of the -# device lines is also present in the ../../conf/NOTES and NOTES files. -# If you are in doubt as to the purpose or necessity of a line, check first -# in NOTES. -# - -include GENERIC -include "std.nodebug" - -ident GENERIC-NODEBUG diff --git a/sys/amd64/conf/LINT-NOINET b/sys/amd64/conf/LINT-NOINET deleted file mode 100644 --- a/sys/amd64/conf/LINT-NOINET +++ /dev/null @@ -1,4 +0,0 @@ - -include LINT -ident LINT-NOINET -nooptions INET diff --git a/sys/amd64/conf/LINT-NOINET6 b/sys/amd64/conf/LINT-NOINET6 deleted file mode 100644 --- a/sys/amd64/conf/LINT-NOINET6 +++ /dev/null @@ -1,4 +0,0 @@ - -include LINT -ident LINT-NOINET6 -nooptions INET6 diff --git a/sys/amd64/conf/LINT-NOVIMAGE b/sys/amd64/conf/LINT-NOVIMAGE deleted file mode 100644 --- a/sys/amd64/conf/LINT-NOVIMAGE +++ /dev/null @@ -1,4 +0,0 @@ - -include LINT -ident LINT-NOVIMAGE -nooptions VIMAGE diff --git a/sys/amd64/conf/MINIMAL-NODEBUG b/sys/amd64/conf/MINIMAL-NODEBUG deleted file mode 100644 --- a/sys/amd64/conf/MINIMAL-NODEBUG +++ /dev/null @@ -1,11 +0,0 @@ -# -# 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/UNIVERSE-EXTRAS b/sys/amd64/conf/UNIVERSE-EXTRAS new file mode 100644 --- /dev/null +++ b/sys/amd64/conf/UNIVERSE-EXTRAS @@ -0,0 +1,9 @@ +GENERIC-KASAN +GENERIC-KCSAN +GENERIC-KMSAN +GENERIC-NODEBUG +LINT-NOINET +LINT-NOINET6 +LINT-NOIP +LINT-NOVIMAGE +MINIMAL-NODEBUG diff --git a/sys/arm/conf/GENERIC-NODEBUG b/sys/arm/conf/GENERIC-NODEBUG deleted file mode 100644 --- a/sys/arm/conf/GENERIC-NODEBUG +++ /dev/null @@ -1,31 +0,0 @@ -# -# GENERIC-NODEBUG -- WITNESS and INVARIANTS free kernel configuration file -# for FreeBSD/arm -# -# This configuration file removes several debugging options, including -# WITNESS and INVARIANTS checking, which are known to have significant -# performance impact on running systems. When benchmarking new features -# this kernel should be used instead of the standard GENERIC. -# This kernel configuration should never appear outside of the HEAD -# of the FreeBSD tree. -# -# For more information on this file, please read the config(5) manual page, -# and/or the handbook section on Kernel Configuration Files: -# -# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config -# -# The handbook is also available locally in /usr/share/doc/handbook -# if you've installed the doc distribution, otherwise always see the -# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the -# latest information. -# -# An exhaustive list of options and more detailed explanations of the -# device lines is also present in the ../../conf/NOTES and NOTES files. -# If you are in doubt as to the purpose or necessity of a line, check first -# in NOTES. -# - -include GENERIC -include "std.nodebug" - -ident GENERIC-NODEBUG diff --git a/sys/arm/conf/UNIVERSE-EXTRAS b/sys/arm/conf/UNIVERSE-EXTRAS new file mode 100644 --- /dev/null +++ b/sys/arm/conf/UNIVERSE-EXTRAS @@ -0,0 +1 @@ +GENERIC-NODEBUG diff --git a/sys/arm64/conf/GENERIC-KASAN b/sys/arm64/conf/GENERIC-KASAN deleted file mode 100644 --- a/sys/arm64/conf/GENERIC-KASAN +++ /dev/null @@ -1,5 +0,0 @@ -include GENERIC - -ident GENERIC-KASAN - -options KASAN diff --git a/sys/arm64/conf/GENERIC-KMSAN b/sys/arm64/conf/GENERIC-KMSAN deleted file mode 100644 --- a/sys/arm64/conf/GENERIC-KMSAN +++ /dev/null @@ -1,5 +0,0 @@ -include GENERIC - -ident GENERIC-KMSAN - -options KMSAN diff --git a/sys/arm64/conf/GENERIC-NODEBUG b/sys/arm64/conf/GENERIC-NODEBUG deleted file mode 100644 --- a/sys/arm64/conf/GENERIC-NODEBUG +++ /dev/null @@ -1,31 +0,0 @@ -# -# GENERIC-NODEBUG -- WITNESS and INVARIANTS free kernel configuration file -# for FreeBSD/arm64 -# -# This configuration file removes several debugging options, including -# WITNESS and INVARIANTS checking, which are known to have significant -# performance impact on running systems. When benchmarking new features -# this kernel should be used instead of the standard GENERIC. -# This kernel configuration should never appear outside of the HEAD -# of the FreeBSD tree. -# -# For more information on this file, please read the config(5) manual page, -# and/or the handbook section on Kernel Configuration Files: -# -# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config -# -# The handbook is also available locally in /usr/share/doc/handbook -# if you've installed the doc distribution, otherwise always see the -# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the -# latest information. -# -# An exhaustive list of options and more detailed explanations of the -# device lines is also present in the ../../conf/NOTES and NOTES files. -# If you are in doubt as to the purpose or necessity of a line, check first -# in NOTES. -# - -include GENERIC -include "std.nodebug" - -ident GENERIC-NODEBUG diff --git a/sys/arm64/conf/UNIVERSE-EXTRAS b/sys/arm64/conf/UNIVERSE-EXTRAS new file mode 100644 --- /dev/null +++ b/sys/arm64/conf/UNIVERSE-EXTRAS @@ -0,0 +1,3 @@ +GENERIC-KASAN +GENERIC-KMSAN +GENERIC-NODEBUG diff --git a/sys/conf/std.kasan b/sys/conf/std.kasan new file mode 100644 --- /dev/null +++ b/sys/conf/std.kasan @@ -0,0 +1 @@ +options KASAN diff --git a/sys/conf/std.kcsan b/sys/conf/std.kcsan new file mode 100644 --- /dev/null +++ b/sys/conf/std.kcsan @@ -0,0 +1 @@ +options KCSAN diff --git a/sys/conf/std.kmsan b/sys/conf/std.kmsan new file mode 100644 --- /dev/null +++ b/sys/conf/std.kmsan @@ -0,0 +1 @@ +options KMSAN diff --git a/sys/conf/std.noinet b/sys/conf/std.noinet new file mode 100644 --- /dev/null +++ b/sys/conf/std.noinet @@ -0,0 +1 @@ +nooptions INET diff --git a/sys/conf/std.noinet6 b/sys/conf/std.noinet6 new file mode 100644 --- /dev/null +++ b/sys/conf/std.noinet6 @@ -0,0 +1 @@ +nooptions INET6 diff --git a/sys/amd64/conf/LINT-NOIP b/sys/conf/std.noip rename from sys/amd64/conf/LINT-NOIP rename to sys/conf/std.noip --- a/sys/amd64/conf/LINT-NOIP +++ b/sys/conf/std.noip @@ -1,6 +1,3 @@ - -include LINT -ident LINT-NOIP makeoptions MKMODULESENV+="WITHOUT_INET_SUPPORT=" makeoptions MKMODULESENV+="WITHOUT_INET6_SUPPORT=" nooptions INET diff --git a/sys/conf/std.novimage b/sys/conf/std.novimage new file mode 100644 --- /dev/null +++ b/sys/conf/std.novimage @@ -0,0 +1 @@ +nooptions VIMAGE diff --git a/sys/i386/conf/GENERIC-NODEBUG b/sys/i386/conf/GENERIC-NODEBUG deleted file mode 100644 --- a/sys/i386/conf/GENERIC-NODEBUG +++ /dev/null @@ -1,33 +0,0 @@ -# -# GENERIC-NODEBUG -- WITNESS and INVARIANTS free kernel configuration file -# for FreeBSD/i386 -# -# This configuration file removes several debugging options, including -# WITNESS and INVARIANTS checking, which are known to have significant -# performance impact on running systems. When benchmarking new features -# this kernel should be used instead of the standard GENERIC. -# This kernel configuration should never appear outside of the HEAD -# of the FreeBSD tree. -# -# For more information on this file, please read the config(5) manual page, -# and/or the handbook section on Kernel Configuration Files: -# -# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config -# -# The handbook is also available locally in /usr/share/doc/handbook -# if you've installed the doc distribution, otherwise always see the -# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the -# latest information. -# -# An exhaustive list of options and more detailed explanations of the -# device lines is also present in the ../../conf/NOTES and NOTES files. -# If you are in doubt as to the purpose or necessity of a line, check first -# in NOTES. -# - -#NO_UNIVERSE - -include GENERIC -include "std.nodebug" - -ident GENERIC-NODEBUG diff --git a/sys/i386/conf/MINIMAL-NODEBUG b/sys/i386/conf/MINIMAL-NODEBUG deleted file mode 100644 --- a/sys/i386/conf/MINIMAL-NODEBUG +++ /dev/null @@ -1,11 +0,0 @@ -# -# 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/i386/conf/UNIVERSE-EXTRAS b/sys/i386/conf/UNIVERSE-EXTRAS new file mode 100644 --- /dev/null +++ b/sys/i386/conf/UNIVERSE-EXTRAS @@ -0,0 +1,2 @@ +GENERIC-NODEBUG +MINIMAL-NODEBUG diff --git a/sys/powerpc/conf/GENERIC-NODEBUG b/sys/powerpc/conf/GENERIC-NODEBUG deleted file mode 100644 --- a/sys/powerpc/conf/GENERIC-NODEBUG +++ /dev/null @@ -1,31 +0,0 @@ -# -# GENERIC-NODEBUG -- WITNESS and INVARIANTS free kernel configuration file -# for FreeBSD/powerpc -# -# This configuration file removes several debugging options, including -# WITNESS and INVARIANTS checking, which are known to have significant -# performance impact on running systems. When benchmarking new features -# this kernel should be used instead of the standard GENERIC. -# This kernel configuration should never appear outside of the HEAD -# of the FreeBSD tree. -# -# For more information on this file, please read the config(5) manual page, -# and/or the handbook section on Kernel Configuration Files: -# -# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config -# -# The handbook is also available locally in /usr/share/doc/handbook -# if you've installed the doc distribution, otherwise always see the -# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the -# latest information. -# -# An exhaustive list of options and more detailed explanations of the -# device lines is also present in the ../../conf/NOTES and NOTES files. -# If you are in doubt as to the purpose or necessity of a line, check first -# in NOTES. -# - -include GENERIC -include "std.nodebug" - -ident GENERIC-NODEBUG diff --git a/sys/powerpc/conf/GENERIC64-NODEBUG b/sys/powerpc/conf/GENERIC64-NODEBUG deleted file mode 100644 --- a/sys/powerpc/conf/GENERIC64-NODEBUG +++ /dev/null @@ -1,31 +0,0 @@ -# -# GENERIC64-NODEBUG -- WITNESS and INVARIANTS free kernel configuration file -# for FreeBSD/powerpc -# -# This configuration file removes several debugging options, including -# WITNESS and INVARIANTS checking, which are known to have significant -# performance impact on running systems. When benchmarking new features -# this kernel should be used instead of the standard GENERIC64. -# This kernel configuration should never appear outside of the HEAD -# of the FreeBSD tree. -# -# For more information on this file, please read the config(5) manual page, -# and/or the handbook section on Kernel Configuration Files: -# -# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config -# -# The handbook is also available locally in /usr/share/doc/handbook -# if you've installed the doc distribution, otherwise always see the -# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the -# latest information. -# -# An exhaustive list of options and more detailed explanations of the -# device lines is also present in the ../../conf/NOTES and NOTES files. -# If you are in doubt as to the purpose or necessity of a line, check first -# in NOTES. -# - -include GENERIC64 -include "std.nodebug" - -ident GENERIC64-NODEBUG diff --git a/sys/powerpc/conf/GENERIC64LE-NODEBUG b/sys/powerpc/conf/GENERIC64LE-NODEBUG deleted file mode 100644 --- a/sys/powerpc/conf/GENERIC64LE-NODEBUG +++ /dev/null @@ -1,31 +0,0 @@ -# -# GENERIC64LE-NODEBUG -- WITNESS and INVARIANTS free kernel configuration file -# for FreeBSD/powerpc -# -# This configuration file removes several debugging options, including -# WITNESS and INVARIANTS checking, which are known to have significant -# performance impact on running systems. When benchmarking new features -# this kernel should be used instead of the standard GENERIC64LE. -# This kernel configuration should never appear outside of the HEAD -# of the FreeBSD tree. -# -# For more information on this file, please read the config(5) manual page, -# and/or the handbook section on Kernel Configuration Files: -# -# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config -# -# The handbook is also available locally in /usr/share/doc/handbook -# if you've installed the doc distribution, otherwise always see the -# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the -# latest information. -# -# An exhaustive list of options and more detailed explanations of the -# device lines is also present in the ../../conf/NOTES and NOTES files. -# If you are in doubt as to the purpose or necessity of a line, check first -# in NOTES. -# - -include GENERIC64LE -include "std.nodebug" - -ident GENERIC64LE-NODEBUG diff --git a/sys/powerpc/conf/UNIVERSE-EXTRAS b/sys/powerpc/conf/UNIVERSE-EXTRAS new file mode 100644 --- /dev/null +++ b/sys/powerpc/conf/UNIVERSE-EXTRAS @@ -0,0 +1,3 @@ +GENERIC-NODEBUG +GENERIC64-NODEBUG +GENERIC64LE-NODEBUG diff --git a/sys/riscv/conf/GENERIC-NODEBUG b/sys/riscv/conf/GENERIC-NODEBUG deleted file mode 100644 --- a/sys/riscv/conf/GENERIC-NODEBUG +++ /dev/null @@ -1,31 +0,0 @@ -# -# GENERIC-NODEBUG -- WITNESS and INVARIANTS free kernel configuration file -# for FreeBSD/riscv -# -# This configuration file removes several debugging options, including -# WITNESS and INVARIANTS checking, which are known to have significant -# performance impact on running systems. When benchmarking new features -# this kernel should be used instead of the standard GENERIC. -# This kernel configuration should never appear outside of the HEAD -# of the FreeBSD tree. -# -# For more information on this file, please read the config(5) manual page, -# and/or the handbook section on Kernel Configuration Files: -# -# https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-config -# -# The handbook is also available locally in /usr/share/doc/handbook -# if you've installed the doc distribution, otherwise always see the -# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the -# latest information. -# -# An exhaustive list of options and more detailed explanations of the -# device lines is also present in the ../../conf/NOTES and NOTES files. -# If you are in doubt as to the purpose or necessity of a line, check first -# in NOTES. -# - -include GENERIC -include "std.nodebug" - -ident GENERIC-NODEBUG diff --git a/sys/riscv/conf/UNIVERSE-EXTRAS b/sys/riscv/conf/UNIVERSE-EXTRAS new file mode 100644 --- /dev/null +++ b/sys/riscv/conf/UNIVERSE-EXTRAS @@ -0,0 +1 @@ +GENERIC-NODEBUG