| History log of /src/usr.bin/config/sem.h |
| Revision | | Date | Author | Comments |
| 1.20 |
| 07-Aug-2016 |
christos | Accept "-no" as a "no" that does not cause errors if the object deleted does not exist.
|
| 1.19 |
| 21-Nov-2014 |
christos | Use proper index types, delete casts, use correct sizeof() in allocations.
|
| 1.18 |
| 15-Nov-2014 |
uebayasi | config(1): Sort objects by weight in modular build
Sort per-module kernel objects (*.ko) by dependency weight. Important modules are placed in lower addresses. The ``machdep'' module will be always placed in the lowest.
(At this moment, the order is not exact because dependency information is incomplete in config files (files.*). Thus ``sysmon_power.ko'' comes lower than ``machdep.ko'' and/or ``uvm.ko''; but still much better than alphabetical sort.)
|
| 1.17 |
| 31-Oct-2014 |
uebayasi | config(1), config(5): Introduce "select"
o Introduce a new selection directive "select" to select an attribute (as a module) and its dependencies. o Support "no select" too. o Stop abusing "options" to select an attribute. o Bump config(1) version.
|
| 1.16 |
| 29-Oct-2014 |
christos | - add RCSID's - fix -Wconversion (except scanner)
|
| 1.15 |
| 18-Oct-2014 |
uebayasi | Keep track of attribute (module) dependency using hash2.
|
| 1.14 |
| 10-Oct-2014 |
uebayasi | Allow dependency on undefined attributes, so that attribute definitions can be written out-of-order, like:
# b is not defined yet define a: b file a.c a
# b is defined here define b fine b.c
|
| 1.13 |
| 10-Oct-2014 |
uebayasi | Implicitly define attribute for options.
|
| 1.12 |
| 10-Oct-2014 |
uebayasi | Implicitly define empty "attribute" for "device attachment". Much less troublesome than "device" and "interface attribute".
|
| 1.11 |
| 10-Oct-2014 |
uebayasi | Split plain/interface/devclass attribute initializers.
|
| 1.10 |
| 11-Mar-2012 |
dholland | branches: 1.10.10; Move locator lists to their own data structure. This can use more tidying; it is not clear to me at the moment what the "string" and "num" values pushed around in locator lists are supposed to actually mean.
|
| 1.9 |
| 11-Mar-2012 |
dholland | Create a struct condexpr type to hold condition expressions, instead of abusing struct nvlist to make trees.
(These are the a|b and a&b constructs.)
|
| 1.8 |
| 11-Mar-2012 |
dholland | Create a new type struct attrlist to manage lists of attributes, instead of using struct nvlist.
(struct nvlist holds lists (or trees!) of semi-arbitrary stuff with no structure and almost no type safety; it should go away.)
|
| 1.7 |
| 30-Apr-2010 |
pooka | branches: 1.7.6; For the simple cases, augment device-major with information on how a driver expects /dev/node -> minor mappings to go and include that information in devsw_conv. (no, I didn't plow through all the MD majors files)
|
| 1.6 |
| 08-Mar-2010 |
pooka | 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.
|
| 1.5 |
| 11-Feb-2006 |
cube | Add 'no config <name>'.
|
| 1.4 |
| 12-Oct-2005 |
cube | Introduce versioning to config(1). This will allow us to provide a way to error out in a bit more friendly way when the user is trying to use config(1) on a too old or too recent source tree.
To achieve that, introduce the "version NUMBER" statement which can be use about anywhere in the config files. Also, use two defines, CONFIG_VERSION (which is the actual version of binary), and CONFIG_MINVERSION, which is the minimum version the binary supports.
Allowing a range of versions serves several purposes: first it allows me to introduce the versioning without requiring it to be used right away in the kernel tree, which means it will be possible to introduce new features of config(1) rather progressively in the future. E.g., using 'no pci' in a config file could only require the new version in that config file, so that the rest remains compatible.
In the end, an actual bump of the main config system (i.e., in conf/files) will only be required when e.g., ioconf.c semantics change.
(Mostly-)silently accepted on tech-kern. Error messages turned into correct and meaningful English thanks to Tracy and Perry.
|
| 1.3 |
| 01-Oct-2005 |
cube | o Keep track of negated devices in deaddevitab o Rework do_kill_orphans() to use that information and mark explicitely orphaned devices (i.e., the ones whose missing ancestor has been negated) o Make a distinction between erroneous orphans and explicit orphans. Error out on the former, ignore the later (but print a warning when -v is used)
Yes, now config(1) will actually stop if you comment out a parent. That should help people still hoping adjustkernel is relevant these days :)
|
| 1.2 |
| 30-Sep-2005 |
cube | Introduce two new statements:
no device at <attachment>
<attachment> can take two forms: either numbered/wildcarded, in which case only exactly matching instances will be removed, or plain (with no number or wildcard), in which case all matching instances will be removed.
When <attachment> is a plain interface attribute, all instances using that attribute (either directly or through an explicit device) will be removed.
E.g.: auich* at pci? dev ? function ? audio0 at audiobus? audio1 at auich? audio* at auich0
no device at auich0 -> removes audio* no device at auich? -> removes audio1 no device at auich -> removes audio1 _and_ audio* no device at audiobus? -> removes audio0 no device at audiobus -> removes audio0, audio1 and audio*
no <device>
As in the previous case, <device> can either be numbered/starred, in which case all exactly matching instances are removed, or plain, in which case all instances of the device are removed.
E.g.: (continuing previous example)
no audio* -> removes 'audio* at auich0' no audio -> removes all audio instances
|
| 1.1 |
| 05-Jun-2005 |
thorpej | config and genassym are not sysadmin tools, they are development tools. As such, they don't belong in /usr/sbin, but rather /usr/bin. Move them there.
|
| 1.7.6.1 |
| 17-Apr-2012 |
yamt | sync with head
|
| 1.10.10.1 |
| 06-Mar-2015 |
snj | Pull up following revision(s) (requested by mrg in ticket #572): usr.bin/config/Makefile: up to 1.10 usr.bin/config/TODO: up to 1.14 usr.bin/config/config.1: up to 1.17 usr.bin/config/config.5: up to 1.25 usr.bin/config/defs.h: up to 1.64 usr.bin/config/files.c: up to 1.18 usr.bin/config/gram.y: up to 1.46 usr.bin/config/hash.c: up to 1.11 usr.bin/config/lint.c: up to 1.15 usr.bin/config/main.c: up to 1.74 usr.bin/config/mkdevsw.c: up to 1.12 usr.bin/config/mkheaders.c: up to 1.26 usr.bin/config/mkioconf.c: up to 1.28 usr.bin/config/mkmakefile.c: up to 1.37 usr.bin/config/mkswap.c: up to 1.8 usr.bin/config/pack.c: up to 1.9 usr.bin/config/scan.l: up to 1.22 usr.bin/config/sem.c: up to 1.71 usr.bin/config/sem.h: up to 1.19 usr.bin/config/util.c: up to 1.19 sync config(1) with HEAD.
|