Commit Graph

790 Commits

Author SHA1 Message Date
se
cfea775806 Completely replace the PCI bus driver code to make it better reflect
reality. There will be a new call interface, but for now the file
pci_compat.c (which is to be deleted, after all drivers are converted)
provides an emulation of the old PCI bus driver functions. The only
change that might be visible to drivers is, that the type pcici_t
(which had been meant to be just a handle, whose exact definition
should not be relied on), has been converted into a pcicfgregs* .

The Tekram AMD SCSI driver bogusly relied on the definition of pcici_t
and has been converted to just call the PCI drivers functions to access
configuration space register, instead of inventing its own ...

This code is by no means complete, but assumed to be fully operational,
and brings the official code base more in line with my development code.

A new generic device descriptor data type has to be agreed on. The PCI
code will then use that data type to provide new functionality:

1) userconfig support
2) "wired" PCI devices
3) conflicts checking against ISA/EISA
4) maps will depend on the command register enable bits
5) PCI to Anything bridges can be defined as devices,
   and are probed like any "standard" PCI device.

The following features are currently missing, but will be added back,
soon:

1) unknown device probe message
2) suppression of "mirrored" devices caused by ancient, broken chip-sets

This code relies on generic shared interrupt support just commited to
kern_intr.c (plus the modifications of isa.c and isa_device.h).
1997-05-26 15:08:43 +00:00
se
eba9732c97 Add kern/kern_intr.c as a standard kernel component. This file contains
the new interrupt registration code, which is meant to be architecture
indeppendent.
1997-05-26 14:46:23 +00:00
darrenr
f083853503 Add lines for new files in ipfilter 1997-05-25 15:56:18 +00:00
peter
8f5a38010f uncomment wl again now that it compiles... 1997-05-25 07:18:22 +00:00
peter
9b1a826657 The wavelan driver doesn't even compile! 1997-05-24 12:23:44 +00:00
kato
b7e54e530c Synchronize with sys/i386/conf/Makefile.i386 revision 1.97. 1997-05-23 10:12:10 +00:00
kato
29ff6d4741 Synchronize with sys/i386/conf/files.i386 and options.i386 revisions
1.161 and 1.45, respectively.
1997-05-23 10:11:04 +00:00
msmith
c15db4fd91 Add the 'wl' ISA Wavelan driver.
Obtained from:	Jim Binkley <jrb@cs.pdx.edu>
1997-05-22 08:47:40 +00:00
jdp
9d49e3ca10 This commit affects ELF kernels only.
Remove "setdefs.h" and arrange to generate it automatically at
ELF kernel build time.

"gensetdefs.c" is a utility which scans a set of ELF object files
and outputs a line ``DEFINE_SET(name, length);'' for each linker
set that it finds.  When generating an ELF kernel, this is run just
before the final link to generate "setdefs.h".

Remove the init_sets() function from "setdef0.c", and its call from
"machdep.c".  Since "gensetdefs.c" calculates the length of each
set, it is no longer necessary in an ELF kernel to count the set
elements at kernel initialization time.  Also remove "set_of_sets"
which was used for this purpose.

Link "setdef0" and "setdef1" into the kernel only if building for
ELF.  Since init_sets() is no longer used, there is no need to link
them into an a.out kernel.
1997-05-21 23:21:30 +00:00
tegge
6ea632b44d Bring in some kernel bootp support. This removes the need for netboot
to fill in the nfs_diskless structure, at the cost of some kernel
bloat. The advantage is that this code works on a wider range of
network adapters than netboot. Several new kernel options are
documented in LINT.
Obtained from: parts of the code comes from NetBSD.
1997-05-11 18:05:39 +00:00
fsmp
16da77dbdf Documented SMP_AUTOSTART to be working. 1997-05-10 17:40:53 +00:00
jhay
bb3545a8ca Remove IPXPRINTFS, it is now a sysctl knob. 1997-05-10 11:16:22 +00:00
jmg
d166039f66 forgot to add the "longer" description of bktr and add an example device
line.
1997-05-10 09:23:55 +00:00
jmg
4ad35b6a1a add a line for bktr (Bt848 base capture cards) to LINT. 1997-05-10 09:18:46 +00:00
kjc
2b17ef6899 merge ATM driver 1997-05-09 12:19:06 +00:00
kato
561973a5ca Synchronize with sys/i386/conf/options.i386 revision 1.44. 1997-05-08 09:18:11 +00:00
kato
cd7f26a2ed Synchronize with sys/i386/conf/Makefile.pc98 revision 1.96. 1997-05-08 09:13:40 +00:00
peter
a49c3ce9ef Round 1 of a long series of commits..
Move SMP and APIC_IO from opt_smp.h to opt_global.h
1997-05-07 19:39:16 +00:00
dfr
a5c67c037d This is the kernel linker. To use it, you will first need to apply
the patches in freefall:/home/dfr/ld.diffs to your ld sources and set
BINFORMAT to aoutkld when linking the kernel.

Library changes and userland utilities will appear in a later commit.
1997-05-07 16:05:47 +00:00
fsmp
8676b7935d A *little* more descriptive test for options. 1997-05-06 18:24:17 +00:00
dfr
7af09e9fc1 Add SMPHDRS to CLEANFILES instead of replacing its current value. 1997-05-06 14:29:56 +00:00
joerg
8cea5b917d This mega-commit brings the following:
. It makes cd9660 root f/s working again.
. It makes CD9660 a new-style option.
. It adds support to mount an ISO9660 multi-session CD-ROM as the root
  filesystem (the last session actually, but that's what is expected
  behaviour).

Sigh.  The CDIOREADTOCENTRYS did a copyout() of its own, and thus has
been unusable for me for this work.  Too bad it didn't simply stuff
the max 100 entries into the struct ioc_read_toc_entry, but relied on
a user supplied data buffer instead. :-(  I now had to reinvent the
wheel, and created a CDIOREADTOCENTRY ioctl command that can be used
in a kernel context.

While doing this, i noticed the following bogosities in existing CD-ROM
drivers:

wcd:	This driver is likely to be totally bogus when someone tries
	two succeeding CDIOREADTOCENTRYS (or now CDIOREADTOCENTRY)
	commands with requesting MSF format, since it apparently
	operates on an internal table.

scd:	This driver apparently returns just a single TOC entry only for
	the CDIOREADTOCENTRYS command.

I have only been able to test the CDIOREADTOCENTRY command with the
cd(4) driver.  I hereby request the respective maintainers of the
other CD-ROM drivers to verify my code for their driver.  When it
comes to merging this CD-ROM multisession stuff into RELENG_2_2 i will
only consider drivers where i've got a confirmation that it actually
works.
1997-05-04 15:24:23 +00:00
peter
feda6c95bd add net/if_media.c 1997-05-03 21:06:00 +00:00
fsmp
76ba852fc3 removed:
opt_smp_invltlb.h
from:
SMPHDRS=        opt_smp.h opt_smp_invltlb.h

SMP_INVLTLB is no longer a valid config option, the invalidation of the TLB
via inter-CPU IPIs is now standard when APIC_IO is used.
1997-04-30 21:54:01 +00:00
bde
b07e05ad3f Fixed the SMP fixes:
- fixed dependencies so that `make depend' isn't necessary.
- added new files to CLEANFILES.
- fixed style.
1997-04-30 20:56:37 +00:00
ache
a9bc90241a bugfix: 'make depend' cause all LKMs rebuild 1997-04-30 06:04:17 +00:00
kato
f93fd13d02 Synchronize with sys/i386/conf/options.i386 and sys/i386/isa/wd.c
revisions 1.43 and 1.129, respectively.
1997-04-29 03:15:47 +00:00
se
299d0a28fc Move CMD640 option from kernel Makefile into opt_wd.h
Submitted by:		Wolfgang Helbig <helbig@mx.ba-stuttgart.de>
1997-04-28 19:26:18 +00:00
kato
59ffd5c16c Synchornize with sys/i386/conf/options.i386 revision 1.42. 1997-04-28 15:49:55 +00:00
kato
ecc4c74468 Synchronize with sys/i386/conf/Makefile.i386 revision 1.95. 1997-04-28 15:48:49 +00:00
fsmp
0790f42145 remove the SMP_INVLTLB option, making the code default for APIC_IO.
Reviewed by:	informal discussion with Peter Wemm <peter@spinner.DIALix.COM>
1997-04-28 00:24:28 +00:00
fsmp
7ea9f4a42f Submitted by: Wolfgang Helbig <helbig@MX.BA-Stuttgart.De>
make world fails when it tries to build LKMs because the files
	opt_smp.h
	opt_smp_invltbl.h
are missing.

This patch to /usr/src/share/mk/bsd.kmod.mk is a temporary workaround.

Note that LKMs built in this way may or may NOT work properly with an
SMP kernel.
1997-04-28 00:02:22 +00:00
peter
2055c18199 Create a special option file "opt_global.h" which is included by all
source files via a 'cc -include opt_global.h ...' type arrangement.
This means we can untangle certain header files.

options.i386 has a placeholder until it has a real member so we can avoid
having to teach config about it just yet.

Reviewed by: bde
1997-04-27 20:01:47 +00:00
kato
dc6ff17616 Merge SMP code from IBM-PC tree into PC-98 tree. 1997-04-27 13:22:09 +00:00
peter
6323aa10bf Man the liferafts! Here comes the long awaited SMP -> -current merge!
There are various options documented in i386/conf/LINT, there is more to
come over the next few days.

The kernel should run pretty much "as before" without the options to
activate SMP mode.

There are a handful of known "loose ends" that need to be fixed, but
have been put off since the SMP kernel is in a moderately good condition
at the moment.

This commit is the result of the tinkering and testing over the last 14
months by many people.  A special thanks to Steve Passe for implementing
the APIC code!
1997-04-26 11:46:25 +00:00
kato
7f07863164 Synchronize with sys/i386/conf/Makefile.i386, sys/i386/i386/machdep.c
and sys/i386/isa/npx.c revisions 1.94, 1.238 and 1.41, respectively.
1997-04-22 12:20:50 +00:00
jdp
ae3a563c6e Make the necessary changes so that an ELF kernel can be built. I
have successfully built, booted, and run a number of different ELF
kernel configurations, including GENERIC.  LINT also builds and
links cleanly, though I have not tried to boot it.

The impact on developers is virtually nil, except for two things.
All linker sets that might possibly be present in the kernel must be
listed in "sys/i386/i386/setdefs.h".  And all C symbols that are
also referenced from assembly language code must be listed in
"sys/i386/include/asnames.h".  It so happens that failure to do
these things will have no impact on the a.out kernel.  But it will
break the build of the ELF kernel.

The ELF bootloader works, but it is not ready to commit quite yet.
1997-04-22 06:55:47 +00:00
kato
c87ecd09ae Synchronize with sys/i386/conf/files.i386 revision 1.159. 1997-04-15 11:43:10 +00:00
gibbs
f1730f3a0a GENERIC, LINT:
Add an ie entry that corresponds to the location the old ix entry used
to probe and kill the ix entry.

files.i386:
Remove entries for the ix driver.
1997-04-14 00:35:25 +00:00
jkh
1b2fdd568d Support GLOBAL style tags. 1997-04-13 06:44:25 +00:00
kato
172bebd714 Enables lnc driver on PC-98 to support NEC SV-98/2-B06 PCI card.
Cascade mode of DMA is disabled when PC98 is defined because PC-98
doesn't support it.
1997-04-08 10:33:24 +00:00
bde
3fde995907 Documented new serial console flags.
Removed dead serial console options.

Reorganised sio and serial console options.

Added undocumented options CLUSTERDEBUG and NPX_DEBUG.
1997-04-07 01:26:34 +00:00
kato
3913c4d60b Synchronize with sys/i386/conf/options.i386 revision 1.39. 1997-04-05 15:06:30 +00:00
bde
a751ade0a4 Moved COMCONSOLE, CONADDR and CONUNIT to defunct options. 1997-04-05 13:21:08 +00:00
kato
2d3b8026d7 Synchronize with sys/i386/confi/files.i386 revision 1.158. 1997-04-03 09:55:26 +00:00
gibbs
3217687a89 make obj before building the aic7xxx assembler. This puts the object
files in the right place.

The clean rule still isn't quite right since currently config doesn't
allow the specification of arbitrary clean rules.
1997-04-03 05:57:16 +00:00
phk
fc10d8f0c7 Sanitize APM a bit. Convert various #ifdef to id_flags instead.
You may want to add "flags 0x31" to apm0 if you have a lousy
implementation.  Read LINT.
1997-03-29 11:07:12 +00:00
ache
3e779d8c7b Add "conflicts" to sbmidi0 since configured irq passed back to isa
and conflict with sb0 irq.

NOTE: existen configurations require "conflicts" adding to sbmidi0 now
1997-03-26 17:46:03 +00:00
ache
15f60c2c3e Add "conflicts" to sbxvi0 since all information now passed to isa
and conflict with sb0 happens.

NOTE: it affects existen configurations, add "conflicts" to sbxvi0 line
if you see probe error
1997-03-26 17:20:24 +00:00
joerg
627156aca3 Bring the dev/pdq entries into alphabetical order.
Forgotten by:	joerg :)
1997-03-26 17:00:36 +00:00