History log of /freebsd-10.1-release/usr.sbin/config/
Revision Date Author Comments
272461 03-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


269825 11-Aug-2014 imp

MFC: Merge in the changes in -current:

Support ! operator in "files" files.
Improve error detection and reporting
Cleanup code to make it easier to maintain.
Remove mandatory keyword: it has been used for 17 years.
Bump version number (we should have bumped for -I too, but didn't)

r261501 | imp | 2014-02-04 17:26:11 -0700 (Tue, 04 Feb 2014) | 5 lines
Fix ! by not clearing not at the bottom of the loop.
Add a blank line
Submitted by: bde (blank line)

r261493 | imp | 2014-02-04 11:28:58 -0700 (Tue, 04 Feb 2014) | 5 lines
Implement the '!' operator for files* files. It means 'include this
only if the specified option is NOT specified.' Bump version because
old config won't be able to cope with files* files that have this
construct in them.

r261446 | imp | 2014-02-03 12:14:36 -0700 (Mon, 03 Feb 2014) | 5 lines
Convert the loop by gotos into a for loop to improve readability. I
did this only with the inner loop for the token parsing, and not the
outer loop which was understandable enough when the extra layers of
looping went away...

r261445 | imp | 2014-02-03 12:10:33 -0700 (Mon, 03 Feb 2014) | 4 lines
Fix a bug introduced in r261437 that failed to honor "optional
profiling-routine" to work, since profiling-routine is not really an
option or a device, but a special case elsewhere in the code.

r261444 | imp | 2014-02-03 11:56:41 -0700 (Mon, 03 Feb 2014) | 2 lines
Slight cleanup to the error messaging to compress code vertically...

r261442 | imp | 2014-02-03 11:31:51 -0700 (Mon, 03 Feb 2014) | 2 lines
Better error messages when EOF is hit in the middle of a phrase.

r261438 | imp | 2014-02-03 09:54:53 -0700 (Mon, 03 Feb 2014) | 5 lines
Move the check for standard keyword + optional inclusion specifier to
its proper location. Otherwise you could have 'file.c standard pci'
without an error. This construct isn't in our tree, and has no well
defined meaning.

r261437 | imp | 2014-02-03 09:47:10 -0700 (Mon, 03 Feb 2014) | 4 lines
Don't believe we have a requirement until after we've checked all the
known key words. This will make error messages slightly better in
weird corner cases, but should otherwise be a nop.

r261436 | imp | 2014-02-03 09:46:01 -0700 (Mon, 03 Feb 2014) | 3 lines
In the 17 years since r30796, the mandatory keyword has never been used
in any files as far as I can tell, and is currently unused. Retire it.

r261435 | imp | 2014-02-03 08:10:44 -0700 (Mon, 03 Feb 2014) | 6 lines
Slightly deobfuscate read_file() and likely pessimize the runtime
performance by epsilon.
(Translation: elminate bogus macros that hid 'returns' making it hard
to read and moved a block of code inline rather than at the end of the
fuction where it was effectively a 'gosub' kind of goto).


264325 10-Apr-2014 asomers

MFC r263429

Fix kern/187712: config(8) does not respect KERNCONFDIR.
The impact of this bug is that you cannot build a kernel if both of the
following are true:
1) The kernel config file is in a non-default location
2) The kernel config file uses the "include" statement from config(5).

usr.sbin/config/main.c
usr.sbin/config/config.8
usr.sbin/config/config.h
usr.sbin/config/lang.l
Added a "-I path" option to config(8). By analogy to cc(1), it adds
an extra path in which the "include" statement will search for
files.

Makefile.inc1
Pass "-I ${KERNCONFDIR}" to config(8).


256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


250926 23-May-2013 jkim

Work around build breakages with GCC 4.2.

Reported by: tinderbox


250227 04-May-2013 jkim

Improve compatibility with recent flex from flex.sourceforge.net.


250133 01-May-2013 wkoszek

Make the internal assertion correct--only fail when '\0' is found in
places other than the end of the test section. Otherwise, with kernel
compiled with Clang which happens to be setting ELF section alignment
differently config(8) was throwing assert() failure unnecessarily

Reported by: Kimmo Paasiala <kpaasial (at) gmail.com>
Tested by: Kimmo Paasiala <kpaasial (at) gmail.com>
MFC after: 10 days


249657 19-Apr-2013 ed

Add the Clang specific -Wmissing-variable-declarations to WARNS=6.

This compiler flag enforces that that people either mark variables
static or use an external declarations for the variable, similar to how
-Wmissing-prototypes works for functions.

Due to the fact that Yacc/Lex generate code that cannot trivially be
changed to not warn because of this (lots of yy* variables), add a
NO_WMISSING_VARIABLE_DECLARATIONS that can be used to turn off this
specific compiler warning.

Announced on: toolchain@


248777 27-Mar-2013 jkim

Loosen restrictions for quoted strings. Now we can use more complex strings
and "escaped" quote characters.

MFC after: 1 month


241395 10-Oct-2012 jhb

- Fix the error message when a dependency string is not provided to
reference a missing dependency rather than a missing compile command.
- Don't append a newline to the auto-generated compile command. The
compile command has a newline appended when it is later output to the
Makefile.

MFC after: 2 weeks


235789 22-May-2012 bapt

Fix world after byacc import:
- old yacc(1) use to magicially append stdlib.h, while new one don't
- new yacc(1) do declare yyparse by itself, fix redundant declaration of
'yyparse'

Approved by: des (mentor)


233648 29-Mar-2012 eadler

Remove trailing whitespace per mdoc lint warning

Disussed with: gavin
No objection from: doc
Approved by: joel
MFC after: 3 days


230051 13-Jan-2012 kevlo

Fix copyright year

Spotted by: pluknet


230044 13-Jan-2012 kevlo

fgets(3) returns a pointer, so compare against NULL, not integer 0.


229403 03-Jan-2012 ed

Replace index() and rindex() calls with strchr() and strrchr().

The index() and rindex() functions were marked LEGACY in the 2001
revision of POSIX and were subsequently removed from the 2008 revision.
The strchr() and strrchr() functions are part of the C standard.

This makes the source code a lot more consistent, as most of these C
files also call into other str*() routines. In fact, about a dozen
already perform strchr() calls.


228153 30-Nov-2011 fjoe

Generate ${NORMAL_CTFCONVERT} invocation without '@' modifier:
- ${NORMAL_CC} is also invoked without '@'
- Userland CTF support was changed previously to echo ctfconvert invocations too


227429 10-Nov-2011 rstone

The generated Makefile for the kernel was not running ctfconvert on
object files corresponding to source files that had the compile-with
option set in conf/files. This means that any fbt probes for functions
in that object file would not have correct argument types.

The fix is to run ctfconvert on any target file that does not have the
no-obj option set in files.

PR: bin/160275
Reported by: Paul Ambrose (ambrosehua AT gmail DOT com)
MFC after: 1 week


223744 03-Jul-2011 ed

Improve portability of config(8).

- Use strlen(dp->d_name) instead of the unportable dp->d_namlen. Rename
i to len to make it slightly more descriptive and prevent negative
indexing of the array.
- Replace index() by strchr().

This supposedly fixes compilation on GNU systems.

Submitted by: Robert Millan <rmh debian org> (original patch)
MFC after: 3 weeks


219819 21-Mar-2011 jeff

- Merge changes to the base system to support OFED. These include
a wider arg2 for sysctl, updates to vlan code, IFT_INFINIBAND,
and other miscellaneous small features.


218544 11-Feb-2011 imp

Generate MACHINE= and MACHINE_ARCH= lines based on the machine
directive. Once this is MFC'd, we can move these out of the template
files where they are (incosnsitently) defined.

MFC after: 1 week


216372 11-Dec-2010 joel

Remove the advertising clause from UCB copyrighted files in usr.sbin. This
is in accordance with the information provided at
ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change


216178 04-Dec-2010 uqs

Move most of the remaining USD/PSD/SMM papers into share/doc


215676 22-Nov-2010 brucec

Don't generate input() since it's not used.


215334 15-Nov-2010 dougb

Remove references to MAKEDEV(8)


215034 09-Nov-2010 brucec

Fix typos.

PR: bin/148894
Submitted by: olgeni


214654 02-Nov-2010 obrien

Give the user a hint as to what config(8) is unhappy with.


214523 29-Oct-2010 jhb

Remove support for creating the 'machine' symlink as well as creating the
extra MACHINE_ARCH symlink for certain platforms (such as pc98). The
support for creating these symlinks was added to sys/conf/kern.post.mk in
changeset 152964. The intention of that commit was to remove this code
from config(8), but config(8) was never updated.

Approved by: imp


213653 09-Oct-2010 uqs

mdoc: drop redundant .Pp calls, kill EOL whitespace


212570 13-Sep-2010 emaste

Allow a kernel config to specify a set but empty value via
'makeoptions OPTION=' for consistency with the make commandline.

Previously 'makeoptions WERROR=' would result in a syntax error; now
it produces the same effect as 'makeoptions WERROR'. Both forms now
result in 'WERROR=' in the generated Makefile.


211326 15-Aug-2010 imp

Given the lag between introducing the options-compat and fixing the
bug in the config file was long, and merged to stable, we have to bump
the version here so that stable/8 kernels can have their required
version number bumped to make sure the right config is used.

MFC after: 3 days


211325 15-Aug-2010 imp

Turns out that it is a bad idea to have a missing compat option be a
fatal condition. While it works out really well for diagnosing the
case where you want it, but don't have it, it works really badly for
the case where you don't have it and don't want it. Remove the printf
and exit pair. Replate it with simple return to silently ignore this
condition.

This is needed to fix the COMPAT_IA32 being required in options.* in
stable, but we need to run this change through -current first...

MFC after: 3 days


210144 15-Jul-2010 imp

Put warnings out to stderr rather than stdout.

MFC after: 3 days


209969 13-Jul-2010 nwhitehorn

Enhance config to handle MACHINEs with multiple architectures:

- Passing -m to config will now print the MACHINE and MACHINE_ARCH
given in the passed kernel configuration file and then exit.
- If an option is defined in options.MACHINE with the same name as the
architecture of the kernel being configured, that option will be
considered set. This allows conditional compilation based on CPU
architecture.

Config version is now 600010.

Reviewed by: imp


209135 13-Jun-2010 imp

style(9) fixes:

o make cmd scoped to the whole do_rules function, since it really is
scoped to the whole fucnion. Making it static was the wrong way to
fix referencing it outside of the block in which it was declared
(and conforms to the style of the rest of the file).
o remove a couple of meaningless blank lines
o properly wrap one line.


207461 01-May-2010 imp

sparc64, and possibly other architectures, pads the length of the
section holding the config file to sh_addralign bytes using NULs.
This bogusly triggers an assert. Break out of the loop when we hit an
NUL within that many bytes of the end.

MFC after: 3 days


207265 27-Apr-2010 imp

Require the option that's mapped be listed in the options file. This
will allow people with old config options to either have it just work
(if config is new enough), or get a version error (if their config is
about 7.0 or newer) rather than getting a cryptic error about
duplicated options in the options file, or getting an error about an
unknown option, at which point they'd update their config file only to
learn they need a new config, only to learn they didn't really need to
update their config file... All this because our version checking was
in the wrong place for the past decade...

# hopefully this is the last change, and we'll be able to config with an
# 8.0 GENERIC file on stable/8 after I merge this change and add the
# compat options.

MFC after: 3 days


207263 27-Apr-2010 imp

Redo how we add compat options so as to be compatible with old
versions of config. Remove support for the syntax OLD = NEW form the
options file, and instead have a new file $S/conf/options-compat.
This file will be parsed as OLD NEW on each line. Bump version of
config. Since nothing in -current ever used this, there's no hazards
for current users, so I'm not bumping the version in the
Makefiles.$MACHINE. No need, really, for this version bump in
-current, but this was introduced into -stable before I realized the
version check was ineffective there, so the verison bump doesn't hurt
here and keeps the two branches in sync, versionwise, after the MFC.

MFC after: 3 days


207260 27-Apr-2010 imp

Move checking the version up from Makefile generation to just after
we've parsed the config file. Makefile generation is too late if
we've introduce changes to the syntax of the metafiles to warn about
version skew, since we have to try to parse them and we get an parse
error that's rather baffling to the user rather than a 'your config is
too old, upgrade' which we should get.

We have to defer doing it until after we've read the user's config
file because we define machinename there. The version required to
compile the kernel is encoded in Makefile.machinename. There's no
real reason for this to be the case, but changing it now would
introduce some logistical issues that I'd rather avoid for the moment.
I intend to revisit this if we're still using config in FreeBSD 10.

This also means that we cannot introduce any config metafile changes
that result in a syntax error or other error for the user until 9.0 is
released. Otherwise, we break the upgrade path, or at least reduce
the usefulness of the error messages we generate.

# This implies that the config file option mapping will need to be redone.

MFC after: 3 days


207056 22-Apr-2010 netchild

Revert r206179 (by imp) and do something similar which is more consistent
with all other corresponding CTF places by changing the corresponding
code which is generated by config(8). Or in short, move the '@' from
the variable definition to the use of the variable. [1]

While I'm here break up a long line. [2]

Discussed with: imp [1,2], bde [2]


206915 20-Apr-2010 imp

Bump minor version of config to reflect the new option remapping
feature. The kernel makefiles have specifically not been bumped
because nothing uses this new feature and doing so forces everybody to
recompile for no good reason. This chnage will be MFC'd where the
kernel version numbers for amd64 and ia64 will be bumped, since those
are the only two that have use the option remapping feature. Once
merged, this will give a better error message to folks that are using
buildkernel without buildworld or kernel-toolchain to update their
kernels.

MFC after: 3 days


206664 15-Apr-2010 imp

Allow option aliasing. Lines of the form:

OLD_OPT = NEW_OPT

in options* files will now map OLD_OPT to NEW_OPT with a friendly
message. This is indented for situations where we need to preserve an
interface in the config file in an upwards compatible fashion on a
stable branch.

Reviewed by: nwhitehorn@
MFC after: 3 days


205880 30-Mar-2010 ru

- Handle calloc() allocation failures.
- Fixed a comment.
- 2 -> EXIT_FAILURE in some places.
- errx() -> err() where appropriate.

PR: 144644
Submitted by: Garrett Cooper


201390 02-Jan-2010 ed

The last big commit: let usr.sbin/ use WARNS=6 by default.


201227 29-Dec-2009 ed

ANSIfy almost all applications that use WARNS=6.

I was considering committing all these patches one by one, but as
discussed with brooks@, there is no need to do this. If we ever
need/want to merge these changes back, it is still possible to do this
per application.


188280 07-Feb-2009 wkoszek

Move the comment to it's correct place.


188277 07-Feb-2009 wkoszek

Remove leftover of alpha support for config(8)--we have MAP_FAILED
globally defined.


188214 06-Feb-2009 wkoszek

Make config -x <kernel> only return non-zero characters,
so that:

config -x <kernel> | grep <something>

just works.

Reported by: Danny Braniss <danny@cs.huji.ac.il>


187742 26-Jan-2009 imp

Delete commented out ancient history.


185186 22-Nov-2008 thompsa

Allow multiple makeoption lines to be used with the += operator, this permits
the following syntax in the kernel config.

makeoptions MODULES_OVERRIDE=foo
makeoptions MODULES_OVERRIDE+=bar
makeoptions MODULES_OVERRIDE+=baz

Bump config minor version to 600007.


180922 28-Jul-2008 obrien

Allow kernel config files to include files other than those in the CWD,
using unquoted paths.


180089 29-Jun-2008 jb

Revice the way the CTF conversion is done per object. Avoid creating a second
shell (which was the problem with the original implementation) and avoid
letting make see an empty definition (which was the problem with the current
implementation).


179666 09-Jun-2008 jb

Change the CTF conversion makefile code to use a new line to avoid
spawning another shell.

Requested by: Ed Schouten

M config/mkmakefile.c


179227 23-May-2008 jb

Add the CTF conversion to the generated makefile. In the case where
NO_CTF or !WITH_CTF, the macro is empty.


178085 10-Apr-2008 imp

Fix a bug introduced by DEFAULTS feature. When the config file
doesn't exist, we make a directory and then say "oops, that file isn't
there" leaving the directory behind. Add a stat for the config file
so that we detect this before making the directory. This is
semi-lame, but less lame than having this bug.


175163 08-Jan-2008 emaste

Honour the logical current working directory ($PWD) when using config's
-d destdir option. For an automounted src tree using the logical cwd
in the Makefile keeps amd(8)'s mount timeout refreshed. Code to check
$PWD's validity cribbed from pwd(1).

Discussed on hackers@.


174892 25-Dec-2007 imp

Spring forward into the late 1970's by following item 5 in the yacc
manual's Appendix D ("Old Features Supported but not Encouraged") in
the Seventh Edition Unix Programmer's Manual (January, 1979) by
retiring the " = {" method of of action specification in favor of a
plain "{". It is no longer necessary for this bootstrap program to
be compatible with 6th Edition systems. Some yaccs in the wild do not
support this old syntax any more, and compatibility with those systems
is more important these days (as there are easily 7 orders of magnitude
more of them than real v6 systems today).

Reviewed by: jhb@ and dds@ (the latter gave the reference).


172401 01-Oct-2007 ru

Fixed "make checkdpadd" (missing library dependencies).

Approved by: re (kensmith)


169647 17-May-2007 imp

Fix some problems that affect multiple file inclusion. Bruce found
this bug and submitted these patches to dunstan@. He sent them to me
to test, and I discovered they were needed for the atmel kernel config
files. Since we were playing with them in the terminal room after the
developer's summit today, I thought I'd go ahead and commit them to
allow those folks that now have atmel hardware (thanks Andre) a chance
to try it out w/o my help. Since dunstan@ is asleep right now, risk
stepping on his toes a little by going ahead and committing this
change.

Submitted by: dunstan@, bde@
Tested by: bde@


169604 16-May-2007 wkoszek

Handle !INCLUDE_CONFIG_FILE entirely in the kernel. This should make some
developers happy, since it will let them to use old config(8) with newer
kernels.

Reviewed by: imp
Approved by: imp


169515 13-May-2007 wkoszek

Bump config(8) version and build requirement for config(8) to 600006. This
is caused by my latest changes to config(8). You're supposed to install new
config(8) in order to prevent yourself from seeing a warning about old
version of that tool.

You should configure the kernel with a new config(8) then.

Oked by: rwatson, cognet (mentor)


169512 12-May-2007 wkoszek

This is loser's commit message:

Remember about tricky cases, where options contain unfriendly characters,
from the ANSI-C string point of view ('"' in this case). The x09 build
breakage was caused by SC_CUT_SEPCHARS options.

I did test this patch number of times; each time unprofessionally and
inappropriately.

OKed by: cognet (mentor)


169508 12-May-2007 wkoszek

Add ${.CURDIR} before kernconf.tmpl in order to let the build see newly
added kernconft.tmpl file.

Approved by: cognet (mentor)


169507 12-May-2007 wkoszek

Improve INCLUDE_CONFIG_FILE support.

This change will let us to have full configuration of a running kernel
available in sysctl:

sysctl -b kern.conftxt

The same configuration is also contained within the kernel image. It can be
obtained with:

config -x <kernelfile>

Current functionality lets you to quickly recover kernel configuration, by
simply redirecting output from commands presented above and starting kernel
build procedure. "include" statements are also honored, which means options
and devices from included files are also included.

Please note that comments from configuration files are not preserved by
default. In order to preserve them, you can use -C flag for config(8). This
will bring configuration file and included files literally; however,
redirection to a file no longer works directly.

This commit was followed by discussion, that took place on freebsd-current@.
For more details, look here:

http://lists.freebsd.org/pipermail/freebsd-current/2007-March/069994.html
http://lists.freebsd.org/pipermail/freebsd-current/2007-May/071844.html

Development of this patch took place in Perforce, hierarchy:

//depot/user/wkoszek/wkoszek_kconftxt/

Support from: freebsd-current@ (links above)
Reviewed by: imp@
Approved by: imp@


163640 24-Oct-2006 imp

Don't leak files.
This also eliminates the need for ifp init.

Submitted by: ru@


163639 24-Oct-2006 imp

Document multiple hints lines.
Tweak machine description to more accurately reflect second argument being
the cpu architecture. Note correspondence with MACHINE and MACHINE_ARCH.


163638 24-Oct-2006 imp

End my resistance to jmg's multiple hints files and bring in support
for having multiple hints files generate a correct hints.c (eg, with
all the specified ones catenated together).


163637 24-Oct-2006 imp

style(9) pedantry


163636 24-Oct-2006 imp

Since multiple hints lines do not work, make doing that a fatal error.


163590 21-Oct-2006 ru

Comment out the first paragraph; while it tells the true (we're using
the old BSD config(8) utility in FreeBSD), it does not look good.

PR: docs/100328


162936 01-Oct-2006 ru

Added rudimentary support for the "include" directive (inside "files").
This will be used to split sys/conf/files into multiple files similar
to how this is done in NetBSD.


160522 20-Jul-2006 stefanf

Remove unused variables.


160495 19-Jul-2006 stefanf

Remove an unused variable.


159362 07-Jun-2006 delphij

Use calloc() instead of zeroing the memory our own.


155564 12-Feb-2006 jkoshy

Document the two argument form of the "machine" directive.

Reviewed by: imp
MFC After: 3 days


155240 03-Feb-2006 imp

Allow newer config versions to config older versions with the same
major number.

Reviewed by: ru@, jhb@, arch@ (a few months ago)

# this is subject to refinement based on experience.


154338 14-Jan-2006 flz

- Change the exit message from "make cleandepend; make depend" to
"make cleandepend && make depend".

PR: bin/91765
Submitted by: Soeren Straarup <xride@x12.dk>
Approved by: cpercival
MFC after: 3 days


153889 30-Dec-2005 ru

- Avoid adding devices multiple times to the device list.
- Avoid adding options multiple times to the option list.

Based on a patch by: Matt Emmerton <matt@gsicomp.on.ca>


153888 30-Dec-2005 ru

Clean up most of the "XXX"-tagged items:

- The code that creates hints.c and env.c from the skeleton files
moved into separate functions.

- Sanity checks for missing "ident" and "cputype" directives moved
into main(), alongside the existing check for "machine".

PR: bin/90310
Submitted by: Matt Emmerton <matt@gsicomp.on.ca>


153260 09-Dec-2005 ru

config.5 was repocopied from share/man/man5/ to usr.sbin/config/.

Repocopied by: peter


153064 03-Dec-2005 ru

Document "makeoption", "nocpu", and "nomakeoptions" directives.
(Indeed this should be repo-copied to src/usr.sbin/config/.)


153063 03-Dec-2005 ru

Add "makeoption" as an alias to "makeoptions", for symmetry.


152963 30-Nov-2005 ru

Style: use S_ISDIR() (submitted by bde@) and eq() where appropriate.


152937 29-Nov-2005 peter

The DEFAULTS changes caused the user specified config file to be opened
much later than before, and it is now after we do a mkdir ../compile/FILE.
As a result, if you do 'config DOESNOTEXIST', it now creates the directory
../config/DOESNOTEXIST. It did not do that before. If DEFAULTS does not
exist, it still fails early before any permanent changes.

This shameless hack restores the old behavior of ensuring the config file
actually exists before mkdiring its counterpart directory.

Now I can rmdir ../compile/D and it will stay dead, after my fingers keep
sabotaging me with 'config D<tab><enter>'. (Some of my kernel names
started with D, which used to be 1-character unique and my fingers knew
this very well...)


152889 28-Nov-2005 imp

600004 is a better new version than 700000 based on some future commits to
this file. With ru@'s approval, change it to this version. In this case we
had to bump the version because the old parser would choke on | in the new
'or' syntax and consider that a device.

Approved by: ru@


152865 27-Nov-2005 ru

- Allow duplicate "machine" directives with the same arguments.
- Move existing "machine" directives to DEFAULTS.


152862 27-Nov-2005 ru

Make config(8) understand ORed dependecies in "files*" and
improve tracking of known devices. Bump config(8) version.


152811 25-Nov-2005 ru

Clean some code that became obfuscated over the years:
Don't keep duplicate files in the files list just to
mark the device as "known" later. XXX: Since the
device list isn't unique (there can be two "device foo"
directives, as this the case with LINT+DEFAULTS), we
have to traverse it all to mark all copies of the same
device as "used", but this is not worse than it was.


152164 07-Nov-2005 rwatson

Minor comment tweak to prevent gcc from being upset about the substring
/* appearing in a comment.


152162 07-Nov-2005 peter

Add some rationale about when to bump and not bump the config version.
Clarify that it is not like the shlib versions, and not like param.h's
__FreeBSD_version/osreldate either.

When config(8) was actively changing a while back, the interface between
config and the build system (eg: /sys/conf/files.* and Makefile.*) was
changing rapidly. configvers is a version number of that interface.

User specified config files do not have a version number. The decision
about whether a user supplied config file is syntactically valid or not
belongs to the parser and sanity checks, not an arbitary number.


152027 04-Nov-2005 imp

since nocpu isn't used in the kernel config base, we don't need to
bump the version. Peter Wemm, John Baldwin and I hammered this out
after the last time I needlessly incremented the version.


152024 03-Nov-2005 ru

Use the eq() macro for comparing strings (style), and remove a "break"
statement to null the effect of several identical "cpu" directives.


152023 03-Nov-2005 ru

By a popular demand, add "nomakeoptions" as an alias to "nomakeoption".


152018 03-Nov-2005 ru

Implement the "nocpu" directive.

Requested by: rwatson


151763 27-Oct-2005 jhb

Bump config(8) version for the DEFAULTS change.


151744 27-Oct-2005 jhb

Optionally include a DEFAULTS config file if it is present in the current
directory before the specified config file. This is implemented by
opening DEFAULTS as stdin if it exists, and if so resetting stdin to the
actual config file when DEFAULTS is fully parsed via yywrap(). In short,
this lets us create DEFAULTS kernel configs in /sys/<arch>/conf that can
enable certain options or devices by default and allow users to disable
them via 'nooptions' or 'nodevice' rather than having to create kludge
NO_FOO options.

Requested by: scottl
Reviewed by: scottl


148962 11-Aug-2005 obrien

Put rev. 1.65 into usage().


148916 10-Aug-2005 obrien

Add an option to tell what version of config(8) this is.


145405 22-Apr-2005 ru

Ask that "make cleandepend" be run before "make depend", now that
we don't do this automatically.

Suggested by: bde


144509 01-Apr-2005 imp

Allow one to specify a second parameter to the machine line. This
allows us to specify the machine_arch as well as machine. If
specified then a second link will be made, similar to machine, from
$MACHINE_ARCH to $S/$MACHINE_ARCH/include.

This is for ports where MACHINE != MACHINE_ARCH (pc98 today, others in
the future?).

Reviewed by: arch@, nyan@


144352 30-Mar-2005 imp

style(9) nits


144179 27-Mar-2005 des

Unstaticize config. It was being optimized away.

MFC after: 3 days


141655 10-Feb-2005 des

Bump the version number for the addition of devices / nodevices.


141646 10-Feb-2005 des

Fully document (no)?(device|option)s?.

This page should probably be repocopied to src/usr.sbin/config/.


141615 10-Feb-2005 des

"device" and "nodevice" lines can actually specify more than one device
(separated by commas), so add "devices" and "nodevices" as aliases.

MFC after: 2 weeks


140442 18-Jan-2005 ru

Sort sections.


138912 16-Dec-2004 ru

The ioconf.c is no longer generated.

Submitted by: Craig Rodrigues


136880 24-Oct-2004 des

Allow multiple devices to be specified on one device / nodevice line.
Also allow "device" / "nodevice" to be spelled "devices" / "nodevices".

MFC after: 2 weeks


136872 24-Oct-2004 des

If the file specified in an "include" line does not exist in the current
directory, and its name does not begin with a period or a forward slash,
go look for it in ../../conf.

Wished for by: scottl
MFC after: 2 weeks


136429 12-Oct-2004 phk

We accept both "option" and "options" so also accept both "nooption"
and "nooptions".


134542 30-Aug-2004 peter

Kill count device support from config. I've changed the last few
remaining consumers to have the count passed as an option. This is
i4b, pc98/wdc, and coda.

Bump configvers.h from 500013 to 600000.

Remove heuristics that tried to parse "device ed5" as 5 units of the ed
device. This broke things like the snd_emu10k1 device, which required
quotes to make it parse right. The no-longer-needed quotes have been
removed from NOTES, GENERIC etc. eg, I've removed the quotes from:
device snd_maestro
device "snd_maestro3"
device snd_mss

I believe everything will still compile and work after this.


133248 07-Aug-2004 imp

Per letter dated July 22, 1999, delete clause 3 from code directly
from Berkeley.


131369 30-Jun-2004 brooks

Static device counts will not be supported in 6.x so place the generated
macros (N<driver>) under BURN_BRIDGES.

Discussed with: peter, imp, scottl, ...


130582 16-Jun-2004 ru

Assorted markup, spelling, and grammar fixes.


129194 13-May-2004 cognet

Document the "files" directive.

Reminded by: jmg


129119 11-May-2004 cognet

Fix a few glitches in my previous commit.
This makes config(8) WARNS?=6 compliant.


129073 09-May-2004 cognet

Add a new "files" directive, which allows to include a files.foo file directly
from a kernel config file.
Bump config version to reflect this change.


125935 17-Feb-2004 des

Whitespace nit.


122656 14-Nov-2003 bde

Fixed spurious syntax errors for including files that don't begin with
a SEMICOLON token (a newline or semicolon, or one of these preceded
by a comment and/or whitespace). The input stream was switched too
early and the parser was expecting a SEMICOLON in the included file
instead of after the filename in the include directive.

Submitted by: Stefan Farfeleder <stefan@fafoe.narf.at>
Kept alive by: Adam C. Migus <adam@migus.org>


118564 06-Aug-2003 simon

Add a reference to config(5) in the SEE ALSO section.

Suggested by: dcs
Approved by: ceri (mentor)


117512 13-Jul-2003 jkoshy

Eliminate non-existent word.

Submitted by: jwd


117323 08-Jul-2003 jkoshy

"towards" -> "toward". According to dictionary.com, the use of "towards"
is common in British English, while "toward" is the preferred form in
American English. Use the American form for consistency.

Correct the date on the manual page.

Submitted by: Tom Rhodes <trhodes@freebsd.org>,
underway@comcast.net (Gary W. Swearingen)


117269 06-Jul-2003 jkoshy

Disallow multiple 'machine' directives in a kernel configuration
file.

Reviewed by: ru, bde


117268 06-Jul-2003 jkoshy

New section 5 manual page detailing our kernel configuration file
format.

Reviewed by: Ruslan Ermilov <ru@freebsd.org>, Jens
Schweikhardt <schweikh@schweikhardt.net>


116450 16-Jun-2003 markm

Not particularly pretty hack to generate rules to make .ln files
from .c files. Actually, this is overkill, as the .ln file targets
are assumed from .? (any) files. This is not a problem in practice,
merely a bit untidy, as the linting rules DTRT. See the sys/conf/*
and sys/mk/* files for usage.


116257 12-Jun-2003 tmm

Check the return values of opendir() and unlink() in cleanheaders().
If unlink() fails, just print a warning for now.


116220 11-Jun-2003 obrien

Best we can do is WARNS=1 due to lex.


116219 11-Jun-2003 obrien

Do not refer to the non-existant BDECFLAGS.


113951 24-Apr-2003 des

Don't convert the kernel ident to uppercase when writing the Makefile.


113749 20-Apr-2003 brueffer

Grammar fix

PR: 51164
Submitted by: Jeff Ito <jeffi@rcn.com>
MFC after: 3 days


113536 15-Apr-2003 phk

Bump the config version to force people to upgrade their config(8)
so the fix for emitting multiple instances of .o files will prevent
link errors on LINT.


113397 12-Apr-2003 phk

Avoid emitting duplicate makefile entries.


112042 09-Mar-2003 des

Print FYI messages on stderr. Previously, they were printed on stdout,
and due to buffering they would sometimes come out after the actual
error message when mkheaders() failed due to an unknown device, so you'd
get an error messages followed by 20 or 30 lines of harmless warnings.

There are lots of other warning messages in config(8) that are printed
on stdout, but these were the most egregious (at least with LINT).


111582 26-Feb-2003 ru

Implemented "nooption" and "nomakeoption" config(8) tokens.
Fixed memory leak in the "nodevice" option implementation.

Use these instead of sed(1) in MD NOTES.

Use a single makefile (sys/conf/makeLINT.mk) to generate
LINT for all architectures. (Previous versions missed
the LINT dependency on Makefile, and i386 version also
missed the dependency on ${NOTES}.)

Fixed bugs in the previous NOTES conversion using the
"nodevice" token and sed(1):

- i386 LINT lost "device pst".

- pc98 LINT lost SC_*, MAXCONS and KBD_DISABLE_KEYMAP_LOAD
options, and got needless DPT_* options.

- Added nooptions PPC_DEBUG, PPC_PROBE_CHIPSET, KBD_INSTALL_CDEV
to sparc64 LINT so that it has a chance to config(8).

This basically returns us to where we were before.


111230 21-Feb-2003 ru

Allow for boolean make options (``makeoptions NO_MODULES'').
Fixed the potential bug in rmopt().


111095 18-Feb-2003 ceri

Bring the suggested command for extracting a configuration file from the
kernel into line with that suggested in LINT.

PR: bin/48157
Submitted by: naddy
MFC After: 4.8


110897 15-Feb-2003 ru

Implemented a simple "nodevice" config(8) command that cancels
the effect of the "device" command, and use it to generate the
OLDCARD from GENERIC.

Suggested by: bde


110895 15-Feb-2003 ru

Convert to using <sys/queue.h> macros.


110203 01-Feb-2003 trhodes

Remove this Makefile, these docs are built by the Makefiles in src/share/doc/smm.


107788 12-Dec-2002 ru

Uniformly refer to a file system as "file system".

Approved by: re


101828 13-Aug-2002 ru

mdoc(7) police: Removed redundant .Ns calls.


100472 21-Jul-2002 peter

Remove stray function prototype. I wrote and removed this function but
forgot the prototype.

Submitted by: dd


100463 21-Jul-2002 peter

Check for missing static unit 'count' declarations as well.


100461 21-Jul-2002 peter

Check that we are not supplying 'device foo N' to devices that do not take
a statuc unit count.


99968 14-Jul-2002 charnier

The .Nm utility


99923 13-Jul-2002 bde

Moved the setting of all profiling-related variables except the key one
(PROFLEVEL) to kern.pre.mk so that it is easier to manage. Bumped config
version to match.

Moved the check for cputype being configured to a less bogus place in
mkmakefile.c.


99478 06-Jul-2002 obrien

We don't need to hit the user over the head so strong now that we've
fixed all the known warnings suffiently to not require NO_WERROR.

Ok'ed by: peter


98555 21-Jun-2002 jmallett

Clean up hex() and octal() to return and work with unsigned integers since
they scan values of unsigned types, and since they do not need otherwise,
have them take const char * arguments.


96705 16-May-2002 trhodes

Consistancy check: s/file system/filesystem/g


91254 25-Feb-2002 peter

Add a hint about -DNO_WERROR


91002 20-Feb-2002 peter

Commit some infrastructure for turning on -Werror for kernel compiles.
It doesn't actually do it yet though. This adds a flag to config so
that we can exclude certain vendor files from this even when the rest
of the kernel has it on. make -DNO_WERROR would also bypass all of it.


87861 14-Dec-2001 peter

Bump configvers for different handling of maxusers.


87546 09-Dec-2001 dillon

Allow maxusers to be specified as 0 in the kernel config, which will
cause the system to auto-size to between 32 and 512 depending on the
amount of memory.

MFC after: 1 week


85536 26-Oct-2001 ru

mdoc(7) police:

- Bump document date.
- Remove hard sentence breaks.
- Fix markup.


83594 17-Sep-2001 peter

Use includes to get prototypes for hints and env arrays.

Submitted by: bde


82393 27-Aug-2001 peter

Enable hardwiring of things like tunables from embedded enironments
that do not start from loader(8).


81622 14-Aug-2001 ru

mdoc(7) police: s/BSD/.Bx/ where appropriate.


80029 20-Jul-2001 obrien

Perform a major cleanup of the usr.sbin Makefiles.
These are not perfectly in agreement with each other style-wise, but they
are orders of orders of magnitude more consistent style-wise than before.


79755 15-Jul-2001 dd

Remove whitespace at EOL.


79705 14-Jul-2001 peter

Put on my peril-sensitive sunglasses and remove the POLA-violating
stealth hints loading. 'make release' has been fixed to not need this
now anyway. If you want static hints, specify it explicitly.

Hey! Why did it suddenly get so dark??


79694 14-Jul-2001 peter

Remove the old machine symlink first.


79607 12-Jul-2001 dd

Introduce an "include" directive. It takes one argument, a filename
to be included into this one. This works the same way as #include
does in C; as far as the user is concerned, the included file is
inlined into the current one.

Since config(8) is no longer limited to working on one user-supplied
file, printing just a line number in an error message is not
sufficient. The new global variable yyfile represents the file
currently being parsed, and must be printed as well.

Reviewed by: imp
Obtained from: OpenBSD


79537 10-Jul-2001 ru

mdoc(7) police: removed HISTORY info from the .Os call.


79236 04-Jul-2001 imp

Bring FILES section up to date.

submitted by: Mark Peek <mark-ml@whistle.com>


79079 02-Jul-2001 imp

Bump config version in config.


79013 30-Jun-2001 imp

Move kernel compile directory from sys/compile/FOO to
sys/compile/${MACHINE}/FOO.

Reviewed by: obrien, peter and the USENIX terminal room secret kernel cabal


74816 26-Mar-2001 ru

- Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.


74532 20-Mar-2001 ru

Set the default manual section for usr.sbin/ to 8.


73206 28-Feb-2001 peter

newbus_ioconf() is long gone


73204 28-Feb-2001 peter

Some more tidying up. we dont use config-dependent anyware. Eliminate
some duplicate code (cut/paste bug?). tidy up some other minor stuff.


73199 28-Feb-2001 peter

s/special/compilewith/ (so I stop confusing myself) and GC an unused
function I missed before.


73198 28-Feb-2001 peter

Untangle some special magic that happened for conflicting defintions for
local files.* and options.* files on the third pass.


73193 28-Feb-2001 peter

Remove some more dead code. :-/


73192 28-Feb-2001 peter

GC some leftover stuff (device-driver suffix)


72927 23-Feb-2001 peter

Move the 'dont forget "make depend"' to be the last thing that people see,
after the warnings.


72844 22-Feb-2001 peter

Futher cleanups. Since we have two options lists, one for proper options
and one for Makefile options, pass in the list head and use a common
newopt() routine.
Fix the 'config vmunix' support glue which was broken for a few minutes.


72841 22-Feb-2001 peter

Collect together a handful of copies of the option generator code into a
single newopt(char *name, char *value) function. Change newdev() to
do the same thing rather than depending on the evil 'cur' device hack.


72684 19-Feb-2001 peter

${BDECFLAGS} work. And fix a real error in the process. A "MAXUSERS"
string could have been passed to free(); There are some warnings here
I am not sure how to fix as they are in the lex scanner code, etc.


72674 18-Feb-2001 peter

Devices are NOT compiled with the "special c2 option -i"..


72000 04-Feb-2001 peter

Remove the need to list each and every cpu platform. Config will now
take your word for the 'machine' switch.


71882 31-Jan-2001 peter

Try and make it clearer that the static units thing is a FYI only.


71879 31-Jan-2001 peter

Unwind a bit more cruft - we only have one type of device now.


71878 31-Jan-2001 peter

Oops. An old version of a local change leaked in with the last commit.
Since it is here, clean it up a bit.


71866 31-Jan-2001 peter

Redo the stray header file cleanup code to not depend on timestamps
or access times or anything. Just bite the bullet and keep a list of
header files that we know about.


71804 29-Jan-2001 peter

AARGH! This does not mix too well with the -o noatime mount option.
:-(


71784 29-Jan-2001 peter

I confess. This is a truely nasty hack. I am so ashamed!
(I think config(8) source does bad things to your brain :-)

Clean up likely stray *.h files in the build directory.
Eg: if isa.h ceases being generated, zap it.
The heuristics to figure out a 'likely' file are pretty revolting.


71374 22-Jan-2001 benno

Add support for configuring PowerPC kernels.

Reviewed by: peter


71363 22-Jan-2001 peter

Clean up some obsolete stuff. config -r has not been needed since around
FreeBSD 3.x or so when the 'make depend' picked up the opt_foo.h files.
Convert warnings into actual errors in the hope that buildkernel users
will pay more attention. :-(


71258 19-Jan-2001 peter

Stop turning 'mandatory' into an implicit 'count' line. i386/npx was the
only consumer of this and it is no longer needed.


71251 19-Jan-2001 peter

Implement option strings that we can use in #ifdefs (where unavoidable)
as a replacement for the evil #define NFOO. If 'device npx' is in the
static kernel, a synthetic option '#define DEV_NPX 1' will be available
to stick in an opt_xxx.h file. "#if NNPX > 0" can be replaced with
"#ifdef DEV_NPX" and we can get rid of the overloaded meaning of the
device count mechanism.


70673 04-Jan-2001 peter

Try and stop config(8) from freaking out due to unnecessary paranoia
when using -d. Use realpath(3) to locate the top of the tree rather than
trying to manually trim back the results of a getcwd().

Requested by: alfred


69850 11-Dec-2000 ben

.Nm Config -> .Nm, there is no such program "Config" in FreeBSD.

PR: 23404
Submitted by: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>


69135 25-Nov-2000 peter

Make the xxxFILES= list generation generic. This makes it easier to add
things like MFILES= or CONFFILES= without having to modify config code.


69004 21-Nov-2000 imp

Fix buffer overflows in filenames. If you had a path > 80 characters
for your /usr/obj/path/to/my/files path to the kernel, then weird
things happened. make buildkernel would fail because config was
dumping core or generating bad file names (depending on the lenght of
the path).

While I was here, also use strlcpy, strlcat and snprintf (or asprintf)
as necessary. Minor format policing for the snprintf calls as well.


68965 20-Nov-2000 ru

mdoc(7) police: use the new features of the Nm macro.


68716 14-Nov-2000 ru

Use Fx macro wherever possible.


68575 10-Nov-2000 ru

Avoid use of direct troff requests in mdoc(7) manual pages.


67109 14-Oct-2000 phk

Make it possible to specify profiling in the kernel config file.

Do so for LINT.


66457 29-Sep-2000 dfr

Add ia64 support.


65091 25-Aug-2000 peter

If a ${KERNEL}.hints file exists, and no hints are specified explicitly,
then include the hints with a marker indicating that it is a fallback.
The kernel side of this is to come shortly.


61652 14-Jun-2000 peter

Argh! I broke the static hints parser at the last minute on freefall when
I added the $FreeBSD$ (commented) line.
Fix:
1: s/break/continue/
2: will somebody please shoot me! :-]


61640 13-Jun-2000 peter

Borrow phk's axe and apply the next stage of config(8)'s evolution.

Use Warner Losh's "hint" driver to decode ascii strings to fill the
resource table at boot time.

config(8) no longer generates an ioconf.c table - ie: the configuration
no longer has to be compiled into the kernel. You can reconfigure your
isa devices with the likes of this at loader(8) time:
set hint.ed.0.port=0x320

userconfig will be rewritten to use this style interface one day and will
move to /boot/userconfig.4th or something like that.

It is still possible to statically compile in a set of hints into a kernel
if you do not wish to use loader(8). See the "hints" directive in GENERIC
as an example.

All device wiring has been moved out of config(8). There is a set of
helper scripts (see i386/conf/gethints.pl, and the same for alpha and pc98)
that extract the 'at isa? port foo irq bar' from the old files and produces
a hints file. If you install this file as /boot/device.hints (and update
/boot/defaults/loader.conf - You can do a build/install in sys/boot) then
loader will load it automatically for you. You can also compile in the
hints directly with: hints "device.hints" as well.

There are a few things that I'm not too happy with yet. Under this scheme,
things like LINT would no longer be useful as "documentation" of settings.
I have renamed this file to 'NOTES' and stored the example hints strings
in it. However... this is not something that config(8) understands, so
there is a script that extracts the build-specific data from the
documentation file (NOTES) to produce a LINT that can be config'ed and
built. A stack of man4 pages will need updating. :-/

Also, since there is no longer a difference between 'device' and
'pseudo-device' I collapsed the two together, and the resulting 'device'
takes a 'number of units' for devices that still have it statically
allocated. eg: 'device fe 4' will compile the fe driver with NFE set
to 4. You can then set hints for 4 units (0 - 3). Also note that
'device fe0' will be interpreted as "zero units of 'fe'" which would be
bad, so there is a config warning for this. This is only needed for
old drivers that still have static limits on numbers of units.
All the statically limited drivers that I could find were marked.

Please exercise EXTREME CAUTION when transitioning!

Moral support by: phk, msmith, dfr, asmodai, imp, and others


61523 10-Jun-2000 peter

A checkpoint of a part of a work-in-progress. Some more cleanups for
config(8). This commit allows control of the creation of the
#include "foo.h" files. We now only create them explicitly when needed.
BTW; these are mostly bad because they usually imply static limits on
numbers of units for devices. eg: struct mysoftc sc[NFOO];
These static limits have Got To Go.


57673 01-Mar-2000 sheldonh

Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.


56869 29-Jan-2000 peter

Mark the 'conflicts' keyword as obsolete, and don't generate (unused)
resource table entries for it.


56481 23-Jan-2000 charnier

Use Ns and Sx. -current is 4 not 3.


56471 23-Jan-2000 peter

Remove the cam-specific device wiring code. This was a duplicate of
the data in the resource tables, and cam is getting it directly now.


56444 23-Jan-2000 peter

Bump configvers.h as a precaution. Although existing config files will
work unmodified still, new config files won't work on the old ones.


56440 23-Jan-2000 peter

Clean up something in config(8) that has annoyed me for ages. Remove
the need to specify the unit number of unwired devices. ie: instead
of saying "device fxp0" we can say "device fxp" which is much closer
to what it actually means. The former (fxp0) implied something about
reserving the 0th unit, but it does not and never did - it was a
figment of config(8)'s imagination that we had to work around..
"device fxp0" simply means "compile in the fxp device driver", so we
may as well just write it as "device fxp" which is closer to what it
really means.

Doing this also saves us from filling up the ioconf.c tables with
meaningless entries.


55855 12-Jan-2000 peter

Fix a bungle with the CAM static wiring tables. Write CAMCONF_UNSPEC
instead of -2. This (I believe) caused static wirings to not match.
This should fix Bill Pechter's problem but we'll see.

Problem discovered by: Bill Pechter <pechter@shell.monmouth.com>


55659 09-Jan-2000 bde

Remove even known options if they are in the wrong options header. This
fixes movement of options. Stale copies were left behind.


55636 09-Jan-2000 peter

Bump configversion. The controller/device changes are upwards but not
downwards compatable. If you try and config a s/controller/device/ kernel
with an old config(8), the results will be less than satisfactory.


55614 08-Jan-2000 peter

Support getting *.$MACHINE from sys/conf as well as sys/$MACHINE/conf.
This would mean that we could move files.alpha, files.i386, files.pc98
etc all next to conf/files, and the various Makefiles next to each
other. This should go a long way towards committers "seeing" the
Alpha etc stuff and remembering to update that too as it would be
right next to the i386 config files. Note this does not include
the GENERIC etc files as they can't be shared. I haven't actually
moved the files, but the support is here for it. It still supports
the per-machine conf directories so that folks working on a new arch
can just distribute a subdir of files.


55605 08-Jan-2000 peter

Apply the axe to some more cruft in config(8). In particular:
- redo the "at" configuration system so that it just syntax checks
to make sure the device you're configuring something "at" appears to
exist. Nuke a bunch of complexity that was responsible for creating
"clones" of wildcard devices and some wierd stuff in a few places
including the scbus config tables etc.
- merge "controller" and "device" - there is no difference as far as
the kernel is concernend, it's just something there to make life
difficult for config file writers. "controller" is now an alias for
"device".
- emit full scsi config into the resource tables. We could trivially
change cam to use that rather than it's own "special" table for wiring
and static configuration. ATA could use this too for static wiring.
- try and emulate some of the quirks of the old system where it made
sense. Some were too strange though and I'd be very suprised if they
were features and not outright bugs. nexus handling is still strange.
One thing in particular is that some of the wierd entries in the
newbus devtables is now gone as it was a quirk side effect of the
wildcard/question-mark cloning above.

GENERIC and LINT still build etc.


55603 08-Jan-2000 bde

Fixed removal of unknown options. For options files with only a single
known option, unknown options following the known option were not
removed. Now I think only unknown options in unknown options files
are not removed. This is harmless because unknown options files should
not be used, but removing the files would be cleaner.


54490 12-Dec-1999 peter

Add a 'warning' option for the files* files. This is intended to enable
giving a dire warning about certain drivers going away in the future.


54205 06-Dec-1999 peter

Fix another quirk in the unknown device detection, and also deal with
unknown 'controller' lines.


54047 03-Dec-1999 archie

A better version of the previous checkin. If the user specifies
a custom file that could override a FreeBSD file under a different
configuration, but doesn't under this one, give a different warning.


54044 02-Dec-1999 archie

When specifying additiona user-specified kernel compilation source
files in a 'files.XXX' file, config allows non-FreeBSD source files
with the same name as a FreeBSD source file to override the latter,
and in this situation it issues a warning.

However, if one of the user-specified files is actually a FreeBSD
source file (perhaps your kernel has some custom option that requires
that file), config mistakenly thinks it's a completely new file
and goes ahead and overrides all previous information for that file
(and issues the warning).

Fix this.

With help from: julian


53586 22-Nov-1999 gallatin

Allow config to generate proper ioconf.c files when devices request DMA
channel 0.

Submitted by: dfr


53047 09-Nov-1999 peter

Re-support "tape" as an alias for device and clean up a bit more cruft
left over from the original system (d_dk was for preassigned iostat unit
numbers for disks)


52653 30-Oct-1999 marcel

Add option "-d destdir" which instructs config to use another output
directory than the default one. If the option is not given, then the
output of config is exactly as before. Only when an alternate output
directory has been specified will config modify its behavior.

Additional changed:
o Remove the now conflicting and unused NODEV define. It
conflicts with NODEV in sys/param.h.
o Rename the now conflicting MACHINE token to ARCH. It
conflicts with MACHINE in sys/param.h.
o Fix some easy style bugs.
o Fix some easy grammar bugs in the manpage.

Approved by: peter, archie


52098 10-Oct-1999 peter

Further cleanup. Also remove the following unused or defunct tokens:
and, bio, cam, master, minor, net, priority, sequential, size, slave, trace


52007 08-Oct-1999 peter

Zap references to 'major' token, it's not used.
Zap references to devices.i386 - it's not used. (neither is devices.pc98
or devices.alpha)


50479 28-Aug-1999 peter

$Id$ -> $FreeBSD$


50000 18-Aug-1999 chris

Fix a bunch of broken cross-references


48791 12-Jul-1999 nik

Add $Id$, to make it simpler for members of the translation teams to
track.

The Id line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

.\" $Id$
.\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by: bde


48525 03-Jul-1999 peter

Delete special handling for 'device-driver' suffix, it's not used in
the kernel source now.


48402 01-Jul-1999 peter

Don't include trailing whitespace in ID tokens before comments. ie:
options FOO=10 # comment
would give FOO the value of "10 " and that caused unwanted
touches on the opt_*.h files.

I hope I've got this right..


48401 01-Jul-1999 peter

Detect and remove defunct or unknown options from opt_*.h files. This
can happen when options are removed from the options files.


47715 03-Jun-1999 peter

Check and warn about unknown devices in the config file along the same
lines as the pseudo-device checking. Previously 'device xyz0' would have
been silently accepted without comment.


46855 10-May-1999 peter

Understand 'config kernelname' and pretend it was a
'makeoptions KERNEL=kernelname'. Warn about any trailing stuff as it's
not handled here. This is a simple bandaid, hopefully to head off some
complaints from certain people.


46821 09-May-1999 peter

Put on my viking helmet from the closet, and get out the war axe and
"retire" some more stuff.


46817 09-May-1999 peter

We don't have composite devices here either.


46815 09-May-1999 phk

config(8) lobotomy, please see commit msg in sys.

(I have no idea why cvs didn't take these changes before.)


46104 27-Apr-1999 luoqi

Make options like NO_F00F_HACK work (with context sensitive lexical rules).


46036 24-Apr-1999 peter

Bump configvers; when the updates to generic/lint get committed, the old
config has severe indigestion.


46021 24-Apr-1999 peter

More cleanups, tweaks and features.
- make this work: options FOO123=456 *without quotes*
- grumble (but accept) vector xxxintr, and tty/net/bio/cam flags.
- complain if a device is specified twice (eg: 2 x psm0)
- don't require quotes around: port IO_COM2
- recognize negative numbers. (ie: options CAM_DEBUG_UNIT=-1)
- GC some more unused stuff (we don't have composite disks from config(8)).
- various other nits (snprintf paranoia etc)


45828 19-Apr-1999 peter

The Alpha probably wouldn't appreciate getting the pc98 isa port
definitions. Change it from machine != I386 to machine == PC98.


45819 19-Apr-1999 peter

Slightly reorder the all: to make sure it's before any alternate kernel
names for debugging etc. all: should now always be the first target.


45778 18-Apr-1999 kato

Use pc98/pc98/pc98.h instead of isa/isareg.h in PC98 kernel.

Submitted by: Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>


45775 18-Apr-1999 peter

Further cleanups. i386_ioconf.c and alpha_ioconf.c were essentially the
same and were merged into a single newbus_ioconf.c. CG'd some more unused
code.


45744 17-Apr-1999 peter

Get out the blow torch and hack away all the unused stuff. Note that
I zapped the MACHINE_MIPS stuff, it isn't likely to be useful apart from
recognition of the machine name. It would be reasonable to expect new
ports would look something like the alpha/i386 from a config perspective.


45721 16-Apr-1999 peter

Corresponding minimal changes for kernel configuration after new-bus
commit.


45703 15-Apr-1999 bde

Made booting with -a work for all configurations. Previously it
only worked for configurations with "swap on generic".

usr.sbin/config/config.y:
- ignore all "swap [on] device ...' specifications except for
warning about them. They haven't done anything related to swap
for almost 4 years, and were previously silently ignored,
except for "swap on generic" which stopped swap${KERNEL}.c
from being generated. Code to support swapping is now deader
than before.

usr.sbin/config/mkswapconf.c:
- don't generate a dummy setconf() function in swap${KERNEL}.c.

sys/i386/conf/files.i386:
- swapgeneric.c is now standard. It should be merged into autoconf.c
so that it doesn't conflict with swap${KERNEL}.c for kernels named
"generic".

sys/i386/i386/autoconf.c:
- don't call setroot() for mfs roots. Since setroot() doesn't do anything
harmful, this was just a waste of time, except possibly for booting with
-a it may have helped prevent an undesireable call to setconf() by
finding a bogus rootdev.
- honor -a for ffs roots. -a now overrides all other ways of specifying
the root device. Previously, -r had precedence over -a, and the -a
handling was usually a no-op.
- don't honor -a for non-ffs roots, since it would currently just get in
the way of a clean panic.

sys/i386/i386/swapgeneric.c:
- don't declare things that are now always declared in swap${KERNEL}.c.
Don't decide things that are now decided in autoconf.c. Code to
support the "generic" case is now dead instead of useless.


45660 13-Apr-1999 peter

Clean up the -g/DEBUG handling. This logic can go in the Makefile
so that config -g can work the same as: makeoptions DEBUG="-g"


45579 11-Apr-1999 grog

Back out default debug kernel. The flags revert to historical behaviour.

Requested-by: ache
bde
dg

Modify targets for debug kernels: when -g was specified, make will
now build a debug kernel called kernel.debug, and create a stripped
version called kernel at the same time. The two targets install and
install.debug are otherwise unchanged.

Requested-by: dillon

Update man page accordingly.


45545 10-Apr-1999 ache

add -s to usage

PR: 11056
Submitted by: Nickolay N. Dudorov <nnd@mail.nsk.ru>


45523 10-Apr-1999 ache

add -s to synopsis


45427 07-Apr-1999 grog

1. Modify config to issue different code for debugging.
2. Config complains if you use -g:

Debugging is enabled by default, there is no ned to specify the -g option

3. Config warns you if you don't use -s:

Building kernel with full debugging symbols. Do
"config -s BSD" for historic partial symbolic support.
To install the debugging kernel, do make install.debug

(BSD was the name of the config file I used; I print out the same
name).

4. Modify Makefile.i386, Makefile.alpha, Makefile.pc98 and config to
work if a kernel name other than 'kernel' is specified. This is
not absolutely necessary, but useful, and it was relatively easy.
I now have a kernel called /crapshit :-)

5. Modify Makefile.i386, Makefile.alpha, Makefile.pc98 "clean" target
to remove both the debug and normal kernel.

6. Modify all to install the stripped kernel by default and the debug
kernel if you enter "make install.debug".

7. Update version number of Makefiles and config.


45424 07-Apr-1999 grog

1. Modify config to issue different code for debugging.
2. Config complains if you use -g:

Debugging is enabled by default, there is no ned to specify the -g option

3. Config warns you if you don't use -s:

Building kernel with full debugging symbols. Do
"config -s BSD" for historic partial symbolic support.
To install the debugging kernel, do make install.debug

(BSD was the name of the config file I used; I print out the same
name).

4. Modify Makefile.i386, Makefile.alpha, Makefile.pc98 and config to
work if a kernel name other than 'kernel' is specified. This is
not absolutely necessary, but useful, and it was relatively easy.
I now have a kernel called /crapshit :-)

5. Modify Makefile.i386, Makefile.alpha, Makefile.pc98 "clean" target
to remove both the debug and normal kernel.

6. Modify all to install the stripped kernel by default and the debug
kernel if you enter "make install.debug".

7. Update version number of Makefiles and config.


43683 05-Feb-1999 bde

Oops, really don't generate compiler warnings about missing braces.


43682 05-Feb-1999 bde

Don't generate compiler warnings about missing braces.


43591 04-Feb-1999 markm

Fix the handling of certain devices.

Previously the foolowing lines would have broken:
controller fdc0 at isa? disable port ? bio
controller fdc0 at isa? disable port 0x100 bio

While this would work:
controller fdc0 at isa? disable port "IO_FD1" bio

The first of the three lines is useful for making placeholder devices
for PCMCIA-floppies, and the second is useful for non-standard hardware.
The failure is a "(null)" string in ioconf.c that the compiler pukes on.

Thanks to: Bruce Evans (bde@freebsd.org)


41637 10-Dec-1998 archie

Eliminate compiler warning when compiling "config.c" in a kernel.


41176 15-Nov-1998 dfr

* Change 'struct resource' to 'struct config_resource'.
* Bump config version.


40614 23-Oct-1998 bde

Ignore `vector xxxintr' specifications except for checking their syntax.
Interrupt handlers are now configured in drivers.

Didn't update config/SMM.doc. It doesn't have any i386 examples (not
even `isa').

Bumped CONFIGVERS. This is not necessary for -current yet, but using
the new config with old system sources gives null pointers for all
vectors.


40454 16-Oct-1998 bde

Removed unused/unusable "ha" keyword. Device classes should never have
been visible here.

Fixed disordering of keyword table by "cam".


40452 16-Oct-1998 bde

Don't generate unused file ioconf.h.

Didn't bump CONFIGVERS, since ioconf.h was already unused when
CONFIGVERS was last bumped (although essentially the same (CAM)
commit batch that bumped CONFIGVERS also added bogus includes of
ioconf.h).


39357 16-Sep-1998 dfr

Snip out some dead code from the alpha part.


39307 15-Sep-1998 gibbs

Bump config version. Also mention that even after rebuilding a new
config, you may need to resynchronize your config file with syntax
or name changes documented in GENERIC or LINT.


39263 15-Sep-1998 gibbs

Build CAM hardwiring info.


38796 04-Sep-1998 ache

add missing sys/queue.h


38782 03-Sep-1998 nsouch

Reviewed by: Doug Rabson
Submitted by: nsouch
'local' token added to support new bus architecture .c files generated
by .m files.


37811 21-Jul-1998 dfr

Dump out ISA device resources for alpha.


37580 12-Jul-1998 bde

Removed all traces of PARAM in Makefile.i386. Incremented CONFIGVERS
to reflect the dependency of Makefile.i386 on nothing being put in
PARAM.

Config versioning is too closely coupled with the Makefile.i386.


37578 12-Jul-1998 bde

Convert the maxusers directive to a normal MAXUSERS option (normally
define MAXUSERS in opt_param.h as directed in /sys/conf/options;
if it's not mentioned there, then define it in IDENT; never define
it in PARAM). MAXUSERS probably should be a completely normal option.

Don't define PARAM now that it is empty.

Cleaned up similar conversion of cpu directives to XXX_CPU options.


37577 12-Jul-1998 bde

Warn about redefined options. Keep using the last value processed.
Options are processed reverse file order, so the first definition in
the config file wins (except for directives that are converted to
option).


37576 12-Jul-1998 bde

Fixed off-by-1 errors in option line numbers. yyline is 0-based, but
was used as if it is 1-based. This happened to give the correct result
for options without values because of a compensating error in newline
lexing. Didn't fix the latter, so line numbers in yyerror() may still
be 1 too high in some cases.


37129 24-Jun-1998 jkh

MF22: more explanatory message from config on version mismatch detection.


37035 17-Jun-1998 bde

Don't generate declarations for isa device structs in "ioconf.h".

Don't generate declarations for isa interrupt handlers at all.
Isa interrupt handlers are now declared in <i386/isa/isa_device.h>
but should be converted take a `void *' arg and staticized as
soon as possible.

Updated CONFIGVERS. New configs are very incompatible with
previous versions.


36813 09-Jun-1998 dfr

Add (mostly stub) alpha support. Incidentally, it doesn't build on stable
unless I manually construct y.tab.h. Is this normal?


35782 06-May-1998 bde

Backed out previous backout. Put y.tab.h back in SRCS.


35737 05-May-1998 bde

Backed out previous commit. It was tested, but not for the case where
a separate object tree doesn't exist. Crufty makefiles will have to
put y.tab.h in SRCS so that we know not to create foo.h from foo.y.


35708 04-May-1998 bde

Fixed races in `make -jN' using new yacc rules.


35609 02-May-1998 kato

Support PC-98 machine.


35403 23-Apr-1998 bde

Don't generate code with syntax errors (hard newlines in string constants
in config.c).


34997 02-Apr-1998 eivind

Scaffolding for High Availability code. The actual code will probably
come tomorrow.

Submitted by: Simon Shapiro <shimon@simon-shapiro.org>


34620 16-Mar-1998 eivind

Add message when using obsolete command line option.

Suggested by: joerg


34619 16-Mar-1998 eivind

Style & message change.

Submitted by: bde


34134 06-Mar-1998 bde

Fixed `make -jN' for large N, as usual.


33598 19-Feb-1998 eivind

Style police service brought to you by: bde


33597 19-Feb-1998 eivind

Re-introduce '-n' - now a no-op for backwards compatibility only.

Requested by: David Quattlebaum <sasdrq@unx.sas.com>


33538 18-Feb-1998 eivind

Make '-n' the default, and introduce a new flag '-r' to get old
behaviour. Also indicate which option(s) are unknown if there are any
old-style options.


33196 09-Feb-1998 eivind

All our options are new-style now - enable the warning if unrecognized
(that is, old-style) options are found.


31216 18-Nov-1997 jdp

Fix incorrect format string detected by "-Wformat".


31001 07-Nov-1997 joerg

Fix some breakage from my last set of changes.

PR: bin/4892
Submitted by: Vasim Valejev <vasim@uddias.diaspro.com>


30977 06-Nov-1997 msmith

Bump configvers to 300003 to account for the crd->card (and related)
namespace changes.


30796 28-Oct-1997 joerg

Allow for a keyword in the "files" file named "mandatory". The first
candidate for this is "npx0", more are likely to follow.

Check for pseudo-devices that are being configured, but don't appear
in any "files" file. The ``pseudo-device bpf 2'' already hit me too
often.


30639 22-Oct-1997 peter

For safety's sake, explicitly depend all objects on the configvers.h header
to make sure that it's all recompiled even if there is no 'make depend'.
This is overkill, but should be one less thing that someone can do wrong.


30638 22-Oct-1997 peter

Recognize a %VERSREQ=nnnnn string in the system Makefile. Both config(8)
and the kernel will have a 'config interface version number'. If an
incompatable change is made to the kernel that requires a rebuild of
config(8) (such as the cam devtab stuff), then the version number would be
bumped in both places. If a user neglects to rebuild config, then they
will get a nagging (but non-fatal) warning that they need to rebuild
config.


29687 21-Sep-1997 gibbs

Add isa_devtab_cam.


29525 17-Sep-1997 charnier

Wrap too long lines.
Requested by: Bruce.


29493 16-Sep-1997 charnier

Police from style.9 and Bruce.


29451 15-Sep-1997 charnier

Use err(3), add usage(). -Wall clean.


29198 07-Sep-1997 bde

Oops, the previous commit shouldn't have touch the Makefile.


29193 07-Sep-1997 bde

Don't say that swapping is configured by config.


24428 31-Mar-1997 imp

compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.


24376 29-Mar-1997 peter

Reserve a placeholder for 4 SMP ipi interrupts in the same way that
it's done for pci. This is so that systat and vmstat can get at the
interrupt counts for the Inter-Processor Interrupts when running a smp
kernel. This doesn't affect the normal kernel, but makes life easier for
the smp people who don't have to track two versions of config.


24333 28-Mar-1997 ache

Remove support for "port none" and "port auto", it gains nothing,
non-standard and not used. "port auto" is equal to "port?" or missing "port"
keyword now. "port none" is really probe routine task (return -1 for
no ports).


24287 26-Mar-1997 ache

Add #define's for port "none" and "auto"
Now port ommiting is equal to port "none" not to port 0


24234 25-Mar-1997 ache

Print negative values only for two cases used
in config for iobase: -1 (auto) and -2 (none)
Other values are printed as big port numbers


24228 25-Mar-1997 ache

Fix iobase printing for autodetect and none cases
(negative numbers was printed as very big ports)


21786 16-Jan-1997 alex

Sweep through the tree fixing mmap() usage:

- Use MAP_FAILED instead of the constant -1 to indicate
failure (required by POSIX).
- Removed flag arguments of '0' (required by POSIX).
- Fixed code which expected an error return of 0.
- Fixed code which thought any address with the high bit set
was an error.
- Check for failure where no checks were present.

Discussed with: bde


20940 26-Dec-1996 peter

Tidy up the generated config.c file. Use #include "opt_config.h", comment
out text after #endif line, add missing \n at end of file, only install new
config.c if it's different to the last one which preserves the timestamp.


20458 14-Dec-1996 joerg

Part #2 of the config cleanup. More aggressive, replaced an NIH
version of strdup() by a macro, killed many calls to strdup(), thus
potentially wasting less malloc'ed space (their args were never be
free()ed desptie despite of being malloc'ed). Probably still a huge
memory leak at all... Also killed two totally useless variables.

I've tested it as i could, but wouldn't be surprised if unexpected
problems showed up. So watch out this space!


20457 14-Dec-1996 joerg

Round #1 of cleaning up the config(8) mess. This is only the more
conservative part of the tidyup, like fixing potential buffer overflow
conditions. It is believed to be safe to go into 2.2.

Pointed out by: lozenko@cc.acnit.ac.ru (Evgeny A. Lozenko)


20395 13-Dec-1996 bde

Moved nonstandard compiler profiling options out of config. Just print
the profiling level in config and decide what to do in makefiles.

Makefile.i386:
Align functions to 16-byte boundaries if profiling is enabled. This
will allow a fourfold reduction in the size of the profiling buffers.


17744 21-Aug-1996 ache

Bugfix: all device counts >= 256 was broken, they truncated by % 255
because of u_char count field size. It hits when device
header file already present.


16239 08-Jun-1996 jkh

Bring back the `config file in the kernel' feature from the 1.x days. This
is conditionalized by the INCLUDE_CONFIG_FILE option in your kernel config
file and is not turned on by default.

Submitted-By: Bill Pechter <pechter@shell.monmouth.com>


16073 02-Jun-1996 phk

Backout yacc changes.


16023 30-May-1996 phk

yacc rule changes.


15257 13-Apr-1996 bde

Implemented a new keyword `disable'. This should be useful for controlling
dangerous drivers in GENERIC.

Removed non-comments on #endifs in config.y.

Improved output formatting in mkioconf.c.


14920 29-Mar-1996 bde

Count PCI irqs in up to 4 ISAish counters named `pci irqnn' instead of
in the clk0 counter.

Reviewed by: se


13400 12-Jan-1996 peter

Make a little more effort to avoid touching certain generated files if
they were not changed. This makes 'make depend' more useful.


13109 29-Dec-1995 dg

Changed the default/min/max number of users to 8/2/512 for all machine
types. This is closer to the reality of reasonable values.


13107 29-Dec-1995 bde

Implemented non-statistical kernel profiling. This is based on
looking at a high resolution clock for each of the following events:
function call, function return, interrupt entry, interrupt exit,
and interesting branches. The differences between the times of
these events are added at appropriate places in a ordinary histogram
(as if very fast statistical profiling sampled the pc at those
places) so that ordinary gprof can be used to analyze the times.

gmon.h:
Histogram counters need to be 4 bytes for microsecond resolutions.
They will need to be larger for the 586 clock.
The comments were vax-centric and wrong even on vaxes. Does anyone
disagree?

gprof4.c:
The standard gprof should support counters of all integral sizes
and the size of the counter should be in the gmon header. This
hack will do until then. (Use gprof4 -u to examine the results
of non-statistical profiling.)

config/*:
Non-statistical profiling is configured with `config -pp'.
`config -p' still gives ordinary profiling.

kgmon/*:
Non-statistical profiling is enabled with `kgmon -B'. `kgmon -b'
still enables ordinary profiling (and distables non-statistical
profiling) if non-statistical profiling is configured.


12772 11-Dec-1995 peter

Implement support for conf/options and i386/conf/options.i386
Note that this code is dormant unless the options files exist.
Also, parsing of quoted options in the config files is improved.

What this allows, is all the options in LINT to be specified to be
configured as #defines in a file rather than on the CC command line at
kernel build time. This means that 'make depend' will catch dependencies
on actual *options*, meaning that you can run 'config' and 'make depend'
in complete safety WITHOUT removing the compile directory each time.

Unfortunately, this requires a pass over the source to get the individual
files to #include the new .h files that would be generated by config.
This has a small compile time penalty (appears up to about 2% slower)
from a "fresh" build. Of course, you should not be needing to do complete
rebuilds very often once this was completed, so it would be an overall
win for most people.

Since this code is dormant and we've got a lot of other things happening
on the kernel tree at the moment (prototypes, devfs, static declarations
etc) I am not planning on doing any changes to activate this feature just
yet.


12508 28-Nov-1995 wollman

If CONFIG_NO_CLOBBER_EVER is defined (e.g., in /etc/make.conf), don't make
it possible for config to ever blow away a work directory. Default behavior
remains broken.


11959 31-Oct-1995 joerg

Support the configuration of "od" devices.

Submitted by: akiyama@kme.mei.co.jp (Shunsuke Akiyama)


11917 29-Oct-1995 dg

Added support for a %SFILES token to auto-generate a SFILES= file list in
the same way that is done for CFILES. Files ending in .s or .S that match
the option criteria will be included in this list.


11711 23-Oct-1995 dg

Don't pre-processor define 'ident'. This has subtle consequences for people
who don't carefully consider their choice for the machine name. The same
functionality can still be had with an "option", so nothing is lost.


11053 28-Sep-1995 bde

Fix CLEANFILES. Some temporary files were missing.


10909 19-Sep-1995 bde

Put declarations in a header file ("ioconf.h")

Generate prototypes for SCSI functions and function pointers.

Fix redundant declarations of interrupt handlers.

Generate 4.4-style includes (<> instead of "").

Clean up formatting of both the source and the output a bit.


9574 18-Jul-1995 gibbs

Add missing quote to yyerror call.


9571 17-Jul-1995 gibbs

Allow the specification of the controller bus when wiring down scsi buses.
This is performed by using a line similar to:

controller scbus0 at ahc0 bus 1

to wire scbus0 to the second bus on an adaptec 2742T controller.

Reviewed by: Peter Dufault(dufault@hda.com), Rod Grimes(rgrimes@FreeBSD.org)


9370 29-Jun-1995 dg

Killed TIMEZONE, DST, and HZ keywords. They have generated a config error
for more than a year now. They've been replaced with userland methods for
changing (see adjkerntz).


8857 30-May-1995 rgrimes

Remove trailing whitespace.


8520 14-May-1995 rgrimes

Fix 3 printf's that had the wrong number of arguments.
Submitted by: gibbs


8506 14-May-1995 dg

Updated to work with Poul-Henning's recent kernel changes in the swap
device table layout...basically, don't output the cruft anymore - it
is now dynamic.

Reviewed by: John Dyson and David Greenman
Submitted by: Poul-Henning Kamp


8480 12-May-1995 wollman

Don't automatically default dumps to be on a swap device; if the user
wants dumps, he can either configure it explicitly (`dumps on' whatever) or
use the dumpon(8) utility.


8450 11-May-1995 jkh

Revise this to actually print all the various isa_device field values
it really should have been printing all this time. Also fix my rather
bogus handling of the id_conflicts value by moving it to the end of
isa_device and dealing with that correctly now.


8432 11-May-1995 jkh

Add a new `conflicts' flag for telling when a device is in conflict with
others. The flag can be put in descriptive locations, e.g.:

device sb0 at isa? port 0x220 irq 7 conflicts drq 1 vector sbintr
or
device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr

But is nonetheless boolean only. You can't turn conflict checking off for
only a given type of conflict. I didn't deem it worth the trouble at this
stage, and it's far better than the ALLOW_CONFLICT_* that preceeded it.


8248 03-May-1995 jkh

Change the perennially annoying reminder to "make depend" (which may or
may not be desired if you're just going to blow the kernel away again later)
and substitute one that tells the user where the new kernel build
directory actually IS, which can at least be argued to be useful information
in all cases.
Reviewed by: davidg


6941 07-Mar-1995 dufault

Change warning message for when a device is wired to a floating
host adapter to something hopefully clearer. Take into account
that "wnum()" writes into a static buffer in the warning.


6860 03-Mar-1995 dufault

Fixed bug with wiring down given SCSI bus.


6814 01-Mar-1995 dufault

Added configuration for SCSI devices wired in place. The documentation
is in "man 4 scsi".


6803 01-Mar-1995 gibbs

Implement "clean" entries for device config entries.

Submitted by: Pointed out by Bruce Evans <bde@zeta.org.au>


6631 22-Feb-1995 jkh

Make good on my promise to finally clean up the config clobbering.
If you invoke config with the `-n' flag or have NO_CONFIG_CLOBBER in
your environment, config will behave the same way it used to. This is
now _documented_ as well. Rip out all the CONFIG_DONT_CLOBBER cruft;
some of it wasn't even correct anyway.


6550 18-Feb-1995 bde

Write setconf() in KNF, in K&R C, and in Standard C.Standard C.


6547 18-Feb-1995 wpaul

Do away with 'options SWAP_GENERIC' once and for all: I get ill
just thinking about it.

Two changes need to be made to allow 'config kernel swap generic' to
work properly without requiring any compile-time flags:

/usr/src/usr.sbin/config/mkswapconf.c: we need to define a dummy stub
for the setconf() function to replace the one in swapgeneric.c that
isn't available in non-generic configurations.

/usr/src/sys/i386/i386/autoconf.c: the -a boot flag causes setroot()
to be skipped and lets setconf() prompt the user for a root device.
If you skip setroot() in a non-generic kernel, you could get severely
hosed. To avoid this, we silently ignore the -a flag if rootdev != NODEV.
(rootdev is always initialized to NODEV in swapgeneric.c, so if
we find that rootdev is something other than NODEV, we know we're
not using a generic configuration.)


6497 16-Feb-1995 bde

config.y:
Support slice numbers in device names. The syntax is `<driver name>
[<unit number>] ['s' <slice number>] [<partition letter>]'. Only
`['s' <slice number>]' is new here. The slice number defaults to 0
so that there is no change in the output from config if this new
feature is not used.

Replace some magic disk numbers by `dk' slice and label macros.

mkswapconf.c:
Improve the output formatting:
Generate <> style includes.
Print minor numbers in hex so that slice numbers are easy to see and edit.
Print the rootdev and dumpdev names in comments like the swapdev names.


6494 16-Feb-1995 bde

Always return null-terminated identifiers from yylex().


6244 08-Feb-1995 bde

Restore the field widths that were clobbered by the previous commit so that
the columns in ioconf.c line up if there are no long names.


6205 05-Feb-1995 phk

Removed the name length limitations on the device-driver names entirely.
Now device-names can be more than 3 chars.


5613 14-Jan-1995 wollman

Fix Sharnoff complaint #121 (cross-reference to config.new which does not
exist on the i386 platform).


5325 31-Dec-1994 gibbs

Allow config to fully handle the aic7770 driver dependancies.


5008 06-Dec-1994 bde

Finish removing `#ifdef STATCLOCK'. Not removing it properly here
probably broke (only) the association of interrupts with strings
in vmstat output.


4841 27-Nov-1994 bde

Remove ifdef for STATCLOCK. STATCLOCK is standard.


4791 23-Nov-1994 wollman

Don't core on ``root on qq0 and fx0 and yy0'' specifications; just
take the first one and ignore all the rest, giving a warning message.
Fixes PR #3.


4698 20-Nov-1994 ats

Put a simple algorithmus in there that checks the last generated prototype
for ioconf.c with the current and suppress the generation if they are
equal. This now prevents all the warnings from the c-compiler about
sio or snd or two adaptecs. This works only if the sio lines are grouped
together in the config files, but it is better than nothing.


4571 17-Nov-1994 gibbs

Add new keywords to config. The options availible in file.i386 are now:

/*
* filename [ standard | optional ] [ config-dependent ]
* [ dev* | profiling-routine ] [ device-driver] [ no-obj ]
* [ compile-with "compile rule" [no-implicit-rule] ]
* [ dependancy "dependancy-list"]
*/

I added

no-obj - This entry does not create anything linkable to the kernel.
dependancy - Add additional dependancy rules to a target.
no-implicit-rule - Don't assume .c -> .o type rules. Config is really
dumb in this area and assumes that everything is a .c file
irregarless of extention. This was the best choice really
since there may even be .c file that you don't want to follow
the standard rules.

This was all done so that the building to the aic7770 assembler and using
the aic7770 assembler in the building of the aic7770 driver could be config
dependant. I can now have an entry like this for the driver:

aic7770 optional ahc device-driver \
compile-with "${CC} $> -o $@" \
dependancy "$S/gnu/misc/aic7770/aic7770.c" \
no-obj no-implicit-rule
aic7770_seq.h optional ahc device-driver \
compile-with "${.CURDIR}/aic7770 -o $@ $S/gnu/misc/aic7770/aic7770.seq"\
dependancy "$S/gnu/misc/aic7770/aic7770.seq aic7770" \
no-obj no-implicit-rule
i386/isa/aic7770.c optional ahc device-driver \
dependancy "aic7770_seq.h"

I also added '\' escaping to newlines so that this doesn't look as gross as
it could have.

Reviewed by: jkh


4242 07-Nov-1994 wollman

Treat formfeeds like any other whitespace.


4117 03-Nov-1994 dg

Don't include map.h - it's been obsoleted.


4112 03-Nov-1994 jkh

Whoops - one two many zeros in the initializer. This should have everybody
enabled by default now.


4110 03-Nov-1994 jkh

Changes to initialize the id_enabled flag to 1.
Also initialize some fields that were never initialized before, and
simply defaulted to 0. I've never looked at this code before, now
I know why. Config needs to die. Horribly.


3691 18-Oct-1994 phk

Added a slot in the swap-dev-table for NFS-diskless to abuse.


2567 08-Sep-1994 jkh

Undo the damage done to my previous changes. Whoever added the
conditional did it backwards, thus flipping the behavior back off
again by default (and only re-enableable through a very counter-intuitive
option setting!). I'm glad I caught this and would merely like to state
again for the record that if you're going to go and modify my changes then
you should at least:

1. Do it correctly, since to do otherwise is kind of a slap in the
face.

2. TELL me.

This is not me just being compulsive, this is simple courtesy.
I'm speaking just of my own preferences here, not necessarily trying
to impose my standards on the group at large (e.g. some other folks might
not even care).
Submitted by: jkh


2525 06-Sep-1994 wollman

Revert back to old config behavior if compiled with -DCONFIG_DONT_CLOBBER.


2483 03-Sep-1994 jkh

Eradicate my #1 (ok, maybe #2) peeve by making config now blow away
and recreate any previous ../../compile/<blah> directory before laying
down new files. The depends just aren't smart enough to save
us from the grief that config's old behavior has always caused.
Submitted by: jkh


2105 18-Aug-1994 dg

Oops...forgot to list the changes....

/usr/src/usr.sbin.config:
o -DSTATCLOCK gives kludges to support the rtc non-device as well as
old kludges to support the clk non-device.

/usr/src/usr.sbin/config.8:
o Document the trivialness of the new vector.h.

/usr/src/usr.sbin/mkglue.c:
o Only print DEVICE_NAMES and NR_DEVICES in vector.h. These are
only required to support vmstat. The vmstat interface will need
to be improved for dynamic loading.

/usr/src/usr.sbin/mkioconf.c:
o Print device ids to be used as indexes into DEVICE_NAMES.
o Print secondary interrupt handler entry points (xxxintr()) instead
of primary ones (VdevU()). Primary ones are now XintrI() and
XfastintrI() and are independent of the config so they are not
handled here.
o Minor cleanups.

Submitted by: Bruce Evans


2104 18-Aug-1994 dg

Support for Bruce Evans' new dynamic interrupt support.

Submitted by: Bruce Evans


2073 15-Aug-1994 wollman

Generate vector.h line for statclock. (See next commit for details.)


1973 09-Aug-1994 dg

Now that the timezone specification is no longer allowed, don't issue a
warning that it is missing.


1949 08-Aug-1994 wollman

Disallow timezone specification, but still allow it to be present
if it is zero (so that we can parse old config files).


1856 05-Aug-1994 dg

Converted 'vmunix' to 'kernel'.


1566 26-May-1994 rgrimes

Upgrade config to be compatible with our i386 port, pull in 95% of the
changes that have been made in FreeBSD 1.x, except for possibly the nfs
diskless support this is a completed config.


1554 26-May-1994 rgrimes

This commit was generated by cvs2svn to compensate for changes in r1553,
which included commits to RCS files with non-trunk default branches.