Commit Graph

54 Commits

Author SHA1 Message Date
scw
7a4dfd98e4 Quell an uninitialised variable warning. 2002-11-24 11:52:13 +00:00
drochner
69ea314996 call the capability list ptr by its name 2002-09-21 19:14:14 +00:00
drochner
7bc4622603 correct caplist head for Cardbus bridges 2002-09-21 18:56:03 +00:00
drochner
ec517fd6a5 -corrected "MSI" capability
-added some new subclasses and capabilities
-move capability list printing into a separate function and call it
 for each header type (not type 0 only)
2002-09-21 16:19:34 +00:00
sommerfeld
11aa3c6a28 Fortunately for us, all interrupt controllers are not 8259's 2002-05-19 00:01:09 +00:00
nathanw
f9de3e788b Make pci_conf_print() dump the device-dependent header in userspace, too. 2002-05-03 16:08:36 +00:00
drochner
b8d0641b68 iadd subclass codes from the 2.3 spec 2002-03-22 20:03:20 +00:00
lukem
9048aaae21 add RCSID 2001-11-13 07:48:40 +00:00
enami
e5a47b8cfa Include stdio.h when compiled in userland to pull in declaration of printf etc. 2001-11-13 03:12:44 +00:00
thorpej
829747c527 Allow this file to be used in userspace, as well. 2001-09-13 21:42:57 +00:00
thorpej
a3dfe45752 ANSI'ify. 2001-09-13 18:25:45 +00:00
enami
ba91e134c8 Fix sample code in comment; pci_conf_print() takes three arguments. 2001-09-09 01:45:29 +00:00
jdolecek
62fde088a1 adapt to pci_knowndevs[] being const, make local constant arrays const 2001-01-18 13:12:13 +00:00
soren
e38c89a886 s/iRDA/IrDA/ 2000-11-21 00:20:30 +00:00
cgd
a3dbabc67b Update for current PCI device class/subclass and capability codes.
(also, tweak the I2O subclass string to be "standard" -- the removal
of version info didn't extend that far.)
2000-10-07 18:58:13 +00:00
ad
903ae58e7b I2O subclasses currently have nothing to do with the protocol version. 2000-10-02 14:48:13 +00:00
cgd
cfd89531b4 don't attempt to size Host Bridge BARs. (it's a good way to die.)
provide a clue about 16-bit vs. 32-bit I/O BARs.
2000-09-02 00:48:20 +00:00
nathanw
fb20241fda When performing pci_config_dump:
- Display the full value of 64-bit BARs.
 - Avoid displaying the upper 32 bits of 64-bit BARs as a separate 32-bit BAR.
2000-08-03 19:58:55 +00:00
mrg
7c15053eed remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 16:08:42 +00:00
cgd
7990787b1b opt_pciverbose.h -> opt_pci.h (it's gonna be used by more things, soon) 2000-03-22 00:36:29 +00:00
drochner
4f1e715248 use BUS_SPACE_MAP_PREFETCHABLE instead BUS_SPACE_MAP_CACHEABLE where the
PCI BAR bit is referred to
2000-01-25 22:30:04 +00:00
kleink
5dc4b19d4d Report the Capability List support bit of the SR and, if set, print the
the Capability list pointer register as such as well as the capabilities
implemented in the list.
1999-12-15 12:27:26 +00:00
cgd
6146ed7db8 add classes/subclasses new in PCI 2.2. Needs a bit of cleanup, but then,
so does everything involving configuration space headers and if i don't
get this out of my source tree i'll go insane.
1999-09-27 03:20:47 +00:00
drochner
71fa656b19 use a symbolic definition for the PCI subsystem ID 1998-12-21 20:56:06 +00:00
mycroft
6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
augustss
deb00272b9 Add USB support. Supported so far:
* UHCI and OHCI host controllers on PCI
* Hubs
* HID devices withe special drivers for mouse and keyboard
* Printers
1998-07-12 19:51:55 +00:00
cgd
f2df55371d factor out some common code, and enhance functionality slightly: allow
the BAR-printing function to print a name for the register, factor out
a common register-bits function which can handle the fact that type 2
headers have a different size than is usual, and actually do something
useful with the rest of the bits in the type 2 header.
1998-06-26 17:53:09 +00:00
cgd
e3c75e1ca8 Clean up slightly, abstract pci_conf_print family's base address register
printing into a function, add a bit more pretty-printing of existing stuff.
Implement pretty-printers for type 1 and type 2 headers.  (Right now,
these are just quick stabs based on some on-line bridge docs that I have
handy on my laptop.  Mmmm, meetings.  I'll check the bits when I get
back within reach of my official docs.)
1998-05-28 02:26:00 +00:00
cgd
4b0876c74b largely reimplement pci_conf_print():
* print all configuration space registers.  Then, where possible,
  interpret them.  (That is, PRESENT ALL THE DATA, then interpret it --
  don't hide data behind interpretation.  Also, when interpreting
  fields, try to print out the specific value that's being interpreted.)
* handle different header types.
* allow caller to specify a function which can interpret the
  device-dependent header and is responsible for pretty-printing it.

It spews (use 'options MSGBUFSIZE=...' 8-), but when you want the data,
you really want _all_ of it.

Still needs some cleanup and additional code (e.g. interepretation
of PCI-PCI (type 1) and PCI-Cardbus (type 2(?)) bridge headers).
1998-05-18 17:25:17 +00:00
thorpej
5153af345d In pci_conf_print(), don't print a mapping register if the size is 0. 1998-05-03 19:46:15 +00:00
thorpej
93db65c28c Properly compute the region sizes in pci_conf_print(). Bug pointed out
by Chris Demetriou.
1998-05-03 19:41:33 +00:00
drochner
5f6ca9ef93 Avoid "unused variable" warning without PCIVERBOSE.
From mynhier@cs.utk.edu (PR kern/5328).
1998-04-20 14:16:26 +00:00
thorpej
a95c0ac15a Add pci_conf_print(), a function to dump the PCI configuration space, useful
in driver debugging.  From Zubin D. Dittia <zubin@clouseau.arl.wustl.edu>,
PR #4249.
1998-04-14 21:24:50 +00:00
enami
377e2c7b82 Declare PCIVERBOSE by defopt in files.pci. Include opt_pciverbose.h
in pci_subr.c.
1997-09-13 08:49:50 +00:00
cgd
2cde9c6e69 fix multi-function device support, add new known classes/subclasses,
and clean up class/subclass printing.  From brb@brig.com via PR 3359.
1997-03-19 19:38:46 +00:00
christos
86373f8cf9 backout kprintf changes 1996-10-13 01:37:04 +00:00
christos
95e30eafe7 printf -> kprintf, sprintf -> ksprintf 1996-10-10 19:58:18 +00:00
cgd
0d2cc07e1c remove some colons to be slightly more friendly to things trying to
parse autoconfiguration output.
1996-03-02 02:28:48 +00:00
cgd
8806ff8c86 oops; spaces -> tabs 1996-03-02 01:09:13 +00:00
cgd
c7241fb1ce if not PCIVERBOSE, don't say that vendor/product is "unknown," just say
what it is.
1996-03-02 01:07:47 +00:00
cgd
f1f9317dfb make PCI bus match/attach and sub-device attachment machine-independent. 1996-02-28 01:44:41 +00:00
cgd
0d743e5a05 update PCIVERBOSE code in various ways:
(1) remove the 'UNSUPP' keyword from the device list,
	    because it can't be reasonably used (becuase different
	    devices may be supported on different machines, for
	    good reason).
	(2) enhance pci_devinfo so that class/subclass information
	    is optional (so pci_devinfo can be used by drivers that
	    match classes of devices, and want to look up the
	    devices' names easily).
	(3) more known vendors and devices.
1996-01-22 21:08:09 +00:00
cgd
a2e0a97608 check for null subclass pointer. From Todd Mummert 1995-08-16 04:54:50 +00:00
cgd
6907f7f64d fix reference to incorrect struct (paste-o) 1995-06-21 03:56:09 +00:00
cgd
c4640b104d define and call "pci_devinfo()", which creates a string from the
vendor & product IDs and class information, which is printed if device
isn't found.  Optionally (via "PCIVERBOSE" option) does table lookup
to try to see if it knows what the device really is (informational only...).
1995-06-18 01:28:23 +00:00
cgd
6f13f2448a more appropriate name, as this only has PCI support subroutines. 1995-06-17 22:40:26 +00:00
cgd
bad826164e split single-subdevice lookup & attachment into a subroutine
(pci_attach_subdev()).  remove pciattach() function and the pcicd cfdriver
struct, the former because thre are a lot of attachment actions which really
are machine-dependent (perhaps even "most"), and the latter because now that
both pcimatch() and pciattach() are machine-dependent it's bad style to
declare them here and it gains nothing.
1995-05-23 03:43:06 +00:00
cgd
87ed227cb4 include files from the correct places. 1995-01-27 05:44:29 +00:00
mycroft
f8183b2d0e Make a wrapper match function to check the bus and device numbers, rather
than insisting that every driver do it.
1994-11-04 09:42:18 +00:00
mycroft
94cde915db Rename pciprobe() to pcimatch(), and move it to pci_machdep.c. 1994-11-03 22:27:16 +00:00