Skip site navigation (1)Skip section navigation (2)
Date:      08 Dec 1997 11:27:06 +0100
From:      Eivind Eklund <perhaps@yes.no>
To:        hackers@freebsd.org
Subject:   New option model (was Re: cvs commit: src/sys/kern kern_exit.c)
Message-ID:  <863ek4p1tx.fsf_-_@bitbox.follo.net>
In-Reply-To: J Wunsch's message of Mon, 8 Dec 1997 09:17:29 %2B0100
References:  <199712071816.KAA21840@freefall.freebsd.org> <19971208091729.40125@uriah.heep.sax.de>

next in thread | previous in thread | raw e-mail | index | archive | help

[J Wunsch <j@uriah.heep.sax.de>]
> As Sean Eric Fagan wrote:
> 
> > sef         1997/12/07 10:16:45 PST
> > 
> >   Modified files:
> >     sys/kern             kern_exit.c 
> >   Log:
> >   Surround the call to procfs_exit() by #ifdef PROCFS/#endif -- much to my
> >   surprise, procfs actually is optional, and some people truly do generate
> >   kernels without it.  Wow.  I built a kernel without 'options PROCFS' and
> >   it compiled and linked.
> 
> Without reviewing this patch, i'm fearing it might have broken the LKM
> case for procfs now.

sef did a later commit that fixed this - it should be OK now.

> There should be no #ifdef FOOFS anywhere in the
> code unless one is very careful to account for the LKM cases.  All
> these #ifdef FOOFS are the major showstopper to not switch the entire
> kernel to the new option model (and once and for all get rid of the
> "Removing old compile directory" hack in config(8) again).  We should
> move the entire kernel to the new option model before 3.0 ships.
> (#ifdef INET etc. is the second class of showstoppers.)

"New option model" refers to the opt_* header files, I guess?

Are there anything more that should be done here than the following
two steps?

(1) weeding LINT against /sys/conf/options and
/sys/i386/conf/options.i386 to find what options are not currently
handled.
(2) Add these options one by one to either /sys/conf/options or
/sys/i386/conf/options.i386 as appropriate, at the same time going
through the source and adding the correct option include to the files
that use the symbol.


The following is a result of running a weed against LINT and the
options files - if each of these are taken care of, we shouldn't have
to allow non-specified options anymore.  If no other enterprising soul 
step forward, I might have a look at it - I think it might be possible 
to fix automatically with a perl script.  (The ones listed in LINT and 
not options are the interesting ones).

/sys/conf/options:ARP_PROXYALL		opt_defunct.h
/sys/conf/options:CHILD_MAX		opt_defunct.h
/sys/conf/options:EXTRAVNODES	opt_defunct.h
/sys/conf/options:OPEN_MAX		opt_defunct.h
/sys/i386/conf/LINT: BOOTP
/sys/i386/conf/LINT: BOOTP_COMPAT
/sys/i386/conf/LINT: BOOTP_NFSROOT
/sys/i386/conf/LINT: BOOTP_NFSV3
/sys/i386/conf/LINT: CLUSTERDEBUG
/sys/i386/conf/LINT: COMPAT_43
/sys/i386/conf/LINT: DEBUG
/sys/i386/conf/LINT: DEVFS
/sys/i386/conf/LINT: DIAGNOSTIC
/sys/i386/conf/LINT: EXT2FS
/sys/i386/conf/LINT: FAILSAFE
/sys/i386/conf/LINT: FDSEEKWAIT
/sys/i386/conf/LINT: FFS
/sys/i386/conf/LINT: INET
/sys/i386/conf/LINT: IPTUNNEL
/sys/i386/conf/LINT: IPX
/sys/i386/conf/LINT: IPXIP
/sys/i386/conf/LINT: LFS
/sys/i386/conf/LINT: LINT_PCCARD_HACK
/sys/i386/conf/LINT: LOCKF_DEBUG
/sys/i386/conf/LINT: MD5
/sys/i386/conf/LINT: MFS_AUTOLOAD
/sys/i386/conf/LINT: MFS_ROOT
/sys/i386/conf/LINT: MSDOSFS
/sys/i386/conf/LINT: NATM
/sys/i386/conf/LINT: NETATALK
/sys/i386/conf/LINT: NFS
/sys/i386/conf/LINT: NPX_DEBUG
/sys/i386/conf/LINT: NQNFS
/sys/i386/conf/LINT: NSWAPDEV
/sys/i386/conf/LINT: POWERFAIL_NMI
/sys/i386/conf/LINT: SCSI_2_DEF
/sys/i386/conf/LINT: SIMPLELOCK_DEBUG
/sys/i386/conf/LINT: SI_DEBUG
/sys/i386/conf/LINT: SPX_HACK
/sys/i386/conf/LINT: SUIDDIR
/sys/i386/conf/LINT: TCP_COMPAT_42
/sys/i386/conf/options.i386:AHC_SHARE_SCBS		opt_aic7xxx.h
/sys/i386/conf/options.i386:AUTO_EOI_2		opt_auto_eoi.h
/sys/i386/conf/options.i386:BOUNCEPAGES		opt_bounce.h
/sys/i386/conf/options.i386:COMCONSOLE		opt_defunct.h
/sys/i386/conf/options.i386:CONADDR			opt_defunct.h
/sys/i386/conf/options.i386:CONUNIT			opt_defunct.h
/sys/i386/conf/options.i386:PANIC_REBOOT_WAIT_TIME	opt_panic.h
/sys/i386/conf/options.i386:PCVT_24LINESDEF		opt_pcvt.h
/sys/i386/conf/options.i386:PCVT_CTRL_ALT_DEL	opt_pcvt.h
/sys/i386/conf/options.i386:PCVT_EMU_MOUSE		opt_pcvt.h
/sys/i386/conf/options.i386:PCVT_FREEBSD		opt_pcvt.h
/sys/i386/conf/options.i386:PCVT_META_ESC		opt_pcvt.h
/sys/i386/conf/options.i386:PCVT_NSCREENS		opt_pcvt.h
/sys/i386/conf/options.i386:PCVT_PRETTYSCRNS	opt_pcvt.h
/sys/i386/conf/options.i386:PCVT_SCREENSAVER	opt_pcvt.h
/sys/i386/conf/options.i386:PCVT_USEKBDSEC		opt_pcvt.h
/sys/i386/conf/options.i386:PCVT_VT220KEYB		opt_pcvt.h
/sys/i386/conf/options.i386:SC_SPLASH_SCREEN	opt_syscons.h


Eivind.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?863ek4p1tx.fsf_-_>