Commit Graph

97 Commits

Author SHA1 Message Date
cgd
cb40dc44d0 two devices instances which are otherwise the same but do not attach
via the same attributes are _not_ the same, and should not be treated
as aliases of each other.
1996-06-17 18:21:35 +00:00
cgd
315f091f18 fix (apparently long-standing) bug which prevented devices from attaching
to interface attributes on a device other than the interface attribute that
the device was named the same as, if that one was there.
1996-03-17 21:12:03 +00:00
christos
6b2a32d7dc Declare the mountroot functions and variables fully prototyped. 1996-03-17 20:36:25 +00:00
cgd
3ac7667c57 add BSDI-style expression support to optional file specifiers. Code mostly
taken from the parts of BSDI's 'config' which are freely-distributable
(under the LBL/UC Regents license), and adjusted to fit into our version.
1996-03-17 13:18:15 +00:00
cgd
50b3b61ea3 simplify nvlist creation slightly; change newnv() to take another arg: next 1996-03-17 11:50:09 +00:00
cgd
2dd7a7984c Fix PR 2218. As noted (both in mail from me included in the PR, and
in XXX-marked comments in the recent attachment changes), this was a
long-standing bug in config.

The problem: If a device is attached to a device via an attribute exported
by that device (i.e. foo* at bar0, where 'bar' exports an attribute that
'foo' attaches to), but the device attached to is not present in the
kernel configuration file, AND another device which exports an attribute
that 'foo' attaches to _is_ present (e.g. a device baz0, if one could
specify 'foo0 at baz0'), then: the configuration file will (incorrectly)
be accepted by config, and the resulting ioconf.c will include a bogus
cfdata entry for the device (in the example, 'foo*').  This typically
causes the resulting kernel to crash during autoconfiguration.

The solution: Be much more careful about keeping track of where a device
was attached, and, in particular, if a device was attached to another device,
_always_ keep track of what device it was attached to.  Then, when
cross-checking, if the attached-to device isn't present, give up and do not
check attributes.  Also, document the process much more thoroughly.
1996-03-17 07:05:50 +00:00
cgd
9c4f9d2daa spaces vs. tabs, spaces/tabs at EOL bogons. 1996-03-17 06:29:19 +00:00
cgd
95f205f10c fix bogon in device attachment name checking. the same rules should be
used for checking device attachment names as are used for device name
checking, because device names can be used as attachment names.  (Actually,
less strict rules could be used, but there's little point in that.)  This
was not a mistake of design, this was just a mistake; i misunderstood
the devbase name checking code.
1996-03-17 06:23:18 +00:00
cgd
9c70ac56a8 fix another just-discovered long-standing bug: foo0 at bar* is not legal
syntax.  (devices which specify 'at' can't be starred.  they can be
wildcarded, with ?, but not starred.)
1996-03-17 05:19:33 +00:00
cgd
dfbb6d0884 fix a bug where definitions to be placed in headers wouldn't be
right/consistent.  If you had something like:

file	file.c		foo bar baz needs-flag

and any one of foo, bar, or baz caused it to be brought into the compile,
in the header you'd end up with:

#define NFOO	1
#define NBAR	1
#define NBAZ	1

even if only one of them were selected.  Other headers might have had a
different (inconsistent) set of definitions, depending on whether any of
their components were included, and any files necessary for the unspecified
options would not actually be present in the Makefile files list.  The
correct behaviour for the example above if only 'foo' is selected by
the config file is:

#define NFOO	1
#define NBAR	0
#define NBAZ	0

which is what config now does.  This bug has been present for a while.
(I don't know for sure that it was present in 4.4-Lite2, but from looking
at the Lite2 config sources, it appears to be there.)
1996-03-17 03:21:21 +00:00
thorpej
cb6211e540 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 02:08:22 +00:00
thorpej
c5f7cf3a9e RCS id police. 1996-03-03 17:21:25 +00:00
cgd
7d351bb3f4 fix thinkos in emitobjs() and emitfiles() that would cause empty files
lists to not have a newline properly emitted.  (It was emitting a
newline only if the line position was != 7.  However, the only time the
line position was 7 was right after the initial variable assignment
string (e.g. "OBJS=\t") was printed.)
1996-02-23 00:39:42 +00:00
scottr
de8fcf0996 Spelling correction 1996-02-13 23:08:24 +00:00
cgd
c626f39b3a update 'files' files search paths and manual page descriptions for
the config program renaming.
1995-04-28 08:15:48 +00:00
cgd
064307e690 config.new has been moved here. names updated to match. 1995-04-28 06:54:58 +00:00
cgd
d8806814a6 specify man pages the new way. 1994-12-22 11:32:57 +00:00
mycroft
b8e6ab9578 Add explicit BINDIR definitions, since these directories are distributed
separately.
1994-12-11 22:29:40 +00:00
mycroft
6f895463de Fix core dump when parsing ccd device specifications. From Jason Downs. 1994-10-31 19:13:13 +00:00
hpeyerl
2b3f96ce61 (I'm a dork for putting this in the wrong tree before)
To let us correctly configure ccd devices. <From downsj@csos.orst.edu>
1994-08-03 19:30:21 +00:00
hpeyerl
9cbb13a30b Config support for ccd driver. (from 4.4Lite) 1994-06-24 14:22:08 +00:00
cgd
ce5210ad7d delete nfs_diskless, and ufs -> ffs, so kernel links properly. 1994-06-13 02:32:50 +00:00
cgd
f39163138d maxfdescs checks out 1994-05-21 08:32:32 +00:00
cgd
25fe2bda71 terminate swap conf file with NODEV, not 0. 1994-04-25 23:30:52 +00:00
mycroft
fcd16a0700 Remove some stuff. 1994-04-07 06:53:01 +00:00
deraadt
4b24a3521e rainse() -> raisestr(), per <arnej@fm.unit.no> 1994-04-05 23:57:26 +00:00
chopps
2e148c6734 remove old floppy thing. 1994-04-05 23:07:07 +00:00
cgd
d1c44c8402 clean up printf, and make overrides work! 1994-03-30 04:25:22 +00:00
mycroft
b1f6bfe5f0 Switch from isa_driver' to cfdriver', and remove the special case for
SCSI devices.
1994-03-29 04:27:18 +00:00
cgd
693c57d142 from Roland McGrath <roland@frob.com>: for i386 'drive',
use 'slave' if drive unknown.
1994-03-23 00:35:53 +00:00
mycroft
166515d156 Output only one table of ISA devices, add parent pointers, remove id_masunit,
and add a pointer to the interrupt mask for simplicity.
1994-03-12 03:26:52 +00:00
mycroft
0d7f067f06 Fix `all:' line. 1994-03-10 22:09:51 +00:00
mycroft
6717fa4ab1 Get the physical device # right in all cases. 1994-03-10 21:35:37 +00:00
mycroft
240d0465d2 Move non-SCSI devices out of isa_subdev. 1994-03-10 21:19:26 +00:00
mycroft
1dfb3af678 masunit = -1 for controllers, too. 1994-03-10 20:13:10 +00:00
mycroft
26731dd3eb Support device drivers with multiple names, and do the right thing for fd and
wd.
1994-03-10 19:50:43 +00:00
mycroft
508ba10f66 Rename vector() to i386_vector(), to avoid any confusion. 1994-02-23 00:23:20 +00:00
mycroft
deb02f75b2 Technically we need to block ASTs, so we'll do this a bit differently. 1994-02-22 23:32:50 +00:00
mycroft
6c999ed979 Clock interrupt should not block everything. 1994-02-22 23:03:28 +00:00
mycroft
c272569dc8 Add support for specifying an interrupt to be run at splhigh(). 1994-02-18 06:10:42 +00:00
deraadt
9b26fac7d8 i386: don't call hardclock. call clickintr, which calls hardclock with a
pointer to the frame, instead of the frame.
1994-02-01 02:11:02 +00:00
cgd
91068203d6 changes for amiga 1994-02-01 02:07:11 +00:00
cgd
5b9ec78ea1 treat 'cpu' types as options for purpose of file inclusion.
(consistent with config.new, where everything cpu types *are* options.)
1994-02-01 02:04:19 +00:00
deraadt
be366a3e1e pmax fix 1994-01-14 19:43:24 +00:00
deraadt
4d24126593 better error messages 1994-01-09 17:53:58 +00:00
cgd
2dae0c7cb0 add support for "machinearch" internal variable. if "machinearch"
is different than the "machinename" internal variable, read
machinearch's files.${machinearch} and add it to the list of files
for the machine.  Also, regardless of whether or not they're different,
create a ${machinearch} sylink (or directory) pointing to the machinearch
include files (or containing them).
1994-01-08 10:33:43 +00:00
mycroft
09786cb42d Back out previous change. It was wrong. 1993-12-05 23:04:49 +00:00
mycroft
e8e1a19487 Fix typo, MACHIN --> MACHINE. Reported by Brad Parker <brad@fcr.com>. 1993-12-05 22:10:48 +00:00
deraadt
45af4741ad let quoted strings contain "\"" and "\n"
also let strings be "", ie. empty (is this a good change?)
1993-12-03 04:58:22 +00:00
jtc
f51f0a515d All programs that use lex must link with -ll. 1993-12-02 18:18:02 +00:00