Commit Graph

378 Commits

Author SHA1 Message Date
Stefan Eßer
c411726b79 Change message "not supported" to "no driver assigned", because
people tend to assume their devices won't work if they see this
message, though it may indicate that those devices just don't
need any PCI driver (e.g. devices that emulate an ISA card, or
that have been initialised by the BIOS and need no further care).
1995-06-28 16:32:54 +00:00
Stefan Eßer
78e444665c Failure of the consistency checks for BIOS assigned mappings of busses
connected via PCI to PCI bridges is considered non fatal for now.
1995-06-28 15:59:04 +00:00
Rodney W. Grimes
9b2e535452 Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
David Greenman
cbb15d7c97 bzero the malloced pci_devconf structure. This should fix the problem with
several of freefall's recent crashes.
1995-05-04 06:57:11 +00:00
Bruce Evans
f0d47944e2 Forward-declare kern_devconf for use in a prototype. Some drivers
include <pci/pcivar.h> without including <sys/devconf.h> and other
drivers include <pci/pcivar.h> before including <sys/devconf.h> if
certain identifiers are defined.

The devconf headers have convoluted interdependencies.  <sys/devconf.h>
includes <machine/devconf.h> which includes <pci/pcivar.h>.  Most
drivers include <sys/devconf.h> so even isa drivers depend on
<pci/pcivar.h>.  For similar reasons, most drivers depend on another
pci header, on an isa header and on two scsi headers.
1995-03-25 21:10:38 +00:00
David Greenman
a54907a1a7 Restore my changes to initialize the kdc_shutdown routine pointer. Stefan
clobbered it in his previous commit and not having it causes the machine
to panic during reboot (as well as not doing the important shutdown callout).
1995-03-23 06:14:44 +00:00
Stefan Eßer
8673e05a9a Completely new PCI code:
1) Supports PCI to PCI bridge devices (and tries to initialise them,
   even if the BIOS is brain dead).
2) Supports shared PCI interrupts. Interrupt handlers now MUST return
   '0' if they found nothing to do, '1' otherwise.

New features tested with i486 systems based on the Intel Saturn and
a DEC 4channel Ethernet card only, but expected to work on most systems.

The option PCI_REMAP has been removed !

Submitted by:	Wolfgang Stanglmeier <wolf@kintaro.cologne.de>
1995-03-21 23:01:06 +00:00
David Greenman
cb09d35cb0 Added a new field to the pci_device struct called pd_shutdown to specify
a device specific shutdown routine for devconf. Assign the value of this
to the kern_devconf struct. Implement a device shutdown routine for if_de
that disables the device. This will stop the device from corrupting memory
after a reboot.
1995-03-17 04:27:21 +00:00
Stefan Eßer
79a6470e10 Speed up PCI attach code by ommiting test if its result is ignored anyway. 1995-03-02 21:51:53 +00:00
Stefan Eßer
04dbb40865 First try to add support for PCI-PCI bridge chips (written for the
DEC 21050 chip in particular, don't have specs of other such chips).

This should add support for Multiple-Ethernet PCI cards (e.g. Znyx 314).

Reviewed by:	se
Submitted by:	<wolf@kintaro.cologne.de> Wolfgang Stanglmeier
1995-02-27 17:17:14 +00:00
Stefan Eßer
ef2dee21dc Deal with systems, that lack a fully decoded PCI configuration space.
Submitted by:	<wolf@kintaro.cologne.de> Wolfgang Stanglmeier
1995-02-25 17:26:22 +00:00
Stefan Eßer
d9dc2f74ef New PCI attach code:
PCI BIOS mappings are retained, except if option PCI_REMAP
is specified in the kernel config file.
There is now a list of attach addresses, and the first
address that seems to make some device registers appear
is chosen.

Reviewed by:	se
Submitted by:	wolf
1995-02-22 14:17:15 +00:00
Stefan Eßer
9ddf96998e ncr.c:
New config option "NCR_IOMAPPED" makes the driver use port I/O.
Put back in 53c815 defines, submitted by Mikael Hybsch <micke@dynas.se>.
These had got lost between cvs rev. 1.14 and now ...

pci.c:

Really write config space register.
Assign ports starting at 0xbc00.

Submitted by:	wolf
Reviewed by:	se
1995-02-14 23:33:38 +00:00
Poul-Henning Kamp
a14b2c282e YFfix 1995-02-14 06:19:23 +00:00
Stefan Eßer
fd65acba73 Try to detect overlapping PCI memory assignment.
(This can only happen with devices that are mapped
by the BIOS.)

Reviewed by:	se
Submitted by:	wolf (Wolfgang Stanglmeier)
1995-02-09 20:20:33 +00:00
Stefan Eßer
3f624a0187 Removed misleading copyright note. This file contains just
definitions taken from the PCI specs. Part of them were typed
in by Wolfgang Stanglmeier, the (at that time unneeded) rest
by Charles Hannum (thanks !).
1995-02-02 22:01:40 +00:00
David Greenman
6398cf3113 Reapplied all of Stefan's changes. What a mess - the files were modified
and moved at the same time. This made it *very* difficult to fix the
revision log lossage that happend when the files were moved. SIGH.
1995-02-02 13:12:18 +00:00
David Greenman
77e50733d8 Fixed up include paths after copying these in the repository. 1995-02-02 12:36:19 +00:00
Stefan Eßer
5e70573817 Reviewed by: se
Submitted by:	wolf (Wolfgang Stanglmeier)
Files moved here from sys/i386/pci, since they are meant to be
architecture independent.
1995-02-01 22:56:55 +00:00
Stefan Eßer
66da596420 Submitted by:
Added hooks for "lsdev" ...
PCI devices should need no individual code for lsdev.
1994-11-02 23:47:14 +00:00
Stefan Eßer
422cdd6132 Modified fifth parameter (imask) to register_intr() according to
new definition of that function.
1994-10-25 23:09:08 +00:00
Stefan Eßer
65772aee92 Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de>
Bug fixed, that caused system hang on first interrupt on some motherboards.

New version of PCI bus configuration code, now supports dynamic interrupt
configuration (using BIOS supplied values).
NCR SCSI and DEC Ethernet driver patched to use this feature.
*** Remove PCI IRQ specifications from your kernel config file ! ***
1994-10-12 02:33:23 +00:00
Stefan Eßer
8870af7f56 Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de>
Files merged and name change: pci_device.h + pcibios.h -> pcireg.h
1994-10-12 02:25:03 +00:00
Garrett Wollman
e902866cf7 Correct DEC -> Digital Equipment Corporation. 1994-10-01 00:18:53 +00:00
Stefan Eßer
799e5f277f Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de>
New version with improved support for WIDE SCSI using the NCR 53c825.
Test for buggy secondary cache implementations.
PCI Int to IRQ mapping now specified per slot.
1994-09-28 16:34:13 +00:00
Stefan Eßer
4a078e7d90 Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de> + <se>
Improved bus probing, symbolic names for registers..
Chip set parameters get dumped for intel PCI chip sets
(82424+82434 only, for now).
1994-09-16 00:33:29 +00:00
Garrett Wollman
f86233fe54 Added a bit of missing functionality to make this work correctly on a
wider variety of systems.  Include the deivers from pci_intel.c in
pci_config.c (I hope this is what was intended; my system works ok).
Use pmap_mapdev().  Automatically map any large linear frame buffers
or whatnot in VGA-style devices which ordinarily would not have their
own drivers, and don't call not_supported() for them.  (This shuts up
complaints about my Matrox card.)  Include the beginnings of what could
eventually become dynamically-loadable PCI devices.  Allow for the
possibility of PCI devices simply providing a PCI veneer over an existing
ISA device, and shut up about them, too.
Make autoconfiguration text conform more to the style of other supported
buses.
1994-09-14 01:34:51 +00:00
Stefan Eßer
37bd2c9c33 Submitted by: Wolfgang Stanglmeier <wolf@dentaro.GUN.de> + Stefan Esser <se>
Directory for PCI autoconfigure and device driver code.
1994-09-01 01:45:19 +00:00