#
8a7b6120 |
|
23-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
usr.sbin: Remove ancient SCCS tags. Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script. Sponsored by: Netflix
|
#
42b38843 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .h pattern Remove /^\s*\*+\s*\$FreeBSD\$.*$\n/
|
#
83d7ed8a |
|
08-Feb-2023 |
Kyle Evans <kevans@FreeBSD.org> |
config: drop dependency on libsbuf Use an std::stringstream instead. get_word() and get_quoted_word() both return a buffer that's presumed to not need release, so solve this by returning a new special configword type that holds a string or eof/eol state. This cleans up caller checking for EOF/EOL to make it more explicit what they're doing, at least in the EOL cases which previously checked for NULL. Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D38276
|
#
2ffdc213 |
|
07-Feb-2023 |
Kyle Evans <kevans@FreeBSD.org> |
config: make changes to allow some parts to build as C++ Highlights: - Avoid keywords (this, not) as variable names - Move yyparse into config.h with other declarations - All declarations in config.h are assumed guilty until proven innocent - Some const-correctness - Casting malloc/calloc returns Note that we're not building any C++ here yet, this will be introduced in other commits to replace some of the lib dependencies. Reducing the number of FreeBSD-specific dependencies we have reduces some friction for building our bootstrap tools independently in other environments. Reviewed by: imp Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D38274
|
#
69efe369 |
|
31-Mar-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
config(8): remove support for -p and other equivalent ways to request mcount-based profiling, like 'profile N' in kernel config. Reviewed by: jhb Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D29529
|
#
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
|
#
a33e9864 |
|
27-Mar-2020 |
Kyle Evans <kevans@FreeBSD.org> |
config(8): fixes for -fno-common Move this handful of definitions into main.c, properly declare these as extern in config.h. This fixes the config(8) build with -fno-common. Unexplained in my previous commit to gas, -fno-common will become the default in GCC10 and LLVM11, so it's worth addressing these in advance. MFC after: 3 days
|
#
91221f54 |
|
16-Apr-2019 |
Emmanuel Vadot <manu@FreeBSD.org> |
config: Only warn if duplicate option/device comes from the same file This is useful for arm (possibly other arches too) where we want to have a GENERIC kernel that only include files for the different SoC. Since multiple SoCs/Board needs the same device we would need to do either : Include the device in a generic file Include the device in each file that really needs it Option 1 works but if someone wants to create a specific kernel config (which isn't uncommon for embedded system), he will need to add a lots of nodevice to it. Option 2 also works but produce a lots of warnings. Reviewed by: kevans MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D19424
|
#
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
|
#
39d44f7f |
|
05-Jul-2018 |
Kyle Evans <kevans@FreeBSD.org> |
kern_environment: use any provided environments, evict hintmode/envmode At the moment, hintmode and envmode are used to indicate whether static hints or static env have been provided in the kernel config(5) and the static versions are mutually exclusive with loader(8)-provided environment. hintmode *can* be reconfigured later to pull from the dynamic environment, thus taking advantage of the loader(8) or post-kmem environment setting. This changeset fixes both problems at once to move us from a semi-confusing state to a consistent state: if an environment file, hints file, or loader(8) environment are provided, we use them in a well-known order of precedence: - loader(8) environment - static environment - static hints file Once the dynamic environment is setup this becomes a moot point. The loader(8) and static environments are merged (respecting the above order of precedence), and the static hints are merged in on an as-needed basis after the dynamic environment has been setup. Hints lookup are changed to respect all of the above. Before the dynamic environment is setup, lookups use the above-mentioned order and fallback to the next environment if a matching hint is not found. Once the dynamic environment is setup, that is used on its own since it captures all of the above information plus any dynamic kenv settings that came up later in boot. The following tangentially related changes were made to res_find: - A hintp cookie is now passed in so that related searches continue using the chain of environments (or dynamic environment) without relying on global state - All three environments will be searched if they actually have valid hints to use, rather than just choosing the first environment that actually had a hint and rolling with that only The hintmode sysctl has been ripped out. static_{env,hints}.disabled are still honored and will disable their respective environments from being used for hint lookups and from being merged into the dynamic environment, as expected. MFC after: 1 month (maybe) Differential Revision: https://reviews.freebsd.org/D15953
|
#
e2868734 |
|
05-Jul-2018 |
Kyle Evans <kevans@FreeBSD.org> |
Revert r335995 due to accidental changes snuck in
|
#
8ef58863 |
|
05-Jul-2018 |
Kyle Evans <kevans@FreeBSD.org> |
kern_environment: use any provided environments, evict hintmode/envmode At the moment, hintmode and envmode are used to indicate whether static hints or static env have been provided in the kernel config(5) and the static versions are mutually exclusive with loader(8)-provided environment. hintmode *can* be reconfigured later to pull from the dynamic environment, thus taking advantage of the loader(8) or post-kmem environment setting. This changeset fixes both problems at once to move us from a semi-confusing state to a consistent state: if an environment file, hints file, or loader(8) environment are provided, we use them in a well-known order of precedence: - loader(8) environment - static environment - static hints file Once the dynamic environment is setup this becomes a moot point. The loader(8) and static environments are merged (respecting the above order of precedence), and the static hints are merged in on an as-needed basis after the dynamic environment has been setup. Hints lookup are changed to respect all of the above. Before the dynamic environment is setup, lookups use the above-mentioned order and fallback to the next environment if a matching hint is not found. Once the dynamic environment is setup, that is used on its own since it captures all of the above information plus any dynamic kenv settings that came up later in boot. The following tangentially related changes were made to res_find: - A hintp cookie is now passed in so that related searches continue using the chain of environments (or dynamic environment) without relying on global state - All three environments will be searched if they actually have valid hints to use, rather than just choosing the first environment that actually had a hint and rolling with that only The hintmode sysctl has been ripped out. static_{env,hints}.disabled are still honored and will disable their respective environments from being used for hint lookups and from being merged into the dynamic environment, as expected. MFC after: 1 month (maybe) Differential Revision: https://reviews.freebsd.org/D15953
|
#
4edfa908 |
|
25-Jun-2018 |
Kyle Evans <kevans@FreeBSD.org> |
config(8): Make 'env' files consistent with other file-accepting options Previously, only one 'env' file could be specified. Later 'env' directives would overwrite earlier 'env' directives. This is inconsistent with every other file-accepting directives which process files in order, including hints. A caveat applies to both hints and env that isn't mentioned: they're concatenated in the order of appearance, so they're not actually applied in the way one might think by supplying: hints x hints y Hints in x will take precedence over same-name hints in y due to how the kernel processes them, stopping at the first line that matches the hint we're searching for. Future work will flip the order of concatenation so that later files may still properly override earlier files. In practice, this likely doesn't matter at all due to the nature of the beast.
|
#
3b31596d |
|
25-Jun-2018 |
Kyle Evans <kevans@FreeBSD.org> |
config(8): Add `envvar` support envvar allows adding individual environment variables to the kernel's static environment without the overhead of pulling in a full file. envvar in a config looks like: envvar some_var=5 All envvar-provided variables will be added after the env file is processed, so envvar keys that exist in the previous env will be overwritten by whatever value is set here in the kernel configuration directly. As an aside, envvar lines are intentionally tokenized differently from basically every other line. We used a named state when ENVVAR is encountered to gobble up the rest of the line, which will later be cleaned and validated in post-processing by sanitize_envline. This turns out to be the simplest and cleanest way to allow the flexibility that kenv does while not compromising on silly hacks. Reviewed by: ian (also contributor of sanitize_envline rewrite) MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D15962
|
#
8a16b7a1 |
|
20-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
General further adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 3-Clause license. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Special thanks to Wind River for providing access to "The Duke of Highlander" tool: an older (2014) run over FreeBSD tree was useful as a starting point.
|
#
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
|
#
cc5cd332 |
|
27-Sep-2017 |
Nick Hibma <n_hibma@FreeBSD.org> |
Typo in filename in comment.
|
#
fbbd9655 |
|
28-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Renumber copyright clause 4 Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is too pedantic, so give up on that point. Submitted by: Jan Schaumann <jschauma@stevens.edu> Pull Request: https://github.com/freebsd/freebsd/pull/96
|
#
463a577b |
|
20-Oct-2015 |
Eitan Adler <eadler@FreeBSD.org> |
Fix a ton of speelling errors arc lint is helpful Reviewed By: allanjude, wblock, #manpages, chris@bsdjunk.com Differential Revision: https://reviews.freebsd.org/D3337
|
#
ae094461 |
|
20-Mar-2014 |
Alan Somers <asomers@FreeBSD.org> |
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). PR: kern/187712 Reviewed by: will, imp (previous version) MFC after: 3 weeks Sponsored by: Spectra Logic Corporation
|
#
5e2a209a |
|
22-May-2012 |
Baptiste Daroussin <bapt@FreeBSD.org> |
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)
|
#
e4cd31dd |
|
21-Mar-2011 |
Jeff Roberson <jeff@FreeBSD.org> |
- 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.
|
#
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.
|
#
cf94fc20 |
|
02-May-2010 |
Warner Losh <imp@FreeBSD.org> |
MFC r207260: 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.
|
#
90aa4f9e |
|
26-Apr-2010 |
Warner Losh <imp@FreeBSD.org> |
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
|
#
7a1b7e33 |
|
17-Apr-2010 |
Warner Losh <imp@FreeBSD.org> |
MFC r206664: 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
|
#
e1a4e3fa |
|
15-Apr-2010 |
Warner Losh <imp@FreeBSD.org> |
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
|
#
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.
|
#
c1f4dd93 |
|
16-May-2007 |
Warner Losh <imp@FreeBSD.org> |
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@
|
#
744b947e |
|
12-May-2007 |
Wojciech A. Koszek <wkoszek@FreeBSD.org> |
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@
|
#
86418d0c |
|
23-Oct-2006 |
Warner Losh <imp@FreeBSD.org> |
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).
|
#
22025511 |
|
30-Dec-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
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>
|
#
61ede7ee |
|
25-Nov-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
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.
|
#
dfdbf9be |
|
27-Oct-2005 |
John Baldwin <jhb@FreeBSD.org> |
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
|
#
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@
|
#
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.
|
#
23717fc4 |
|
06-Aug-2004 |
Warner Losh <imp@FreeBSD.org> |
Per letter dated July 22, 1999, delete clause 3 from code directly from Berkeley.
|
#
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.
|
#
292dd8a8 |
|
14-Feb-2003 |
Ruslan Ermilov <ru@FreeBSD.org> |
Convert to using <sys/queue.h> macros.
|
#
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.
|
#
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).
|
#
5e06480c |
|
11-Jul-2001 |
Dima Dorfman <dd@FreeBSD.org> |
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
|
#
6f34947d |
|
27-Feb-2001 |
Peter Wemm <peter@FreeBSD.org> |
newbus_ioconf() is long gone
|
#
f9f6bfe7 |
|
27-Feb-2001 |
Peter Wemm <peter@FreeBSD.org> |
Some more tidying up. we dont use config-dependent anyware. Eliminate some duplicate code (cut/paste bug?). tidy up some other minor stuff.
|
#
388481c1 |
|
27-Feb-2001 |
Peter Wemm <peter@FreeBSD.org> |
s/special/compilewith/ (so I stop confusing myself) and GC an unused function I missed before.
|
#
2db1cff1 |
|
21-Feb-2001 |
Peter Wemm <peter@FreeBSD.org> |
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.
|
#
68f4fced |
|
18-Feb-2001 |
Peter Wemm <peter@FreeBSD.org> |
${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.
|
#
3b10a240 |
|
04-Feb-2001 |
Peter Wemm <peter@FreeBSD.org> |
Remove the need to list each and every cpu platform. Config will now take your word for the 'machine' switch.
|
#
246449f3 |
|
31-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
Unwind a bit more cruft - we only have one type of device now.
|
#
ace85808 |
|
31-Jan-2001 |
Peter Wemm <peter@FreeBSD.org> |
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.
|
#
9abfa9d1 |
|
21-Jan-2001 |
Benno Rice <benno@FreeBSD.org> |
Add support for configuring PowerPC kernels. Reviewed by: peter
|
#
918c9eec |
|
29-Sep-2000 |
Doug Rabson <dfr@FreeBSD.org> |
Add ia64 support.
|
#
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.
|
#
ac0711e1 |
|
29-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
Mark the 'conflicts' keyword as obsolete, and don't generate (unused) resource table entries for it.
|
#
8ef328cf |
|
23-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
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.
|
#
94142695 |
|
08-Jan-2000 |
Peter Wemm <peter@FreeBSD.org> |
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.
|
#
e44b832d |
|
12-Dec-1999 |
Peter Wemm <peter@FreeBSD.org> |
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.
|
#
6c54a82e |
|
09-Nov-1999 |
Peter Wemm <peter@FreeBSD.org> |
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)
|
#
c1454d67 |
|
30-Oct-1999 |
Marcel Moolenaar <marcel@FreeBSD.org> |
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
|
#
1c56dc36 |
|
10-Oct-1999 |
Peter Wemm <peter@FreeBSD.org> |
Further cleanup. Also remove the following unused or defunct tokens: and, bio, cam, master, minor, net, priority, sequential, size, slave, trace
|
#
1b24aa44 |
|
03-Jul-1999 |
Peter Wemm <peter@FreeBSD.org> |
Delete special handling for 'device-driver' suffix, it's not used in the kernel source now.
|
#
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.
|
#
8fb476c5 |
|
09-May-1999 |
Peter Wemm <peter@FreeBSD.org> |
We don't have composite devices here either.
|
#
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.)
|
#
96217b0f |
|
24-Apr-1999 |
Peter Wemm <peter@FreeBSD.org> |
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)
|
#
e6fbbbe4 |
|
18-Apr-1999 |
Peter Wemm <peter@FreeBSD.org> |
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.
|
#
188334f6 |
|
17-Apr-1999 |
Peter Wemm <peter@FreeBSD.org> |
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.
|
#
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.
|
#
4d40ec2f |
|
09-Jun-1998 |
Doug Rabson <dfr@FreeBSD.org> |
Add (mostly stub) alpha support. Incidentally, it doesn't build on stable unless I manually construct y.tab.h. Is this normal?
|
#
c090df39 |
|
01-May-1998 |
KATO Takenori <kato@FreeBSD.org> |
Support PC-98 machine.
|
#
65437774 |
|
18-Feb-1998 |
Eivind Eklund <eivind@FreeBSD.org> |
Style police service brought to you by: bde
|
#
b272cc1e |
|
17-Feb-1998 |
Eivind Eklund <eivind@FreeBSD.org> |
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.
|
#
cea24a2b |
|
28-Oct-1997 |
Joerg Wunsch <joerg@FreeBSD.org> |
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.
|
#
659d2a20 |
|
27-Mar-1997 |
Andrey A. Chernov <ache@FreeBSD.org> |
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).
|
#
1d29927c |
|
26-Mar-1997 |
Andrey A. Chernov <ache@FreeBSD.org> |
Add #define's for port "none" and "auto" Now port ommiting is equal to port "none" not to port 0
|
#
17c2b345 |
|
21-Aug-1996 |
Andrey A. Chernov <ache@FreeBSD.org> |
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.
|
#
227941d5 |
|
13-Apr-1996 |
Bruce Evans <bde@FreeBSD.org> |
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.
|
#
d8f19d94 |
|
12-Jan-1996 |
Peter Wemm <peter@FreeBSD.org> |
Make a little more effort to avoid touching certain generated files if they were not changed. This makes 'make depend' more useful.
|
#
6d41b96f |
|
11-Dec-1995 |
Peter Wemm <peter@FreeBSD.org> |
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.
|
#
975f4abc |
|
29-Jun-1995 |
David Greenman <dg@FreeBSD.org> |
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).
|
#
709e8f9a |
|
29-May-1995 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
Remove trailing whitespace.
|
#
babb4e92 |
|
10-May-1995 |
Jordan K. Hubbard <jkh@FreeBSD.org> |
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.
|
#
c30c84ed |
|
01-Mar-1995 |
Peter Dufault <dufault@FreeBSD.org> |
Added configuration for SCSI devices wired in place. The documentation is in "man 4 scsi".
|
#
ce584e16 |
|
01-Mar-1995 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Implement "clean" entries for device config entries. Submitted by: Pointed out by Bruce Evans <bde@zeta.org.au>
|
#
52848688 |
|
31-Dec-1994 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
Allow config to fully handle the aic7770 driver dependancies.
|
#
80785c50 |
|
17-Nov-1994 |
Justin T. Gibbs <gibbs@FreeBSD.org> |
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
|
#
4eaaddb7 |
|
26-May-1994 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
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.
|
#
dea673e9 |
|
25-May-1994 |
Rodney W. Grimes <rgrimes@FreeBSD.org> |
BSD 4.4 Lite usr.sbin Sources
|