62 Commits

Author SHA1 Message Date
peter
91ca8fff86 Mark the 'conflicts' keyword as obsolete, and don't generate (unused)
resource table entries for it.
2000-01-29 18:14:59 +00:00
peter
430f14513d Remove the cam-specific device wiring code. This was a duplicate of
the data in the resource tables, and cam is getting it directly now.
2000-01-23 18:05:24 +00:00
peter
a0551a9ac2 Clean up something in config(8) that has annoyed me for ages. Remove
the need to specify the unit number of unwired devices.  ie: instead
of saying "device fxp0" we can say "device fxp" which is much closer
to what it actually means.  The former (fxp0) implied something about
reserving the 0th unit, but it does not and never did - it was a
figment of config(8)'s imagination that we had to work around..
"device fxp0" simply means "compile in the fxp device driver", so we
may as well just write it as "device fxp" which is closer to what it
really means.

Doing this also saves us from filling up the ioconf.c tables with
meaningless entries.
2000-01-23 12:01:08 +00:00
peter
dbe7fe81d0 Fix a bungle with the CAM static wiring tables. Write CAMCONF_UNSPEC
instead of -2.  This (I believe) caused static wirings to not match.
This should fix Bill Pechter's problem but we'll see.

Problem discovered by:	Bill Pechter <pechter@shell.monmouth.com>
2000-01-12 14:20:12 +00:00
peter
4dc1a88de3 Apply the axe to some more cruft in config(8). In particular:
- redo the "at" configuration system so that it just syntax checks
  to make sure the device you're configuring something "at" appears to
  exist.  Nuke a bunch of complexity that was responsible for creating
  "clones" of wildcard devices and some wierd stuff in a few places
  including the scbus config tables etc.
- merge "controller" and "device" - there is no difference as far as
  the kernel is concernend, it's just something there to make life
  difficult for config file writers.  "controller" is now an alias for
  "device".
- emit full scsi config into the resource tables.  We could trivially
  change cam to use that rather than it's own "special" table for wiring
  and static configuration.  ATA could use this too for static wiring.
- try and emulate some of the quirks of the old system where it made
  sense.  Some were too strange though and I'd be very suprised if they
  were features and not outright bugs.  nexus handling is still strange.
  One thing in particular is that some of the wierd entries in the
  newbus devtables is now gone as it was a quirk side effect of the
  wildcard/question-mark cloning above.

GENERIC and LINT still build etc.
2000-01-08 15:57:22 +00:00
gallatin
0e02ac09cc Allow config to generate proper ioconf.c files when devices request DMA
channel 0.

Submitted by: dfr
1999-11-22 14:31:55 +00:00
peter
b7ec658010 Further cleanup. Also remove the following unused or defunct tokens:
and, bio, cam, master, minor, net, priority, sequential, size, slave, trace
1999-10-10 17:36:11 +00:00
peter
efabb9ccb1 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
peter
6994e5b801 More cleanups, tweaks and features.
- make this work:   options FOO123=456   *without quotes*
- grumble (but accept) vector xxxintr, and tty/net/bio/cam flags.
- complain if a device is specified twice (eg: 2 x psm0)
- don't require quotes around:  port IO_COM2
- recognize negative numbers.  (ie: options CAM_DEBUG_UNIT=-1)
- GC some more unused stuff (we don't have composite disks from config(8)).
- various other nits (snprintf paranoia etc)
1999-04-24 18:59:19 +00:00
peter
5c24a7a265 The Alpha probably wouldn't appreciate getting the pc98 isa port
definitions.  Change it from  machine != I386 to machine == PC98.
1999-04-19 14:40:55 +00:00
kato
4dc249e48e Use pc98/pc98/pc98.h instead of isa/isareg.h in PC98 kernel.
Submitted by:	Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
1999-04-18 14:27:33 +00:00
peter
e0200a9fde Further cleanups. i386_ioconf.c and alpha_ioconf.c were essentially the
same and were merged into a single newbus_ioconf.c.  CG'd some more unused
code.
1999-04-18 13:36:29 +00:00
peter
911997aae8 Get out the blow torch and hack away all the unused stuff. Note that
I zapped the MACHINE_MIPS stuff, it isn't likely to be useful apart from
recognition of the machine name.  It would be reasonable to expect new
ports would look something like the alpha/i386 from a config perspective.
1999-04-17 14:41:41 +00:00
peter
10e9d1950e Corresponding minimal changes for kernel configuration after new-bus
commit.
1999-04-16 21:28:10 +00:00
bde
8bd29729fb Oops, really don't generate compiler warnings about missing braces. 1999-02-05 16:58:22 +00:00
bde
3336f26328 Don't generate compiler warnings about missing braces. 1999-02-05 16:49:18 +00:00
markm
af4b14e3cf Fix the handling of certain devices.
Previously the foolowing lines would have broken:
controller      fdc0 at isa? disable port ? bio
controller      fdc0 at isa? disable port 0x100 bio

While this would work:
controller      fdc0 at isa? disable port "IO_FD1" bio

The first of the three lines is useful for making placeholder devices
for PCMCIA-floppies, and the second is useful for non-standard hardware.
The failure is a "(null)" string in ioconf.c that the compiler pukes on.

Thanks to:	Bruce Evans (bde@freebsd.org)
1999-02-04 10:24:45 +00:00
dfr
c804c217bb * Change 'struct resource' to 'struct config_resource'.
* Bump config version.
1998-11-15 18:07:35 +00:00
bde
b35bd08816 Ignore `vector xxxintr' specifications except for checking their syntax.
Interrupt handlers are now configured in drivers.

Didn't update config/SMM.doc.  It doesn't have any i386 examples (not
even `isa').

Bumped CONFIGVERS.  This is not necessary for -current yet, but using
the new config with old system sources gives null pointers for all
vectors.
1998-10-23 17:05:06 +00:00
bde
607edc8d5f Don't generate unused file ioconf.h.
Didn't bump CONFIGVERS, since ioconf.h was already unused when
CONFIGVERS was last bumped (although essentially the same (CAM)
commit batch that bumped CONFIGVERS also added bogus includes of
ioconf.h).
1998-10-16 15:00:18 +00:00
dfr
b475fdd431 Snip out some dead code from the alpha part. 1998-09-16 09:34:07 +00:00
gibbs
3034169241 Build CAM hardwiring info. 1998-09-15 10:29:32 +00:00
ache
d1aa8892b2 add missing sys/queue.h 1998-09-04 07:48:53 +00:00
nsouch
67419707bb Reviewed by: Doug Rabson
Submitted by:	nsouch
'local' token added to support new bus architecture .c files generated
by .m files.
1998-09-03 21:03:43 +00:00
dfr
dc04b45a8b Dump out ISA device resources for alpha. 1998-07-21 21:47:51 +00:00
bde
916e39c6d2 Don't generate declarations for isa device structs in "ioconf.h".
Don't generate declarations for isa interrupt handlers at all.
Isa interrupt handlers are now declared in <i386/isa/isa_device.h>
but should be converted take a `void *' arg and staticized as
soon as possible.

Updated CONFIGVERS.  New configs are very incompatible with
previous versions.
1998-06-17 15:16:53 +00:00
dfr
9d3db765ca Add (mostly stub) alpha support. Incidentally, it doesn't build on stable
unless I manually construct y.tab.h.  Is this normal?
1998-06-09 14:02:08 +00:00
kato
60e8af1f2f Support PC-98 machine. 1998-05-02 01:57:39 +00:00
eivind
9f3f2581d7 Scaffolding for High Availability code. The actual code will probably
come tomorrow.

Submitted by:	Simon Shapiro <shimon@simon-shapiro.org>
1998-04-02 04:25:41 +00:00
gibbs
202e8d2ad2 Add isa_devtab_cam. 1997-09-21 22:12:50 +00:00
charnier
7f53c003f5 Wrap too long lines.
Requested by: Bruce.
1997-09-17 06:20:45 +00:00
charnier
b8c46235c5 Use err(3), add usage(). -Wall clean. 1997-09-15 06:37:10 +00:00
peter
37683aa141 Reserve a placeholder for 4 SMP ipi interrupts in the same way that
it's done for pci.  This is so that systat and vmstat can get at the
interrupt counts for the Inter-Processor Interrupts when running a smp
kernel.  This doesn't affect the normal kernel, but makes life easier for
the smp people who don't have to track two versions of config.
1997-03-29 12:04:51 +00:00
ache
bcbc3df8b0 Remove support for "port none" and "port auto", it gains nothing,
non-standard and not used. "port auto" is equal to "port?" or missing "port"
keyword now. "port none" is really probe routine task (return -1 for
no ports).
1997-03-28 00:56:11 +00:00
ache
e27bac84c5 Add #define's for port "none" and "auto"
Now port ommiting is equal to port "none" not to port 0
1997-03-26 15:19:55 +00:00
ache
75276ab04b Print negative values only for two cases used
in config for iobase: -1 (auto) and -2 (none)
Other values are printed as big port numbers
1997-03-25 02:54:34 +00:00
ache
a28593bb74 Fix iobase printing for autodetect and none cases
(negative numbers was printed as very big ports)
1997-03-25 02:35:12 +00:00
phk
b5bea7dc4e Backout yacc changes. 1996-06-02 17:22:01 +00:00
phk
a550a3bde3 yacc rule changes. 1996-05-30 23:16:31 +00:00
bde
6c70f295f5 Implemented a new keyword `disable'. This should be useful for controlling
dangerous drivers in GENERIC.

Removed non-comments on #endifs in config.y.

Improved output formatting in mkioconf.c.
1996-04-13 19:57:38 +00:00
bde
b80fd56bd8 Count PCI irqs in up to 4 ISAish counters named `pci irqnn' instead of
in the clk0 counter.

Reviewed by:	se
1996-03-29 15:04:14 +00:00
peter
5b70a95cd8 Make a little more effort to avoid touching certain generated files if
they were not changed.  This makes 'make depend' more useful.
1996-01-12 08:57:10 +00:00
joerg
aacbfecce4 Support the configuration of "od" devices.
Submitted by:	akiyama@kme.mei.co.jp (Shunsuke Akiyama)
1995-10-31 17:31:35 +00:00
bde
85bf2e6eb1 Put declarations in a header file ("ioconf.h")
Generate prototypes for SCSI functions and function pointers.

Fix redundant declarations of interrupt handlers.

Generate 4.4-style includes (<> instead of "").

Clean up formatting of both the source and the output a bit.
1995-09-19 16:37:34 +00:00
gibbs
5fa4b742ae Allow the specification of the controller bus when wiring down scsi buses.
This is performed by using a line similar to:

controller scbus0 at ahc0 bus 1

to wire scbus0 to the second bus on an adaptec 2742T controller.

Reviewed by: Peter Dufault(dufault@hda.com), Rod Grimes(rgrimes@FreeBSD.org)
1995-07-17 23:38:16 +00:00
rgrimes
4f960dd75f Remove trailing whitespace. 1995-05-30 03:57:47 +00:00
jkh
73a62a39a7 Revise this to actually print all the various isa_device field values
it really should have been printing all this time.  Also fix my rather
bogus handling of the id_conflicts value by moving it to the end of
isa_device and dealing with that correctly now.
1995-05-11 07:54:41 +00:00
jkh
7499b6c1c7 Add a new `conflicts' flag for telling when a device is in conflict with
others.  The flag can be put in descriptive locations, e.g.:

device sb0      at isa? port 0x220 irq 7 conflicts drq 1 vector sbintr
or
device psm0	at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr

But is nonetheless boolean only.  You can't turn conflict checking off for
only a given type of conflict.  I didn't deem it worth the trouble at this
stage, and it's far better than the ALLOW_CONFLICT_* that preceeded it.
1995-05-11 02:21:34 +00:00
dufault
4d2c29c2b2 Change warning message for when a device is wired to a floating
host adapter to something hopefully clearer.  Take into account
that "wnum()" writes into a static buffer in the warning.
1995-03-07 11:03:42 +00:00
dufault
a3126d2ae0 Fixed bug with wiring down given SCSI bus. 1995-03-03 19:00:39 +00:00