From 44ea47f2148c344b0d98bcfe4f427ba1a4c44abe Mon Sep 17 00:00:00 2001 From: ad Date: Fri, 21 Nov 2008 15:55:59 +0000 Subject: [PATCH] Remove the following from i386 GENERIC since they are also provided by modules. Shrinks the kernel by 1278kB. XXX Need to further investigate situation with vcoda and nsmb. - all file systems - all exec formats - all compat code - POSIX AIO - the NFS server - accept filters --- sys/arch/i386/conf/GENERIC | 110 +++++++++++++++++++------------------ 1 file changed, 57 insertions(+), 53 deletions(-) diff --git a/sys/arch/i386/conf/GENERIC b/sys/arch/i386/conf/GENERIC index 2109620aae86..03bb152084d3 100644 --- a/sys/arch/i386/conf/GENERIC +++ b/sys/arch/i386/conf/GENERIC @@ -1,4 +1,4 @@ -# $NetBSD: GENERIC,v 1.917 2008/11/12 14:36:31 ad Exp $ +# $NetBSD: GENERIC,v 1.918 2008/11/21 15:55:59 ad Exp $ # # GENERIC machine description file # @@ -22,13 +22,19 @@ include "arch/i386/conf/std.i386" options INCLUDE_CONFIG_FILE # embed config file in kernel binary -#ident "GENERIC-$Revision: 1.917 $" +#ident "GENERIC-$Revision: 1.918 $" maxusers 64 # estimated number of users makeoptions CPUFLAGS="-march=i486 -mtune=pentiumpro" # Assume at least 486, # tune for more modern +# For GENERIC, we build the exec formats as modules by default. +no options EXEC_AOUT # exec a.out binaries +no options EXEC_ELF32 # exec ELF binaries +no options EXEC_SCRIPT # exec #! scripts +no options COREDUMP + # CPU-related options. options VM86 # virtual 8086 emulation options USER_LDT # user-settable LDT; used by WINE @@ -94,9 +100,9 @@ options SYSVMSG # System V-like message queues options SYSVSEM # System V-like semaphores options SYSVSHM # System V-like memory sharing #options P1003_1B_SEMAPHORE # p1003.1b semaphore support +no options AIO # POSIX AIO, built as a module options MODULAR # new style module framework -options APM_NO_IDLE # needed for SMP options USERCONF # userconf(4) support #options PIPE_SOCKETPAIR # smaller, but slower pipe(2) @@ -129,28 +135,28 @@ options DDB_HISTORY_SIZE=512 # enable history editing in DDB #options SYSCALL_TIMES # per syscall times #options SYSCALL_TIMES_HASCOUNTER # use 'broken' rdtsc (soekris) -# Compatibility options -options COMPAT_NOMID # NetBSD 0.8, 386BSD, and BSDI -options COMPAT_09 # NetBSD 0.9 -options COMPAT_10 # NetBSD 1.0 -options COMPAT_11 # NetBSD 1.1 -options COMPAT_12 # NetBSD 1.2, 386BSD, and BSDI -options COMPAT_13 # NetBSD 1.3, 386BSD, and BSDI -options COMPAT_14 # NetBSD 1.4 -options COMPAT_15 # NetBSD 1.5 -options COMPAT_16 # NetBSD 1.6 -options COMPAT_20 # NetBSD 2.0 -options COMPAT_30 # NetBSD 3.0 -options COMPAT_40 # NetBSD 4.0 -options COMPAT_43 # 4.3BSD, 386BSD, and BSDI +# Compatibility options, built as modules by default +#options COMPAT_NOMID # NetBSD 0.8, 386BSD, and BSDI +#options COMPAT_09 # NetBSD 0.9 +#options COMPAT_10 # NetBSD 1.0 +#options COMPAT_11 # NetBSD 1.1 +#options COMPAT_12 # NetBSD 1.2, 386BSD, and BSDI +#options COMPAT_13 # NetBSD 1.3, 386BSD, and BSDI +#options COMPAT_14 # NetBSD 1.4 +#options COMPAT_15 # NetBSD 1.5 +#options COMPAT_16 # NetBSD 1.6 +#options COMPAT_20 # NetBSD 2.0 +#options COMPAT_30 # NetBSD 3.0 +#options COMPAT_40 # NetBSD 4.0 +#options COMPAT_43 # 4.3BSD, 386BSD, and BSDI #options COMPAT_386BSD_MBRPART # recognize old partition ID #options TCP_COMPAT_42 # 4.2BSD TCP/IP bug compat. Not recommended. -options COMPAT_OSSAUDIO # OSS (Voxware) audio driver compatibility -options COMPAT_SVR4 # binary compatibility with SVR4 -options COMPAT_IBCS2 # binary compatibility with SCO and ISC -options COMPAT_LINUX # binary compatibility with Linux -options COMPAT_FREEBSD # binary compatibility with FreeBSD +#options COMPAT_OSSAUDIO # OSS (Voxware) audio driver compatibility +#options COMPAT_SVR4 # binary compatibility with SVR4 +#options COMPAT_IBCS2 # binary compatibility with SCO and ISC +#options COMPAT_LINUX # binary compatibility with Linux +#options COMPAT_FREEBSD # binary compatibility with FreeBSD #options COMPAT_MACH # binary compatibility with Mach binaries #options COMPAT_DARWIN # binary compatibility with Darwin binaries #options EXEC_MACHO # exec MACH-O binaries @@ -165,39 +171,37 @@ options DKWEDGE_METHOD_GPT # Supports GPT partitions as wedges #options DKWEDGE_METHOD_BSDLABEL # Support disklabel entries as wedges #options DKWEDGE_METHOD_MBR # Support MBR partitions as wedges -# File systems -file-system FFS # UFS -file-system EXT2FS # second extended file system (linux) -file-system LFS # log-structured file system -file-system MFS # memory file system -file-system NFS # Network File System client -file-system NTFS # Windows/NT file system (experimental) -file-system CD9660 # ISO 9660 + Rock Ridge file system -file-system MSDOSFS # MS-DOS file system -file-system FDESC # /dev/fd -file-system KERNFS # /kern -file-system NULLFS # loopback file system -file-system OVERLAY # overlay file system -file-system PORTAL # portal filesystem (still experimental) -file-system PROCFS # /proc -file-system UMAPFS # NULLFS + uid and gid remapping -file-system UNION # union file system -file-system CODA # Coda File System; also needs vcoda (below) -file-system SMBFS # experimental - CIFS; also needs nsmb (below) -file-system PTYFS # /dev/ptm support -file-system TMPFS # Efficient memory file-system +# File systems, built as modules by default +#file-system FFS # UFS +#file-system EXT2FS # second extended file system (linux) +#file-system LFS # log-structured file system +#file-system MFS # memory file system +#file-system NFS # Network File System client +#file-system NTFS # Windows/NT file system (experimental) +#file-system CD9660 # ISO 9660 + Rock Ridge file system +#file-system MSDOSFS # MS-DOS file system +#file-system FDESC # /dev/fd +#file-system KERNFS # /kern +#file-system NULLFS # loopback file system +#file-system OVERLAY # overlay file system +#file-system PORTAL # portal filesystem (still experimental) +#file-system PROCFS # /proc +#file-system UMAPFS # NULLFS + uid and gid remapping +#file-system UNION # union file system +#file-system CODA # Coda File System; also needs vcoda (below) +#file-system SMBFS # experimental - CIFS; also needs nsmb (below) +#file-system PTYFS # /dev/ptm support +#file-system TMPFS # Efficient memory file-system #file-system UDF # experimental - OSTA UDF CD/DVD file-system #file-system HFS # experimental - Apple HFS+ (read-only) # File system options -options QUOTA # UFS quotas +#options QUOTA # UFS quotas #options FFS_EI # FFS Endian Independent support -options SOFTDEP # FFS soft updates support. +#options SOFTDEP # FFS soft updates support. options WAPBL # File system journaling support - Experimental -# Note that UFS_DIRHASH is suspected of causing kernel memory corruption. -# It is not recommended for general use. #options UFS_DIRHASH # UFS Large Directory Hashing - Experimental -options NFSSERVER # Network File System server +#options NFSSERVER # Network File System server #options FFS_NO_SNAPSHOT # No FFS snapshot support #options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and # immutable) behave as system flags. @@ -1487,9 +1491,9 @@ pseudo-device agr # IEEE 802.3ad link aggregation #pseudo-device srt # source-address-based routing # -# accept filters -pseudo-device accf_data # "dataready" accept filter -pseudo-device accf_http # "httpready" accept filter +# accept filters, built as modules by default +#pseudo-device accf_data # "dataready" accept filter +#pseudo-device accf_http # "httpready" accept filter # miscellaneous pseudo-devices pseudo-device pty # pseudo-terminals @@ -1504,10 +1508,10 @@ pseudo-device bcsp # BlueCore Serial Protocol pseudo-device btuart # Bluetooth HCI UART (H4) # a pseudo device needed for Coda # also needs CODA (above) -pseudo-device vcoda 4 # coda minicache <-> venus comm. +#pseudo-device vcoda 4 # coda minicache <-> venus comm. # a pseudo device needed for SMBFS -pseudo-device nsmb # experimental - SMB requester +#pseudo-device nsmb # experimental - SMB requester # wscons pseudo-devices pseudo-device wsmux # mouse & keyboard multiplexor