Commit Graph

308 Commits

Author SHA1 Message Date
gwr
91118cc6ae Move setupdirs() here -- it is now called from scan.l (include). 1996-11-11 23:41:54 +00:00
gwr
1ed260c698 Move some externs to where they are needed. 1996-11-11 23:40:09 +00:00
gwr
3b2cf54383 Be honest about the fact that this program builds only with flex. 1996-11-11 23:36:40 +00:00
mycroft
72d4e71f08 Remove remaining vector cruft. 1996-11-11 14:18:49 +00:00
gwr
26793c36d4 Minor changes to support building on other systems (i.e. SunOS). 1996-11-07 22:59:39 +00:00
cgd
42b8d1922d correct a comment: profiled kernels go in FOO.PROF, not FOO.prof 1996-11-02 01:02:56 +00:00
cgd
b031fda3b1 update comments to correctly indicate what files are being parsed when 1996-11-02 01:00:14 +00:00
ghudson
e312e1563e Don't canonicalize relative paths to the source tree any more; libkern
and libcompat can handle them as long as they begin with '.'.  If a
relative path doesn't begin with '.', add a "./" before it.
1996-09-23 05:04:23 +00:00
mycroft
8441b8f88d Remove interrupt vector handling. This is done dynamically by all ports now. 1996-08-31 21:15:05 +00:00
mycroft
ab6ebadde6 Add source' and build' directives, and corresponding options, per discussion
on tech-kern.  (See man page.)  Implementation by Greg Hudson.
Also, remove special case for i386 in vector handling, although this code isn't
actually used any more.
1996-08-31 20:58:16 +00:00
mycroft
b9ae4a5e3f Remove config-dependent' and device-driver' flags. 1996-08-12 00:55:54 +00:00
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
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
phil
1b7c2b0299 Added some includes needed for the new pseudo_init code. 1993-12-01 07:56:02 +00:00
deraadt
5f40ac2443 be more careful, do not tromp over ``MACHINE'' 1993-12-01 05:56:39 +00:00
deraadt
f7bce94e9a generate a pdevinit[] like config.new does (for pseudo device initialization) 1993-11-23 07:45:06 +00:00
cgd
59ebb74a4b did *you* know that PMAX's weren't PC532's? 1993-10-15 23:26:39 +00:00
deraadt
9ae8a636f9 Add MACHINE_PMAX support from rick & ralph. 1993-10-14 01:22:27 +00:00
phil
4c44872dde Adding changes for the pc532 machine. The NO_SYMLINK is for compilation
under Minix on the pc532, which has no symlinks.
1993-09-15 21:15:19 +00:00
brezak
0c27d6751c Only output load address is using 'at'. 1993-09-13 15:27:38 +00:00
brezak
e443c955ff Need to define load address in PARAM. 1993-08-28 00:03:51 +00:00
cgd
cd56dd1638 merge in changes from netbsd-0-9-ALPHA2 1993-08-07 07:53:27 +00:00
mycroft
0534b030d1 Don't include PROFILING type files in OBJS and SRCS, and don't partially output
dependencies for them.
1993-08-03 00:02:01 +00:00
mycroft
52efca41cd Nuke remaining patchkit headers. 1993-08-02 18:17:24 +00:00
mycroft
aee4b07b8a Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
1993-08-02 17:48:44 +00:00
mycroft
e9d867ef50 Add RCS identifiers. 1993-08-01 17:54:45 +00:00
mycroft
c3e42d1c64 Add RCS indentifiers. 1993-08-01 07:22:47 +00:00
mycroft
b465cf4697 Add RCS identifiers. 1993-07-30 22:11:51 +00:00
brezak
19049fea1a Add option dependency generation. 1993-07-23 03:01:47 +00:00
mycroft
b0c70a21fe Hmmm. I suppose loadaddress really should be an int... 1993-07-18 10:33:46 +00:00
mycroft
97159f53d2 Allow specifying the load address in the config file. Again, defaults to
KERNBASE.

To use this, on the `config' line you specify, `at address'.  For example:

config          netbsd  at 0xfe100000 root on sd0 swap on sd0 and sd1
1993-07-18 10:07:36 +00:00
cgd
10e3a8d21b use "#if __STDC__ > 0" rather than "#ifdef __STDC__" 1993-07-13 22:16:23 +00:00
cgd
f0e2d2191c changes from mw to support nfs swap/root specification 1993-07-07 10:47:00 +00:00
cgd
6e1f2beb63 we don't need the lex lib 1993-07-07 10:33:01 +00:00
cgd
1559a8e0be slight stylistic change, and don't limit field width when such limits
are unnecessary...
1993-07-03 12:59:54 +00:00
cgd
77219acd07 change interrupt vector names to begin with "X" rather than "V", so we're
like every other BSD system on the planet...
1993-07-03 12:32:25 +00:00
andrew
349ac16602 Fixed typo. 1993-06-17 08:21:42 +00:00
cgd
c22f041826 don't print NULL(); for a null vector... 1993-06-07 00:02:00 +00:00
cgd
8a05b36058 incorporate Bruce Evans' interrupt changes, as hacked by Rod grimes,
for patchkit patch 158.  it appears to work well.
1993-06-06 04:14:01 +00:00
cgd
0b8e25b695 add "needs-count" specifier, which means "make a .h file if you otherwise
wouldn't".  this is overridden by (and is a subset of "device-driver".
if you have a "standard" file, you can also do: "standard foo needs-count"
to get a foo.h file.  (for the hp300 stuff)
1993-05-29 18:50:37 +00:00
cgd
864a094e19 do the right thing for vers.o. i.e. don't make newvers if nothing
has changed.
1993-05-24 11:04:45 +00:00
cgd
30904b9ec5 if no irq, that is, intenally, d_irq == -2, don't output a vector... 1993-05-18 18:02:05 +00:00
cgd
4ee5795095 last of the "arch" changes 1993-05-18 11:51:52 +00:00
cgd
ddccecbf43 update man page for 'arch' changes 1993-05-18 09:10:27 +00:00
cgd
c895b3c04f add changes for 'arch' 1993-05-18 08:56:31 +00:00
cgd
50fa568f9d make config use a /sys/${machine}/compile directory, rather than
/sys/compile
1993-05-17 09:10:06 +00:00
deraadt
3417c8a45b 1. id_irq is a u_short
2. "irq ?" sets it to (u_short)-1
3. "irq #" sets it to (1<<#)
4. not specifying an interrupt sets it to 0.

Until someone else comes up with a better scheme, that's the way it is.
If you have a driver that turns the interrupt off, set it to ZERO.

If, after calling XXprobe(), id_irq is still (u_short)-1, that is the same
as if  XXprobe() failed.
1993-05-11 04:04:57 +00:00
mycroft
12f4f4a4ca Don't dereference NULL pointer. 1993-04-23 08:46:46 +00:00
mycroft
88789b5d35 Don't output `extern 0();' for interruptless driver. 1993-04-22 04:15:18 +00:00
deraadt
aee9e16f75 Changed the files referenced in this manual page 1993-04-15 23:16:27 +00:00
deraadt
fbecd3e987 Once more: some changes to the ioconf.c structure. It will now handle
devices hanging off controllers, any kind of controller.
A device on isa0 is called at probe(self), then attach(self)
A controller on isa0 is called at probe(self), then all it's children with
    defined unit numbers are initialized by calling attach(subdev); next all
    subdevices with unit ? are initialized by calling attach(sundev).
Almost all device entry points is now like the vax/sun model (intr being
the weird one)
1993-04-15 07:52:08 +00:00
deraadt
a183b8d0bf new scsi subsystem.
changes also in /sys/scsi/* i386/isa/wd.c, fd.c, and all scsi drivers.
1993-04-12 08:18:09 +00:00
glass
d0cccba842 oops..left in -g 1993-04-10 12:16:42 +00:00
glass
fea6b7920f Welcome to the new order. config(8)'s code for reading files, files.i386,
and files.kernel has now been completely replaced.
features supported: not nearly as broken as the stuff before
		    expression support for dependencies
		    support for 'requires'
		    no longer generates lots of stupid unnecessary .h files
		    broke lots of broken stuff, and forced fixing it.
(docs to arrive later)
		    added '-k' option for continue even after error
		    documented '-g'
1993-04-10 12:11:55 +00:00
cgd
9dc3975ffe from Rodney W. Grimes (rgrimes@agora.rain.com) (patchkit patch 117):
This patch adds the symbol names to icu.s that vmstat expects
the interrupt counters to be called.  It also adds code to config
so that the names of the interrupts are written at the end of vectors.s
so vmstat can report real device names.  It also cleans up and enables
the logging of stray interrupts.  The counters for false interrupts
are added but the fix for them is not (the fix I have is not done
very good.) A false interrupt is when a device asserts it's interrupt
signal, then removes it before the 8259 can latch it.  This is the number
one cause of stray IRQ7's and IRQ15's.

	Additional device probe information is now printed.  This includes
ending I/O address (many drivers do not return the correct value from a
probe this still needs to be fixed), memory address and size, driver
flags passed in by config.
1993-04-09 13:27:46 +00:00
deraadt
8c41b728aa config will now deal with wdc and fdc in "barsoom" fashion. This patch is
not identical to barsoom's patch, but I think it's an easier patch.
Check out compile/KERN/ioconf.c to see the effect. (On e kernel with wd and/or
fd of course)
1993-04-06 09:53:49 +00:00
cgd
83bb0a658b now can config maxfdescs number', similar to maxusers' to set
the max. number of fd's a user is limited to.
1993-04-04 04:33:03 +00:00
cgd
e541169ce2 after 0.2.2 "stable" patches applied 1993-03-21 18:04:42 +00:00
cgd
61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00