Subject: Config ...
To: None <port-i386@netbsd.org, tech-kern@netbsd.org>
From: Stefan Grefen <grefen@hprc.tandem.com>
List: tech-kern
Date: 08/13/1998 22:12:21
Triggert by the discussion of config issues on port-i386 and the various
arguments pro and contra for the various hacks/kludges that came up,
I thought about the problem and think we should make a short-Term relief
for now (sonthing to set interupt and port-masks, even if it means patching
through /dev/mem (ugly ...).
For the real fix we should look at the reason for the poblem and not
only at one symptom.

We do have various problems with the existing config framework.
    1) We can't dynamicly remove devices(besides pcmcia) [ usb and scsi]
    2) We can't rescan buses (besides pcmcia)   [usb,scsi and config]
    3) We can't manually configure devices      [at least config]
    4) We don't have a 'device identification system' 
	    means reattching a device generates a new one, and does not 
	    revive a deconfigured one		[so far only PCMCIA]

Solutition idea:
    a) Change config-framework so that it can handle 'removing' devices
       by flagging them offline. 
    b) Add a method to rescan certain devices/buses
    c) add a method to interactivly change device-parameters
    d) add a function to the devicetable, where the device generates a
       n-bit device-ID (n=32 or 64 or 128).


a) would add a bit in the generic device strutucre and the device will
   be handled as non existent.
   Add a function to the devicetable to tell the drive its dormant/restarted.

b) Add a function to rescan a selected bus.

c) have commandline tool to view/change the config-table.

d) add a function to the devicetable and call this during eg.
    the probe-face to get a uniqe device-id (eg. md5 hash over
    CIS, disk patition-name, ...).
   This helps putting a device back to the same, device-entry if its
   removed reattached.
   Add a flag to config to not enable certain devices automaticly.

In case of the install problem, you would simply remove the device (if
already configured), change the paramters and rescan the buffer.

This tool could be also used to configure a PCMCIA-card, usb- or scsi-
device at any time.
I guess it won't take more time than adding forth/scheme/lisp/tcl ...
to /boot or change the sysctl framework to deal with it.
    
Stefan

--
Stefan Grefen                                Tandem Computers Europe Inc.
grefen@hprc.tandem.com                       High Performance Research Center
Committee, n.:
        A group of men who individually can do nothing but as a group
	decide that nothing can be done.
			-- Fred Allen