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