Commit Graph

96 Commits

Author SHA1 Message Date
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
phil 102c96c45a For the PC532, fixing the errors in the #include code and removing all
references to the "rtc".  (Removing rtc from the pseudo devices.)
1993-12-01 22:29:19 +00:00