summaryrefslogtreecommitdiffstats
path: root/sys/dev/pci
Commit message (Collapse)AuthorAgeFilesLines
* Add support for ioctl() accesses to PCI config space registers.se1996-10-222-4/+167
| | | | | | | | | Garrett Wollman sent me this code a few weeks ago for review, and I made some significant changes, which he in turn accepted ... In order to make use of these changes, a device entry has to added to /dev. Submitted by: wollman
* pci_map_mem() did a too restrictive check on the mapping type:se1996-10-141-2/+4
| | | | | | PCI_MAP_MEMORY_TYPE_32BIT_1M should be accepted as well as PCI_MAP_MEMORY_TYPE_32BIT (and now is). (Problem reported by David Greenman.)
* Removed more devconf leftovers.bde1996-09-102-40/+2
|
* Various cleanups for remanents of devconf.phk1996-09-081-11/+1
|
* Remove devconf, it never grew up to be of any use.phk1996-09-062-79/+5
|
* Fix code that deals with multiple host to PCI bridges by making the nextse1996-09-051-1/+2
| | | | one use the highest seen bus number plus 1 as its starting point.
* Add preliminary support for the Orion PCI chip set. It is special in these1996-09-021-21/+52
| | | | | | | | | | | | | | | | way it attaches multiple PCI buses directly to the CPU, instead of having them hanging off from PCI to PCI bridges. This code is a hack, and will be obsoleted by the planned rework of the PCI code, which will change the dealing with PCI to PCI bridges and other special devices significantly. The patch also adds a kern_devconf entry for PCI bus 0 which is assumed to be a child of cpu0. The new PCI code will make it possible to hand out the kern_devconf structure to a pci device being attached, since this is (regretably, IMHO) required by a few ISA devices. Finally there are new PCI ids for some Intel chip set devices, which had already been known to 2.1.5R, but did not make it into -current. This closes "kern/1558: PCI probe seems to have lost a device in -current".
* Scan PCI buses in order the BIOS has assigned them. This is sometimesasami1996-06-091-2/+4
| | | | | | | necessary to boot from a SCSI disk connected to a twin-channel adapter, and you have multiple of them (disks and adapters). Reviewed by: se
* Fix range check to actually test the variable that will be used asse1996-05-181-2/+2
| | | | | | an index later. Submitted by: Erich Stefan Boleyn <erich@uruk.org>
* Fix logic bug in pci bridge code. For a PCI-PCI bridge, secondaryasami1996-04-251-2/+2
| | | | | | | | should be <= than subordinate, not the other way around. They are both true if the bridge is not cascaded (i.e., twin-channel scsi/e-net adapters won't be affected by this bug), which is probably why it was unnoticed until today.
* Update PCI bus code from my current sources:se1996-04-141-155/+165
| | | | | | | | | | | | - always use pci_conf_read() and pci_conf_write(). (This is required to simulate non-existant devices in my system for PCI bridge code tests.) - reorder some functions (put the main functions at the end). - correct off by one bug in the code dealing with unitialized PCI to PCI bridge chips. (Bug found by ASAMI Satoshi.) - print function number for multi-function devices.
* Removed now-unused #includes of <machine/cpu.h>. They were for bootverbosebde1996-04-071-3/+1
| | | | being declared in the wrong place.
* Fixed unsigned longs that should have been vm_offset_t.bde1996-03-191-2/+2
| | | | | | | | | | vm_offset_t is currently unsigned long but should probably be plain unsigned for i386's to match the choice of minimal types to represent for fixed-width types in Lite2. Anyway, it shouldn't be assumed to be unsigned long. I only fixed the type mismatches that were detected when I changed vm_offset_t to unsigned. Only pointer type mismatches were detected.
* Remove limit of port I/O addresses to 65K, since PCI specifies 32 bitse1996-02-191-3/+5
| | | | | | | | | port addresses (even though the PC architecture doesn't support them). Add code to limit the I/O map size based on the lowest set bit of the address. This cures the problem with the BT946C only having a 16 bit map register, in voiolation of the PCI specs, without giving up the general support of >65K port regions.
* Add generic PCI to PCI bridge support.se1996-02-171-21/+68
| | | | Improve verbose boot messages for unidentified chips.
* Add heuristic to detect multi-function devices that don't announce thisse1996-01-301-34/+79
| | | | | | feature in the header type register, though it is required by the PCI spec. This should correctly probe both functions of the Intel 82371FB chip, without the need for a special case based on the device ID.
* Decode configuration for the IDE part of the Triton chipset. Thiswollman1996-01-271-1/+8
| | | | | | | | | | | includes a hack in the probe code: the 82371FB is a multifuction device, but doesn't properly set the configuration bit which indicates this. So, we just hard-wire all 82371FBs as multifunction devices. This does not actually make the bus-master IDE stuff work, although if anyone wants to work on that, I have the databooks that tell how to use it.
* Add support for multi-function devices.se1996-01-253-11/+32
|
* Make PCI interrupt handlers return void like everybody else does.se1996-01-232-34/+12
| | | | Reviewed by: davidg
* Fix bad typo: > was used instead of >> ...se1996-01-191-4/+4
| | | | Submitted by: Matt Thomas <matt@lkg.dec.com>
* Improve PCI probe messages by printing the bus number.se1996-01-191-3/+3
| | | | | | Add missing newline to PCI to PCI bridge message. Submitted by: Matt Thomas <matt@lkg.dec.com>
* Completed function declarations and/or added prototypes and/or addedbde1995-12-161-7/+15
| | | | | | | | #includes to get prototypes. pci now uses a different interrupt handler type for interrupts that it dispatches and the isa interrupt handler type for the interrupts that it handles.
* Fix the off-by-one error in the calculation of the valid port range.se1995-12-151-4/+4
| | | | | | | Reduce default value of pcicb_membase to 0x2000000 (from 0x4000000) since this seems to be the lower bound used by many systems. Submitted by: Mihoko Tanaka <m_tanaka@pa.yokogawa.co.jp>
* Another mega commit to staticize things.phk1995-12-141-3/+3
|
* Untangled the vm.h include file spaghetti.dg1995-12-071-2/+2
|
* Set default burst length limit to 32 bytes, since this seems to bese1995-12-061-2/+3
| | | | | | an acceptable value for all current chip sets (just a hint to PCI device drivers, used in the NCR driver, for example). Add PCI Vendor ID of ACER.
* Made pci.c compile again. It unfortunately depends on the isa interruptbde1995-11-211-1/+3
| | | | interface. Adding prototypes just made the dependency explicit.
* Completed function declarations and/or added prototypes.bde1995-11-211-3/+6
|
* Mega commit for sysctl.phk1995-11-201-12/+7
| | | | | | Convert the remaining sysctl stuff to the new way of doing things. the devconf stuff is the reason for the large number of files. Cleaned up some compiler warnings while I were there.
* Fixed bug where wrong thing was being checked for NULL before callingdg1995-10-021-2/+2
| | | | | free(), resulting in a panic. This happend whenever an irq had already been allocated by another device (like something on the ISA bus).
* Add vendor ID of Compaq, now that I found what it is ...se1995-09-141-2/+2
|
* Minor changes to the PCI probe messages.se1995-09-141-7/+6
|
* Make mapping messages depend on bootverbose flag.se1995-09-071-67/+182
| | | | Add PCI subclass to unknown device message.
* Initialize "name" to quiet compiler.dg1995-07-291-2/+2
|
* Add a few vendor IDs.se1995-07-271-8/+21
|
* Get rid of references to the linker supplied set length field.se1995-07-271-15/+15
| | | | Use the terminating NULL pointer as the end of list marker instead.
* Change message "not supported" to "no driver assigned", becausese1995-06-281-2/+2
| | | | | | | 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).
* Failure of the consistency checks for BIOS assigned mappings of bussesse1995-06-281-6/+16
| | | | connected via PCI to PCI bridges is considered non fatal for now.
* Remove trailing whitespace.rgrimes1995-05-302-9/+9
|
* bzero the malloced pci_devconf structure. This should fix the problem withdg1995-05-041-1/+2
| | | | several of freefall's recent crashes.
* Forward-declare kern_devconf for use in a prototype. Some driversbde1995-03-251-1/+3
| | | | | | | | | | | | 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.
* Restore my changes to initialize the kdc_shutdown routine pointer. Stefandg1995-03-231-4/+5
| | | | | 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).
* Completely new PCI code:se1995-03-213-568/+1114
| | | | | | | | | | | | | | 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>
* Added a new field to the pci_device struct called pd_shutdown to specifydg1995-03-172-6/+9
| | | | | | | 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.
* Speed up PCI attach code by ommiting test if its result is ignored anyway.se1995-03-021-13/+15
|
* First try to add support for PCI-PCI bridge chips (written for these1995-02-272-23/+90
| | | | | | | | | 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
* Deal with systems, that lack a fully decoded PCI configuration space.se1995-02-251-2/+22
| | | | Submitted by: <wolf@kintaro.cologne.de> Wolfgang Stanglmeier
* New PCI attach code:se1995-02-221-42/+120
| | | | | | | | | | | 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
* ncr.c:se1995-02-141-2/+8
| | | | | | | | | | | | | | 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
* YFfixphk1995-02-141-1/+2
|
OpenPOWER on IntegriCloud