Commit Graph

144 Commits

Author SHA1 Message Date
tv
2fd6f54874 Make the yacc rules work on 1.3 as well as -current without updating the
.mk files:  build the .c and .h files manually.  This should be removed
after the next release.  XXX.
1998-04-16 18:47:05 +00:00
tv
482063559a .y.c <sys.mk> rule fixes. Don't create a y.tab.h file unless asked for,
and use smarter creation of the header file.
1998-04-09 00:32:31 +00:00
thorpej
129a20a049 Fix a think'o that caused "config netbsd root on ? type ffs" to fail.
Fixes PR #5021.
1998-02-20 00:11:02 +00:00
thorpej
a522c869e5 Fix a few semantic problems wrt. file-system, deffs, and options, pointed
out by Chris Demetriou.
1998-02-19 06:13:51 +00:00
thorpej
d12d850cfe Add a "deffs" keyword, similar to "defopt", that defines file systems.
Only things defined with this keyword will be allowed on "file-system"
lines in the kernel config files.

By default, -D... directives for file systems are not generated, since
they are not needed for most file systems now that vfs_conf.c is gone.
However, some file systems must have dependencies generated on them
(e.g. NFS, UNION).  So, provide a way to specify an option file for
these file systems.
1998-02-19 00:27:00 +00:00
thorpej
ed063c61d5 Emit the default set of file systems as vfs_list_initial[]. 1998-02-18 07:00:27 +00:00
thorpej
ea4d1b7ea1 Rather than using a separate "class" keyword, treat device classes like
special attributes.  From Chris Demetriou.
1998-02-16 22:05:35 +00:00
enami
491b9bd801 Remove redundant assignment. 1998-01-14 01:15:24 +00:00
thorpej
bc1733bc88 Add code to emit the cfdriver structures into ioconf.c. This requires
a change to the config grammar, to specify a device's class (i.e. DV_xxx)
like:

device	sd class disk: ...

Also emit an ioconf.h, which contains extern declarations of the
cfdriver structures.

While I'm here, add support for specifying multiple options per defopt
line, as well as specifying the file name in which the options will
appear.

defopt	foo bar baz

generates "opt_foo.h", "opt_bar.h", and "opt_baz.h"

defopt	opt_mumble.h foo bar baz

generates "opt_mumble.h" which contains all three options.

Also, clean up and fix some bugs in the code that generates header files.
1998-01-12 07:37:40 +00:00
perry
3fe138c146 RCS Id Police. 1998-01-09 08:03:16 +00:00
lukem
44c22033e4 use CPPFLAGS instead of CFLAGS 1997-10-23 06:31:59 +00:00
lukem
73d91b2129 WARNSify, deprecate register, remove unused functions 1997-10-18 07:58:56 +00:00
lukem
2c30449e9c getopt returns -1 not EOF, turn off WARNS 1997-10-18 04:08:12 +00:00
lukem
03a401c4d5 getopt returns -1 not EOF, turn off WARNS 1997-10-18 04:08:08 +00:00
mycroft
e8f7fd90c1 Actually, punt the library' keyword; it does the same thing as object',
and we really only need one of them.
1997-10-10 10:41:18 +00:00
mycroft
7d58ce9471 Add object' and library' keywords to pull in precompiled .o and .a files.
Syntax is like the `file' keyword; e.g.:
object	arch/i386/i386/mumble.o		[mumble] [needs-flag]
Largely from Michael Richardson in PR 3833, with some changes by me.
1997-10-10 10:27:53 +00:00
mycroft
054b6cb773 Allow options and makeoptions to take an empty string as a value. 1997-10-10 09:32:03 +00:00
jtk
ce7e4557dd Don't generate defines for locators or bus attachments which have spaces
or tabs in the names; we can't generate reasonable #defines in those cases.
fixes PR# 3880.
1997-07-18 11:27:37 +00:00
thorpej
9fec93804a Changes to config(8) to support dump configuration in the wake of the
new swap system.  The dump specification syntax is now more flexible,
and supports constructs like the following:

config netbsd root on ? type ? dumps on ?
	- wildcarded root, fstype, and dump device

config netbsd root on ? type ffs dumps on sd0b
	- wildcarded root, ffs root fs, always dump on sd0b

config netbsd root on de0 type nfs dumps on wd0b
	- mount an nfs root using de0, and write kernel crash dumps
	  to wd0b

Also, garbage-collect some now unused code, now that swap configuration
is no longer handled by config(8).
1997-06-14 04:25:55 +00:00
mrg
7d9c89b0ce remove "swap" configuration. 1997-06-12 15:03:09 +00:00
thorpej
267e8357fc Implement an unfortunate, and temporary, kludge to address the problem
reported in PR #3668 from maximum entropy <entropy@tanstaafl.bernstein.com>.

The problem: The unit number is not being conveyed to the configuration
crosscheck with root is a network interface; the device number is set
to NODEV, which sets up the (correct) defaults for swap/dump devices.
We can't change NODEV to a unit number, as the PR's patch suggests, as
this breaks the swap/dump defaults.  Rewriting that code is not really
justified, since it's soon to be obsoleted.

The kludge: add an "nv_ifunit" member to struct nvlist, which convey's
a network interface's unit number to the crosscheck routine.  It's not
pretty, but it's not terribly invasive, and can be garbage-collected
easily when the swap/dump goo is obsoleted.
1997-05-25 18:42:54 +00:00
veego
924c7fcffa Add y.tab.h to CLEANFILES 1997-05-15 10:04:27 +00:00
mycroft
2c0b6f8e7f Use DPSRCS. 1997-05-09 13:56:04 +00:00
mycroft
cc4a1553a1 Eliminate bogus redefinitions of standard targets. 1997-05-09 07:50:03 +00:00
cgd
e3149f181c sort cloning units for a given devbase after non-cloning units. Addresses
the same problem as PR 3503, but with different code.
1997-04-17 05:01:09 +00:00
jtk
0b044b117e . NULL terminate the list of locator names on each attachment
. link to the list of locator names from each entry in cfdata[] (for
future use by programs to print out the device tree nicely and/or
for boot-time configuration tools)
1997-03-14 22:54:08 +00:00
leo
0b28c6c0b1 Don't dump when a non-existent root device is specified. (missed a
param to error()).
1997-03-14 20:43:05 +00:00
jtk
0f6d8d88b8 Add hash table walking functions to emit manifest constants for locator
offsets within cf->cf_loc[].
Also include locator names as strings in ioconf.c.

Still to do: wire the locator names into the cfdata.
1997-03-14 00:14:09 +00:00
thorpej
d214be029a Fix arithmetic botch that caused incorrect results for configs like:
config netbsd root on sd1a

Noted by Taras Ivanenko <ivanenko@ctpa03.mit.edu> in PR #3203
and by others.
1997-03-06 23:11:55 +00:00
thorpej
c9fe001e3a Cross-reference options(4). While I'm hear, garbage-collect the
reference to config(8) left over from when this program was called
config.new.
1997-02-05 19:17:28 +00:00
thorpej
f12fb4ba31 Patch from Gordon Ross to make this build under SunOS, useful in
cross-compiling environments.
1997-02-03 21:18:21 +00:00
thorpej
e14a0d029f Add support for generating "option headers". These allow options to
be included in object dependencies.  config(8) is told to generate
a header for a particular option with the new "defopt" keyword, used
in the files.* system description files.  Options that are placed in
header files are not given -D... cpp flags.

This approach allows options to be turned into headers incrementally,
rather than all at once, and allows for non-header options, as well.
1997-02-02 21:12:30 +00:00
thorpej
07c71aa7f7 Implement new grammar and semantics for specifying file systems
and the root device:

- New "file-system" keyword is used to configure file systems into
  the kernel.
- New way of specifying root device, which allows root file system
  type to always be specified.  Examples:

	config gennetbsd swap generic
	config sdnetbsd root on sd0a swap on sd0b
	config nfsnetbsd root on nfs

  are replaced by:

	config gennetbsd root on ? type ?
	config sdnetbsd root on sd0a type ffs swap on sd0b
	config nfsnetbsd root on ? type nfs
	config lenetbsd root on le0 type nfs

  Note that specific network interfaces may now be specified as
  the root device.
- swapgeneric.c is no longer used; generate a swap*.c file for each
  "config" line in the kernel configuration file.
1997-01-31 03:12:30 +00:00
gwr
81aa081ab6 Eliminate the "dangerous trailing context" (actually both uses of
trailing context were unnecessary).  Remove unnecessary { } around
simple actions (just a return statement).  Fix some * vs + errors.
1996-11-13 18:42:18 +00:00
gwr
7fa1418031 Fix the bug I introduced in the last commit, which broke line contuation
where newline is followed by whitespace.  Do not return a newline token
to the parser in that case (logically still the same line).
1996-11-12 17:42:47 +00:00
gwr
a0b75afc0b * Eliminate all shift/reduce conflicts in the grammar. This
requires that some ordering requirements are checked by the
  back-end C code instead of the parser (dirspecs, maxpart).

* Be more careful to require newline tokens in the grammer where
  they are expected, and deal with blank lines, etc.  This allows
  elimination of a trailing context on newline in the scanner.

* Let the parser set values for "needs-count" and "needs-flag"
  instead of making those special cases in the scanner.

* Get rid of '= ' preceeding actions (obsolete yacc syntax)

* Make the scanner not insert an extra newline after includes.
  (It was just an accidental side-effect of the ENDFILE stuff.)
1996-11-11 23:54:17 +00:00
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