Subject: devd-alike's progress
To: None <tech-kern@netbsd.org>
From: Jachym Holecek <freza@liberouter.org>
List: tech-userlevel
Date: 02/15/2005 01:32:09
Hello,

I've uploaded new version. Changes:

1)
Configuration format has been rewritten. Apart from device nodes, we can
now match their "parent list". As an example, the following rule:

	device 		"sd[0-9]+"
	childof 	"atapibus?"
	childof 	"umass.*vendor 0x067b product 0x2517"
	run 		usb

will match USB flash disk that announces itself like this (some locators
stripped):

	attach uhub1 at uhub0 [...]
	attach uhub2 at uhub1 [...]
	attach umass0 at uhub2 [...] vendor 0x067b product 0x2517
	attach atapibus0 at umass0 
	attach sd0 at atapibus0 

Device hierarchy is reconstructed by the demon at runtime, based on
attach/detach notifications. There's also a config rule that matches
raw messages -- this is done before regular "device" rules. Example:

	message 	"^not-configured"
	run 		unc

This rule will handle devices not claimed by any driver. It's intented
for a hypothetical "LKM driver loader and bus rescanner". The scripts
are run with event, device, and full message as arguments.

2)
Added "not-configured" event (note that parent bus is reported in the
<device> field) for devices not claimed by any driver. Example:

	not-configured pci0 dev 7 function 3 vendor 0x8086 product 0x719b
	not-configured pci0 dev 14 function 1 vendor 0x11c1 product 0x045c

3)
Address issuses brought up in previous thread + cleanup.

The source is available at:

	http://www.liberouter.org/~freza/devmon.tar.gz

or browsable at:

	http://www.liberouter.org/~freza/devmon/

Unless there are problems, I'd send-pr this by the end of the week. Then,
I'm planning to look at "media" events (for cdroms, perhaps network
interfaces too?).

	Regards,
		-- Jachym Holecek