From 7621eebbb113f30851522d292dc7ecb56828929f Mon Sep 17 00:00:00 2001 From: Warner Losh Date: Wed, 30 Apr 2014 18:02:10 +0000 Subject: Omit from the universe build all config files tagged with #NO_UNIVERSE. Many of these config files are important examples, but add little to no regresive value to the intended purpose of UNIVERSE. We now build over 120 kernels during universe. There's really little to no value to this over building say 60 or even 30 of them (either is still a way too big number). This is especially true for kernels that are nothing more than including a common base and adding a static DTB file. Start by pruning 1/3 of the arm kernels that add little regresion value. --- Makefile | 8 ++- sys/arm/conf/ARNDALE | 2 + sys/arm/conf/BWCT | 2 + sys/arm/conf/COLIBRI-VF50 | 4 +- sys/arm/conf/COSMIC | 4 +- sys/arm/conf/EB9200 | 2 + sys/arm/conf/ETHERNUT5 | 2 + sys/arm/conf/HL200 | 2 + sys/arm/conf/HL201 | 2 + sys/arm/conf/KB920X | 2 + sys/arm/conf/NSLU | 2 + sys/arm/conf/QILA9G20 | 2 + sys/arm/conf/QUARTZ | 4 +- sys/arm/conf/SAM9260EK | 2 + sys/arm/conf/SAM9X25EK | 3 +- sys/arm/conf/SN9G45 | 2 + sys/arm/conf/VYBRID | 149 ++++++++++++++++++++++++++++++++++++++++++++ sys/arm/conf/VYBRID.common | 148 ------------------------------------------- sys/arm/conf/WANDBOARD-DUAL | 2 + sys/arm/conf/WANDBOARD-QUAD | 2 + sys/arm/conf/WANDBOARD-SOLO | 2 + 21 files changed, 195 insertions(+), 153 deletions(-) create mode 100644 sys/arm/conf/VYBRID delete mode 100644 sys/arm/conf/VYBRID.common diff --git a/Makefile b/Makefile index 7dafc36ebcbf..6cdd0feb8868 100644 --- a/Makefile +++ b/Makefile @@ -458,9 +458,15 @@ universe_kernels: universe_kernconfs .if !defined(TARGET) TARGET!= uname -m .endif +.if defined(MAKE_ALL_KERNELS) +_THINNER=cat +.else +_THINNER=xargs grep -L "^.NO_UNIVERSE" +.endif KERNCONFS!= cd ${KERNSRCDIR}/${TARGET}/conf && \ find [A-Z0-9]*[A-Z0-9] -type f -maxdepth 0 \ - ! -name DEFAULTS ! -name NOTES + ! -name DEFAULTS ! -name NOTES | \ + ${_THINNER} universe_kernconfs: .for kernel in ${KERNCONFS} TARGET_ARCH_${kernel}!= cd ${KERNSRCDIR}/${TARGET}/conf && \ diff --git a/sys/arm/conf/ARNDALE b/sys/arm/conf/ARNDALE index e50d3f4ed65e..da4c598e385e 100644 --- a/sys/arm/conf/ARNDALE +++ b/sys/arm/conf/ARNDALE @@ -17,6 +17,8 @@ # # $FreeBSD$ +#NO_UNIVERSE + include "EXYNOS5250.common" ident ARNDALE diff --git a/sys/arm/conf/BWCT b/sys/arm/conf/BWCT index 4c0001952af7..5ed552b702c6 100644 --- a/sys/arm/conf/BWCT +++ b/sys/arm/conf/BWCT @@ -17,6 +17,8 @@ # # $FreeBSD$ +#NO_UNIVERSE + ident BWCT options VERBOSE_INIT_ARM diff --git a/sys/arm/conf/COLIBRI-VF50 b/sys/arm/conf/COLIBRI-VF50 index 343fb8963238..9f73f6987f2f 100644 --- a/sys/arm/conf/COLIBRI-VF50 +++ b/sys/arm/conf/COLIBRI-VF50 @@ -17,7 +17,9 @@ # # $FreeBSD$ -include "VYBRID.common" +#NO_UNIVERSE + +include "VYBRID" ident COLIBRI-VF50 #FDT diff --git a/sys/arm/conf/COSMIC b/sys/arm/conf/COSMIC index b3b407432f6f..72ae5c20b07b 100644 --- a/sys/arm/conf/COSMIC +++ b/sys/arm/conf/COSMIC @@ -17,7 +17,9 @@ # # $FreeBSD$ -include "VYBRID.common" +#NO_UNIVERSE + +include "VYBRID" ident COSMIC #FDT diff --git a/sys/arm/conf/EB9200 b/sys/arm/conf/EB9200 index 0afa9b4288eb..3e3d124501fe 100644 --- a/sys/arm/conf/EB9200 +++ b/sys/arm/conf/EB9200 @@ -12,6 +12,8 @@ # # $FreeBSD$ +#NO_UNIVERSE + ident EB9200 include "../at91/std.eb9200" diff --git a/sys/arm/conf/ETHERNUT5 b/sys/arm/conf/ETHERNUT5 index 9bc234df9494..9df7f9c55aaf 100644 --- a/sys/arm/conf/ETHERNUT5 +++ b/sys/arm/conf/ETHERNUT5 @@ -17,6 +17,8 @@ # # $FreeBSD$ +#NO_UNIVERSE + ident ETHERNUT5 include "../at91/std.ethernut5" diff --git a/sys/arm/conf/HL200 b/sys/arm/conf/HL200 index c8d43c261600..8e0d174512ef 100644 --- a/sys/arm/conf/HL200 +++ b/sys/arm/conf/HL200 @@ -17,6 +17,8 @@ # # $FreeBSD$ +#NO_UNIVERSE + ident HL200 include "../at91/std.hl200" diff --git a/sys/arm/conf/HL201 b/sys/arm/conf/HL201 index 200f2f86ef7f..fb80bbed8ca9 100644 --- a/sys/arm/conf/HL201 +++ b/sys/arm/conf/HL201 @@ -17,6 +17,8 @@ # # $FreeBSD$ +#NO_UNIVERSE + ident HL201 include "../at91/std.hl201" diff --git a/sys/arm/conf/KB920X b/sys/arm/conf/KB920X index 916425ac9e04..a758a66e4e6d 100644 --- a/sys/arm/conf/KB920X +++ b/sys/arm/conf/KB920X @@ -18,6 +18,8 @@ # # $FreeBSD$ +#NO_UNIVERSE + ident KB920X include "../at91/std.kb920x" diff --git a/sys/arm/conf/NSLU b/sys/arm/conf/NSLU index a8c04d3185d3..e54e63b72568 100644 --- a/sys/arm/conf/NSLU +++ b/sys/arm/conf/NSLU @@ -17,6 +17,8 @@ # # $FreeBSD$ +#NO_UNIVERSE + ident NSLU # XXX What is defined in std.avila does not exactly match the following: diff --git a/sys/arm/conf/QILA9G20 b/sys/arm/conf/QILA9G20 index e0055573cf4d..257e37d34f5a 100644 --- a/sys/arm/conf/QILA9G20 +++ b/sys/arm/conf/QILA9G20 @@ -18,6 +18,8 @@ # # $FreeBSD$ +#NO_UNIVERSE + ident QILA9G20 include "../at91/std.qila9g20" diff --git a/sys/arm/conf/QUARTZ b/sys/arm/conf/QUARTZ index b6c20bb66af6..04f1b5c94749 100644 --- a/sys/arm/conf/QUARTZ +++ b/sys/arm/conf/QUARTZ @@ -17,7 +17,9 @@ # # $FreeBSD$ -include "VYBRID.common" +#NO_UNIVERSE + +include "VYBRID" ident QUARTZ #FDT diff --git a/sys/arm/conf/SAM9260EK b/sys/arm/conf/SAM9260EK index 930429d2f800..34b64afd234b 100644 --- a/sys/arm/conf/SAM9260EK +++ b/sys/arm/conf/SAM9260EK @@ -17,6 +17,8 @@ # # $FreeBSD$ +#NO_UNIVERSE + ident SAM9260EK include "../at91/std.sam9260ek" diff --git a/sys/arm/conf/SAM9X25EK b/sys/arm/conf/SAM9X25EK index 63fa8158bf94..d4b6343d9777 100644 --- a/sys/arm/conf/SAM9X25EK +++ b/sys/arm/conf/SAM9X25EK @@ -17,7 +17,8 @@ # # $FreeBSD$ -# NOUNIVERSE: disable building in make universe +#NO_UNIVERSE + ident SAM9X25EK include "../at91/std.sam9x25ek" diff --git a/sys/arm/conf/SN9G45 b/sys/arm/conf/SN9G45 index e44a0cf2c856..3eb646bbeeb4 100644 --- a/sys/arm/conf/SN9G45 +++ b/sys/arm/conf/SN9G45 @@ -17,6 +17,8 @@ # # $FreeBSD$ +#NO_UNIVERSE + ident SN9G45 include "../at91/std.sn9g45" diff --git a/sys/arm/conf/VYBRID b/sys/arm/conf/VYBRID new file mode 100644 index 000000000000..f39fa617a386 --- /dev/null +++ b/sys/arm/conf/VYBRID @@ -0,0 +1,149 @@ +# Kernel configuration for Vybrid Family boards. +# +# For more information on this file, please read the config(5) manual page, +# and/or the handbook section on Kernel Configuration Files: +# +# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html +# +# 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 (http://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. +# +# $FreeBSD$ + +ident VYBRID +include "../freescale/vybrid/std.vybrid" + +makeoptions MODULES_OVERRIDE="" +makeoptions WITHOUT_MODULES="ahc" + +makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols +makeoptions WERROR="-Werror" + +options HZ=100 +options SCHED_4BSD # 4BSD scheduler +options INET # InterNETworking +options INET6 # IPv6 communications protocols +options FFS # Berkeley Fast Filesystem +options SOFTUPDATES +options UFS_ACL # Support for access control lists +options UFS_DIRHASH # Improve performance on big directories +options GEOM_PART_BSD # BSD partition scheme +options GEOM_PART_MBR # MBR partition scheme +options TMPFS # Efficient memory filesystem +options MSDOSFS # MSDOS Filesystem +options CD9660 # ISO 9660 Filesystem +options PROCFS # Process filesystem (requires PSEUDOFS) +options PSEUDOFS # Pseudo-filesystem framework +#options NANDFS # NAND Filesystem +options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!] +options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI +options KTRACE +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 KBD_INSTALL_CDEV +options PREEMPTION +options FREEBSD_BOOT_LOADER +options MUTEX_NOINLINE +options RWLOCK_NOINLINE +options NO_FFS_SNAPSHOT +options NO_SWAPPING +options VFP # vfp/neon + +# Debugging +makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols +options BREAK_TO_DEBUGGER +#options VERBOSE_SYSINIT # Enable verbose sysinit messages +options KDB +options DDB # Enable the kernel debugger +#options INVARIANTS # Enable calls of extra sanity checking +#options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS +#options WITNESS # Enable checks to detect deadlocks and cycles +#options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed +#options DIAGNOSTIC + +# NFS support +options NFSCL # Network Filesystem Client +options NFSLOCKD # Network Lock Manager +options NFS_ROOT # NFS usable as /, requires NFSCLIENT + +# Uncomment this for NFS root +#options NFS_ROOT # NFS usable as /, requires NFSCL +#options BOOTP_NFSROOT +#options BOOTP_COMPAT +#options BOOTP +#options BOOTP_NFSV3 +#options BOOTP_WIRED_TO=ffec0 + +device mmc # mmc/sd bus +device mmcsd # mmc/sd flash cards +device sdhci # generic sdhci + +#options ROOTDEVNAME=\"nfs:10.5.0.1:/tftpboot/cosmic\" +#options ROOTDEVNAME=\"nandfs:/dev/gnand0s.root\" +options ROOTDEVNAME=\"ufs:/dev/da0\" + +#options SMP + +# Pseudo devices + +device loop +device random +device pty +device md +device gpio + +# USB support +options USB_HOST_ALIGN=32 # Align usb buffers to cache line size. +device usb +options USB_DEBUG +#options USB_REQ_DEBUG +#options USB_VERBOSE +#device musb +device ehci +#device ohci + +device umass +device scbus # SCSI bus (required for SCSI) +device da # Direct Access (disks) +device pass + +# SATA +#device ata +#device atadisk +#device mvs + +device nand + +# Serial ports +device uart + +# I2C (TWSI) +device iic +device iicbus + +# Ethernet +device ether +device ffec + +# USB ethernet support, requires miibus +device miibus +device axe # ASIX Electronics USB Ethernet +device bpf # Berkeley packet filter + +device sound + +# Framebuffer +device vt +device kbdmux +options SC_DFLT_FONT # compile font in +makeoptions SC_DFLT_FONT=cp437 +device ukbd diff --git a/sys/arm/conf/VYBRID.common b/sys/arm/conf/VYBRID.common deleted file mode 100644 index 412f65cc1e64..000000000000 --- a/sys/arm/conf/VYBRID.common +++ /dev/null @@ -1,148 +0,0 @@ -# Kernel configuration for Vybrid Family boards. -# -# For more information on this file, please read the config(5) manual page, -# and/or the handbook section on Kernel Configuration Files: -# -# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html -# -# 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 (http://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. -# -# $FreeBSD$ - -include "../freescale/vybrid/std.vybrid" - -makeoptions MODULES_OVERRIDE="" -makeoptions WITHOUT_MODULES="ahc" - -makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols -makeoptions WERROR="-Werror" - -options HZ=100 -options SCHED_4BSD # 4BSD scheduler -options INET # InterNETworking -options INET6 # IPv6 communications protocols -options FFS # Berkeley Fast Filesystem -options SOFTUPDATES -options UFS_ACL # Support for access control lists -options UFS_DIRHASH # Improve performance on big directories -options GEOM_PART_BSD # BSD partition scheme -options GEOM_PART_MBR # MBR partition scheme -options TMPFS # Efficient memory filesystem -options MSDOSFS # MSDOS Filesystem -options CD9660 # ISO 9660 Filesystem -options PROCFS # Process filesystem (requires PSEUDOFS) -options PSEUDOFS # Pseudo-filesystem framework -#options NANDFS # NAND Filesystem -options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!] -options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI -options KTRACE -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 KBD_INSTALL_CDEV -options PREEMPTION -options FREEBSD_BOOT_LOADER -options MUTEX_NOINLINE -options RWLOCK_NOINLINE -options NO_FFS_SNAPSHOT -options NO_SWAPPING -options VFP # vfp/neon - -# Debugging -makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols -options BREAK_TO_DEBUGGER -#options VERBOSE_SYSINIT # Enable verbose sysinit messages -options KDB -options DDB # Enable the kernel debugger -#options INVARIANTS # Enable calls of extra sanity checking -#options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS -#options WITNESS # Enable checks to detect deadlocks and cycles -#options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed -#options DIAGNOSTIC - -# NFS support -options NFSCL # Network Filesystem Client -options NFSLOCKD # Network Lock Manager -options NFS_ROOT # NFS usable as /, requires NFSCLIENT - -# Uncomment this for NFS root -#options NFS_ROOT # NFS usable as /, requires NFSCL -#options BOOTP_NFSROOT -#options BOOTP_COMPAT -#options BOOTP -#options BOOTP_NFSV3 -#options BOOTP_WIRED_TO=ffec0 - -device mmc # mmc/sd bus -device mmcsd # mmc/sd flash cards -device sdhci # generic sdhci - -#options ROOTDEVNAME=\"nfs:10.5.0.1:/tftpboot/cosmic\" -#options ROOTDEVNAME=\"nandfs:/dev/gnand0s.root\" -options ROOTDEVNAME=\"ufs:/dev/da0\" - -#options SMP - -# Pseudo devices - -device loop -device random -device pty -device md -device gpio - -# USB support -options USB_HOST_ALIGN=32 # Align usb buffers to cache line size. -device usb -options USB_DEBUG -#options USB_REQ_DEBUG -#options USB_VERBOSE -#device musb -device ehci -#device ohci - -device umass -device scbus # SCSI bus (required for SCSI) -device da # Direct Access (disks) -device pass - -# SATA -#device ata -#device atadisk -#device mvs - -device nand - -# Serial ports -device uart - -# I2C (TWSI) -device iic -device iicbus - -# Ethernet -device ether -device ffec - -# USB ethernet support, requires miibus -device miibus -device axe # ASIX Electronics USB Ethernet -device bpf # Berkeley packet filter - -device sound - -# Framebuffer -device vt -device kbdmux -options SC_DFLT_FONT # compile font in -makeoptions SC_DFLT_FONT=cp437 -device ukbd diff --git a/sys/arm/conf/WANDBOARD-DUAL b/sys/arm/conf/WANDBOARD-DUAL index 168b17d9e42b..598c91d8a800 100644 --- a/sys/arm/conf/WANDBOARD-DUAL +++ b/sys/arm/conf/WANDBOARD-DUAL @@ -17,6 +17,8 @@ # # $FreeBSD$ +#NO_UNIVERSE + include "IMX6" ident WANDBOARD-DUAL diff --git a/sys/arm/conf/WANDBOARD-QUAD b/sys/arm/conf/WANDBOARD-QUAD index 155b36adc7f5..571f54be1ca1 100644 --- a/sys/arm/conf/WANDBOARD-QUAD +++ b/sys/arm/conf/WANDBOARD-QUAD @@ -17,6 +17,8 @@ # # $FreeBSD$ +#NO_UNIVERSE + include "IMX6" ident WANDBOARD-QUAD diff --git a/sys/arm/conf/WANDBOARD-SOLO b/sys/arm/conf/WANDBOARD-SOLO index 7465e4f61996..f6df97c9574e 100644 --- a/sys/arm/conf/WANDBOARD-SOLO +++ b/sys/arm/conf/WANDBOARD-SOLO @@ -17,6 +17,8 @@ # # $FreeBSD$ +#NO_UNIVERSE + include "IMX6" ident WANDBOARD-SOLO -- cgit v1.2.3