Commit Graph

59 Commits

Author SHA1 Message Date
mycroft 31a80e2d68 For the PCIVERBOSE case, separate vendors and products into separate tables.
Eliminating redundant pointers in the tables saves nearly 20K (20% of the table
size).  In the process, add a pci_findproduct() and make that and
pci_findvendor() return a "const char *".
2004-08-02 18:43:38 +00:00
itojun 6123043789 pass string length (= boundary info) to pci_devinfo so that we do not run over
the end of memory region
2004-04-23 21:13:05 +00:00
soren 10ced29306 Use the right bits for the AGP version. 2004-02-04 06:58:24 +00:00
fvdl d5aece61d6 Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
jdolecek c78fda0bcb fix typo in comment 2003-06-29 14:41:11 +00:00
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