Commit Graph

269 Commits

Author SHA1 Message Date
ache
fb9c556858 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).
1997-03-28 00:56:11 +00:00
ache
068a423900 Add #define's for port "none" and "auto"
Now port ommiting is equal to port "none" not to port 0
1997-03-26 15:19:55 +00:00
ache
9b06d47c9c 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
1997-03-25 02:54:34 +00:00
ache
fe02b63fbe Fix iobase printing for autodetect and none cases
(negative numbers was printed as very big ports)
1997-03-25 02:35:12 +00:00
alex
ee019a53dc 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
1997-01-16 21:58:40 +00:00
peter
6bfa5bda3a 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.
1996-12-26 23:40:32 +00:00
joerg
611928750f 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!
1996-12-14 19:53:49 +00:00
joerg
e75a5fb5a3 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)
1996-12-14 19:44:13 +00:00
bde
ae1a312a71 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.
1996-12-13 12:46:28 +00:00
ache
303254c665 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.
1996-08-21 17:00:54 +00:00
jkh
2986a90248 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>
1996-06-08 23:27:16 +00:00
phk
1e736ea78e Backout yacc changes. 1996-06-02 17:22:01 +00:00
phk
855b27612e yacc rule changes. 1996-05-30 23:16:31 +00:00
bde
d41bacba01 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.
1996-04-13 19:57:38 +00:00
bde
c760edf45a Count PCI irqs in up to 4 ISAish counters named `pci irqnn' instead of
in the clk0 counter.

Reviewed by:	se
1996-03-29 15:04:14 +00:00
peter
7b2f47ec9c Make a little more effort to avoid touching certain generated files if
they were not changed.  This makes 'make depend' more useful.
1996-01-12 08:57:10 +00:00
dg
26f075500a 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.
1995-12-29 18:24:43 +00:00
bde
5af66827d5 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.
1995-12-29 15:30:05 +00:00
peter
2b675d89ba 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.
1995-12-11 10:52:34 +00:00
wollman
6b47d31576 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.
1995-11-28 20:29:58 +00:00
joerg
2dd280098c Support the configuration of "od" devices.
Submitted by:	akiyama@kme.mei.co.jp (Shunsuke Akiyama)
1995-10-31 17:31:35 +00:00
dg
a22b88daf1 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.
1995-10-29 11:07:17 +00:00
dg
e42ba31668 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.
1995-10-23 10:29:11 +00:00
bde
ead3f10dde Fix CLEANFILES. Some temporary files were missing. 1995-09-28 18:24:54 +00:00
bde
81e3ae42da 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.
1995-09-19 16:37:34 +00:00
gibbs
290ce82c48 Add missing quote to yyerror call. 1995-07-18 06:11:34 +00:00
gibbs
4a5a148f08 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)
1995-07-17 23:38:16 +00:00
dg
d4661f8c46 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).
1995-06-29 07:19:19 +00:00
rgrimes
5a145b5eb1 Remove trailing whitespace. 1995-05-30 03:57:47 +00:00
rgrimes
7cd088b421 Fix 3 printf's that had the wrong number of arguments.
Submitted by:	gibbs
1995-05-14 19:19:55 +00:00
dg
3da728be81 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
1995-05-14 03:10:58 +00:00
wollman
09087e08e0 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.
1995-05-12 19:12:44 +00:00
jkh
c10e3cc19e 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.
1995-05-11 07:54:41 +00:00
jkh
cd7c126573 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.
1995-05-11 02:21:34 +00:00
jkh
a07391fffb 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
1995-05-03 20:16:57 +00:00
dufault
d0a0777699 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.
1995-03-07 11:03:42 +00:00
dufault
7008d04653 Fixed bug with wiring down given SCSI bus. 1995-03-03 19:00:39 +00:00
dufault
b6168b9477 Added configuration for SCSI devices wired in place. The documentation
is in "man 4 scsi".
1995-03-01 22:34:05 +00:00
gibbs
d292d68b01 Implement "clean" entries for device config entries.
Submitted by: Pointed out by Bruce Evans <bde@zeta.org.au>
1995-03-01 10:09:03 +00:00
jkh
8defa9df20 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.
1995-02-22 15:37:32 +00:00
bde
af1137d1b0 Write setconf() in KNF, in K&R C, and in Standard C.Standard C. 1995-02-18 21:32:19 +00:00
wpaul
c4fd643b2d 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.)
1995-02-18 18:05:35 +00:00
bde
0e78dec4e0 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.
1995-02-16 12:17:30 +00:00
bde
8ee68e060e Always return null-terminated identifiers from yylex(). 1995-02-16 11:52:11 +00:00
bde
7dc652b3d8 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.
1995-02-08 18:42:58 +00:00
phk
1f75b357cc Removed the name length limitations on the device-driver names entirely.
Now device-names can be more than 3 chars.
1995-02-05 21:15:21 +00:00
wollman
76283db61e Fix Sharnoff complaint #121 (cross-reference to config.new which does not
exist on the i386 platform).
1995-01-14 20:25:02 +00:00
gibbs
53fa630b59 Allow config to fully handle the aic7770 driver dependancies. 1994-12-31 19:23:10 +00:00
bde
d97e2106be Finish removing `#ifdef STATCLOCK'. Not removing it properly here
probably broke (only) the association of interrupts with strings
in vmstat output.
1994-12-06 22:01:16 +00:00
bde
4bcecacea0 Remove ifdef for STATCLOCK. STATCLOCK is standard. 1994-11-27 16:16:35 +00:00
wollman
7778a7de23 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.
1994-11-23 20:36:08 +00:00
ats
3675202729 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.
1994-11-20 13:39:07 +00:00
gibbs
a4db917a17 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
1994-11-17 20:30:01 +00:00
wollman
0c83e6c366 Treat formfeeds like any other whitespace. 1994-11-07 19:57:20 +00:00
dg
8594dbdc42 Don't include map.h - it's been obsoleted. 1994-11-03 15:34:24 +00:00
jkh
b7837b4b50 Whoops - one two many zeros in the initializer. This should have everybody
enabled by default now.
1994-11-03 05:37:53 +00:00
jkh
c6fd3f58e4 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.
1994-11-03 04:30:01 +00:00
phk
1fb4d88730 Added a slot in the swap-dev-table for NFS-diskless to abuse. 1994-10-18 08:16:29 +00:00
jkh
7a50497919 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
1994-09-08 06:38:55 +00:00
wollman
17c99f2a64 Revert back to old config behavior if compiled with -DCONFIG_DONT_CLOBBER. 1994-09-06 20:04:39 +00:00
jkh
b0ceb8dcf1 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
1994-09-03 21:23:36 +00:00
dg
e2b4020273 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
1994-08-18 05:15:26 +00:00
dg
c21451a08d Support for Bruce Evans' new dynamic interrupt support.
Submitted by:	Bruce Evans
1994-08-18 05:11:32 +00:00
wollman
2956e44fb6 Generate vector.h line for statclock. (See next commit for details.) 1994-08-15 03:09:29 +00:00
dg
ed1fb3c841 Now that the timezone specification is no longer allowed, don't issue a
warning that it is missing.
1994-08-09 08:52:53 +00:00
wollman
414f47b802 Disallow timezone specification, but still allow it to be present
if it is zero (so that we can parse old config files).
1994-08-08 15:09:40 +00:00
dg
17e7606224 Converted 'vmunix' to 'kernel'. 1994-08-05 09:14:37 +00:00
rgrimes
fdd1328412 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.
1994-05-26 13:24:02 +00:00
rgrimes
862fdf11a2 BSD 4.4 Lite usr.sbin Sources 1994-05-26 05:23:31 +00:00