History log of /freebsd-current/usr.sbin/config/configvers.h
Revision Date Author Comments
# b3e76948 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


# 5dda1d0b 28-Apr-2020 Bryan Drewery <bdrewery@FreeBSD.org>

config: Add no-ctfconvert support.

Bump CONFIGVERS to 600018 for this support.

Some files may purposely have debug info disabled or are *source files*
that attempt to run ctfconvert on them. Currently ctfconvert ignores
these errors but I have a change to make the errors real so we can
catch real problems like exceeding type limits.

Sponsored by: Dell EMC
Reviewed by: imp, cem, kevans
Differential Revision: https://reviews.freebsd.org/D24535


# 6e773df6 23-Feb-2020 Warner Losh <imp@FreeBSD.org>

Bump CONFIGVERS to 600017.

This change reflects the ability to change machine_arch in a config file. This
is useful for including one config in another and changing the machine_arch
in the second one.


# 8e62839e 17-Jul-2018 Kyle Evans <kevans@FreeBSD.org>

config(8): Add compatibility shims for r335998

Plumb the %VERSREQ from Makefile.<arch> through to the rest of config(8).
We've recorded the config(8) version that we're calling "the end of
envmode and hintmode," and we'll write them out for earlier versions. Later
kernel version bumps will remove envmode/hintmode from the kernel as needed,
which is OK since the current kernel does not use them at all.

These compatibility shims really need to go away when the major version
rolls over...

Discussed with: imp


# e47edf50 17-Jul-2018 Kyle Evans <kevans@FreeBSD.org>

Revert r336353 completely based on protest; compatibility shims incoming


# 2df45ae0 16-Jul-2018 Kyle Evans <kevans@FreeBSD.org>

config(8): Bump major version after r335998

config-generated hints.c/env.c from r335998 and later are incompatible with
earlier kernels due to no longer setting envmode/hintmode. A minor bump for
this is insufficient, as matching major version with a later minor version
is still viewed as backwards-compatible.

This was an MI kernel change, soo all VERSREQ's are bumped.


# 1bf59a71 17-Nov-2017 Bryan Drewery <bdrewery@FreeBSD.org>

Fix 'local' to not look in the source tree for the file.

Usually 'local' is used along with other rules such as 'no-implicit-rule' or
'dependency' which avoids this problem. It's possible to need to use 'local'
while relying on the default rules though for a file which is not in the source
tree nor generated in the kernel.

Sponsored by: Dell
Differential Revision: https://reviews.freebsd.org/D13125


# 7cd27e63 23-Jan-2015 Will Andrews <will@FreeBSD.org>

Bump config(8) minor version for r277567.

Config files built using this version that take advantage of the bugfix
won't be buildable using older config(8).

Submitted by: imp
MFC after: 1 week
MFC with: 277567


# ff9aeb4c 04-Feb-2014 Warner Losh <imp@FreeBSD.org>

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.


# be1d53ac 10-Feb-2011 Warner Losh <imp@FreeBSD.org>

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


# b1ce21c6 09-Nov-2010 Rebecca Cran <brucec@FreeBSD.org>

Fix typos.

PR: bin/148894
Submitted by: olgeni


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# 2d808439 15-Aug-2010 Warner Losh <imp@FreeBSD.org>

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


# 9b047d4a 12-Jul-2010 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

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


# 0f2b463a 02-May-2010 Warner Losh <imp@FreeBSD.org>

MFC r207263:

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.


# 012ead2f 26-Apr-2010 Warner Losh <imp@FreeBSD.org>

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


# e5b0d015 25-Apr-2010 Warner Losh <imp@FreeBSD.org>

MFC r206915

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


# bd34cda6 20-Apr-2010 Warner Losh <imp@FreeBSD.org>

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


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# 2880daeb 22-Nov-2008 Andrew Thompson <thompsa@FreeBSD.org>

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.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 9e2f7513 12-May-2007 Wojciech A. Koszek <wkoszek@FreeBSD.org>

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)


# d9fb65c8 01-Oct-2006 Ruslan Ermilov <ru@FreeBSD.org>

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.


# d5e0beb4 02-Feb-2006 Warner Losh <imp@FreeBSD.org>

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.


# ae54f561 28-Nov-2005 Warner Losh <imp@FreeBSD.org>

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@


# a8e06f2a 27-Nov-2005 Ruslan Ermilov <ru@FreeBSD.org>

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


# 5baadf21 07-Nov-2005 Robert Watson <rwatson@FreeBSD.org>

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


# 634e3a5c 07-Nov-2005 Peter Wemm <peter@FreeBSD.org>

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.


# 6383e226 03-Nov-2005 Warner Losh <imp@FreeBSD.org>

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.


# acd58322 03-Nov-2005 Ruslan Ermilov <ru@FreeBSD.org>

Implement the "nocpu" directive.

Requested by: rwatson


# b34b3c19 27-Oct-2005 John Baldwin <jhb@FreeBSD.org>

Bump config(8) version for the DEFAULTS change.


# 51c1297a 01-Apr-2005 Warner Losh <imp@FreeBSD.org>

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@


# f5c4f5a5 10-Feb-2005 Dag-Erling Smørgrav <des@FreeBSD.org>

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


# f37a929c 30-Aug-2004 Peter Wemm <peter@FreeBSD.org>

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.


# 43a903c0 09-May-2004 Olivier Houchard <cognet@FreeBSD.org>

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.


# 18b492fc 15-Apr-2003 Poul-Henning Kamp <phk@FreeBSD.org>

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.


# 83655698 13-Jul-2002 Bruce Evans <bde@FreeBSD.org>

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.


# 7a2eb19d 20-Feb-2002 Peter Wemm <peter@FreeBSD.org>

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.


# f99afbb9 14-Dec-2001 Peter Wemm <peter@FreeBSD.org>

Bump configvers for different handling of maxusers.


# 76cb0cad 26-Aug-2001 Peter Wemm <peter@FreeBSD.org>

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


# a3d1987d 01-Jul-2001 Warner Losh <imp@FreeBSD.org>

Bump config version in config.


# 10ca19cf 18-Jan-2001 Peter Wemm <peter@FreeBSD.org>

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.


# 3f964411 24-Nov-2000 Peter Wemm <peter@FreeBSD.org>

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


# 41291607 14-Oct-2000 Poul-Henning Kamp <phk@FreeBSD.org>

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

Do so for LINT.


# 596feda5 25-Aug-2000 Peter Wemm <peter@FreeBSD.org>

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.


# f71c01cc 13-Jun-2000 Peter Wemm <peter@FreeBSD.org>

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


# 3f664fc6 10-Jun-2000 Peter Wemm <peter@FreeBSD.org>

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.


# d67724c7 23-Jan-2000 Philippe Charnier <charnier@FreeBSD.org>

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


# 18ecdacc 22-Jan-2000 Peter Wemm <peter@FreeBSD.org>

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


# 58fa7951 09-Jan-2000 Peter Wemm <peter@FreeBSD.org>

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.


# 97d92980 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# 3e624da0 09-May-1999 Peter Wemm <peter@FreeBSD.org>

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


# bb4d5614 09-May-1999 Poul-Henning Kamp <phk@FreeBSD.org>

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

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


# 061eb3ab 24-Apr-1999 Peter Wemm <peter@FreeBSD.org>

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


# 2c431191 16-Apr-1999 Peter Wemm <peter@FreeBSD.org>

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


# e05da2e9 15-Apr-1999 Bruce Evans <bde@FreeBSD.org>

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.


# b282e6c1 13-Apr-1999 Peter Wemm <peter@FreeBSD.org>

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"


# 84676b86 07-Apr-1999 Greg Lehey <grog@FreeBSD.org>

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.


# 2f2dcad4 15-Nov-1998 Doug Rabson <dfr@FreeBSD.org>

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


# 4af4007d 23-Oct-1998 Bruce Evans <bde@FreeBSD.org>

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.


# 2f8aad8b 15-Sep-1998 Justin T. Gibbs <gibbs@FreeBSD.org>

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.


# 8d8b289a 03-Sep-1998 Nicolas Souchu <nsouch@FreeBSD.org>

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


# 784c3c34 12-Jul-1998 Bruce Evans <bde@FreeBSD.org>

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.


# afafca8b 17-Jun-1998 Bruce Evans <bde@FreeBSD.org>

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.


# 41631559 05-Nov-1997 Mike Smith <msmith@FreeBSD.org>

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


# 463fb43b 21-Oct-1997 Peter Wemm <peter@FreeBSD.org>

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.