Module Name: src Committed By: pooka Date: Mon Mar 8 10:19:15 UTC 2010
Modified Files: src/usr.bin/config: defs.h gram.y main.c pack.c scan.l sem.c sem.h Log Message: Add a highly experimental pseudo-root feature to be used in conjuction with the also-experimental ioconf keyword. pseudo-root allows to specify a root at any point in the device tree without having attachments from the actual root. For example, instead of having a config file like this: mainbus0 at root bus_a? at mainbus0 bus_b? at bus_a* device7 at bus_b? You can have one like this: pseudo-root bus_b* device7 at bus_b? This will produce the relevant ioconf.c glue for device number 7 only instead of the whole 9 yards from root. Perhaps needless to say, this can be used to generate snippets of config glue for modules and, let's not deny that my main motivation for doing this, rump components. This is part 2/3 of my modifications to config (the last part is autogenerating source file lists and component Makefiles). No strong objection from cube (after a little pressuring ;), but like he said, the implementation will most likely need some more tweaking and may not work correctly under all pseudo-root uses yet. To generate a diff of this commit: cvs rdiff -u -r1.32 -r1.33 src/usr.bin/config/defs.h cvs rdiff -u -r1.21 -r1.22 src/usr.bin/config/gram.y cvs rdiff -u -r1.40 -r1.41 src/usr.bin/config/main.c cvs rdiff -u -r1.7 -r1.8 src/usr.bin/config/pack.c cvs rdiff -u -r1.14 -r1.15 src/usr.bin/config/scan.l cvs rdiff -u -r1.33 -r1.34 src/usr.bin/config/sem.c cvs rdiff -u -r1.5 -r1.6 src/usr.bin/config/sem.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.