Subject: Re: Config sugestion
To: Reinoud Zandijk <>
From: David Brownlee <>
List: tech-kern
Date: 07/27/2001 15:47:48
On Fri, 27 Jul 2001, Reinoud Zandijk wrote:

> Since i had to configure a NetBSD/i386 system again I ran against a pretty
> irritating and time consuming job : the machine had no PCI so i had to
> manually comment EVERYTHING that was related to the PCI since the kernel
> had to be small too.
> Therefore I would like to think of ways of specifying these kind of global
> choises in the configuration files... Options I considered are :
> 1) include #ifdef mechanism with variables that can be used
> 	# please put your configuration options here :
> 	#define PCI
> 	#define SCSI
> 	....
> 	#ifdef PCI
> 		pci* at mainbus
> 		vga* at pci?
> 	#	ifdef SCSI
> 			scsi* at pci?
> 	#	endif
> 	#endif
> 	#ifdef SCSI
> 		scsi* at mainbus?
> 	#endif
	The amiga and atari use something similar to this for building
	variations on GENERIC and INSTALL. Its very flexible, but the
	combinations of # for comment and cpp is unfortunate.

> 2) use a top-level include mechanism for clarity
> 	include "pci"
> 	include "ultra-pci"
	I'd quite like to see GENERIC and similar converted to top
	level includes for busses and MI options (COMPAT etc).

> 3) use a warning mechanism only ... i.e. dont consider them errors when
>    some items are orphans ... just 'take the orphans to an orphanage' and
>    cut the item / tree out of the resulting tree... a flag could be used
>    to just treat them as warnings instead of errors.

	It would be nice to be able to give config (or some related tool)
	a config file and a list of 'modifiers' (drop pci bus, and any
	option matching this regex) and it would spit out a suitably
	stripped config file which you could hand tune.

	It would need to have a reasonable knowledge of the tree structure
	to handle dropping pci and 'eisa*   at pceb?', but leaving
	'eisa*   at mainbus?'

> Unrelated : I would like to see a more clearer output ... esp. when there
> are errors.... a resulting device tree could be printed out in a structured
> way (option?) :
> 	- root
> 	  +-- cpu
> 	  +-- mainbus
> 	  |   +-- pcia
> 	  |       +-- scsi X
> 		  +
> Any ideas comments / suggestions / 'shut-up'remarks ? ;) ???

	I particularly like the last - please send patches :)

		David/absolute		-- No hype required --