Commit Graph

201 Commits

Author SHA1 Message Date
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