Commit Graph

27 Commits

Author SHA1 Message Date
John Baldwin
8866f04eb1 - Teach pciconf(8) to list the PCI capabilities supported by each device
via a new -c flag to be used with -l.  Some simple parsing code is
  present for the following capabilities: Power Management, AGP, VPD,
  MSI, PCI-X, HyperTransport, Vendor-specific, EHCI Debug Port, PCI-PCI
  bridge subvendor ID, PCI-express, and MSI-X.
- Fix a few warnings in pciconf.c.
- Update some cruft in pciconf(8):
  - PCI 2.1 is no longer a revolutionary standard, and subvendor ID's are
    fairly common at this point, so reflect that.
  - Header type 2 is used for PCI-CardBus bridges.
  - Describe the -v option for -l after completing the basic -l description
    instead of disrupting the flow in the middle.

Reviewed by:	imp (partially)
MFC after:	1 week
2007-02-02 19:54:17 +00:00
Dag-Erling Smørgrav
7df76a1312 Use larger buffers to read lines from the vendor list.
Trim trailing whitespace and comments before parsing, and skip empty lines.
Skip subvendor / subdevice entries (which start with two tab characters).
Change the scanf() format string to match any amount and type of whitespace
between the device ID and the description text.

MFC after:	3 weeks
2005-08-18 11:11:40 +00:00
Dag-Erling Smørgrav
5eaf9703df Whitespace cleanup. 2005-08-18 11:04:49 +00:00
John-Mark Gurney
4ea3b0e7e2 add some additional pci classes and sub-classes..
Reviewed by:	imp (almost 6 months ago)
2005-03-26 20:31:09 +00:00
Warner Losh
7694a98213 Revert unintended commit that came in with 3rd clause removal 2004-08-07 16:36:46 +00:00
Lukas Ertl
ea39d07d2a Fix syntax error introduced in the last commit.
Additionally, since this file is written in C and not in Perl,
we need 'continue' instead of 'next'.
2004-08-07 14:37:49 +00:00
Warner Losh
486c8cc4c6 Per letter dated July 22, 1999 remove 3rd clause of Berkeley derived software
(with permission of addtional copyright holders where appropriate)
2004-08-07 04:28:56 +00:00
Robert Watson
6c72866dff Only a read-only file descriptor is required to implement list_devs()
and list_verbose(), so don't open /dev/pci read-write.  This allows
pciconf -l[v] to work for non-root users, assuming the securelevel is
0 or -1.

Problem experienced by:	William Michael Grim <wgrim@siue.edu>
2003-12-31 19:38:29 +00:00
John-Mark Gurney
e07efa8aa5 make pciconf understand it's own output as stated in the manpage.
pciconf -r none8@pci1:12:2: 0x0
now works.

PR:		bin/10312
Submitted by:	Castor Fu
2003-06-20 23:59:25 +00:00
John Polstra
3915eeb59d Use consistent terminology in the usage message, the man page
synopsis, and the man page description ("selector" vs. "sel" and
"addr" vs. "reg").

Fix the usage message and man page synopsis to show that the "value"
argument is not optional.
2002-09-17 18:10:39 +00:00
Søren Schmidt
ca8ad94279 When asked to print bytes (-b option) do that and put 16 on a line. 2002-02-26 10:40:42 +00:00
Warner Losh
8d0421472a Support a range of registers to read.
eg	pciconf -r pci0:10:0 0:0xff
and keep the output of the old singleton the same.

Reviewed by: audit@, dd

MFC after: 10 days
2001-05-31 18:31:43 +00:00
Warner Losh
107054204b Minor style(9) tweak: if ( instead of if(. 2001-05-31 05:57:49 +00:00
Mike Smith
595b174add Update for new location of pcireg.h. 2000-12-09 00:07:46 +00:00
Mike Smith
a54bc9d028 Update to improve handling of verbose PCI vendor/device information.
- Read the database from /usr/share/misc (or wherever else we're pointed)
   rather than compiling it in.
 - Decode the class/subclass fields if requested.
 - Print things in a slightly longer but more readable format.
2000-12-07 10:52:59 +00:00
Mike Smith
d8134896e9 Add support for decoding the PCI vendor and device ID registers. Add a
database of about 1400 vendors and 2700 devices courtesy of
www.yourvote.com/pci.  We still need to add some more, but this is a good
start.
2000-11-13 12:08:29 +00:00
Kenneth D. Merry
64ae346b52 [ repository copy of sys/pci/pci_ioctl.h to sys/sys/pciio.h happened in the
background ]

Rename sys/pci/pci_ioctl.h to sys/sys/pciio.h to make it easier for
userland programs to use this interface.  Reformat the file, and add a
BSD-style copyright to it.

Add a new man page for pci(4).  The PCIOCGETCONF, PCIOCREAD, and PCIOCWRITE
ioctls are documented, but the PCIOCATTACHED ioctl is not documented
because it is not implemented.

Change includes of <pci/pci_ioctl.h> to <sys/pciio.h> or remove them
altogether.  In many cases, pci_ioctl.h was unused.

Reviewed by:	steve
1999-12-08 17:44:04 +00:00
Philippe Charnier
541c4ca06d .Fn -> .Xr
Do not start warn() message with uppercase.
1999-11-27 16:59:06 +00:00
Peter Wemm
97d92980a9 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
Peter Wemm
7ccb2b3494 Fix a few problems on the Alpha, and fix -Wall while here.
Before:
isab0@pci0:8:0: class=0x060100 card=0x00000000 chip=0xffffffffc6931080 ...
After:
isab0@pci0:8:0: class=0x060100 card=0x00000000 chip=0xc6931080 ...
1999-08-23 12:59:03 +00:00
Kenneth D. Merry
7f054c59a5 Modify pciconf(8) so that it will print out PCI devices that have no driver
configured in the kernel.  It gives them a device name of "none" and
monotonically incrementing unit numbers.  (starting at 0)  Before, pciconf
would just skip over unconfigured devices.  (unconfigured devices can be
detected because they have a null string for a device name)

Update the man page to reflect the new pciconf output.  Unfortunately, this
causes the sample 'pciconf -l' output lines to wrap, but I'm not sure what
to do about that really.

If anyone presents a reasonable case for printing out something other than
"none1" for unconfigured devices, I'm willing to listen.
1998-11-12 00:22:30 +00:00
Justin T. Gibbs
06915ea69a Revive PCIConf.
Submitted by:	"Kenneth D. Merry" <ken@plutotech.com>
1998-09-15 08:21:13 +00:00
Philippe Charnier
fbe2a70d6b Sync usage string with man page. 1997-10-06 11:38:30 +00:00
Warner Losh
6c3f552a31 compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-31 05:11:47 +00:00
Stefan Eßer
b755685be8 Add PCI LKM support:New -a option checks whether a driver has been assigned to a device. 1997-01-21 23:29:15 +00:00
Stefan Eßer
b1427fd412 Fix core dump after printing usage message (pointed out by BDE).
Add printing of PCI header type register. (This makes the output
80 columns wide. Ughh. I'm looking for a better way to put the
information on one line ...)
1996-11-16 22:05:52 +00:00
Stefan Eßer
d5ee39ef58 Initial version of the user land code for the PCI config register
access functions. Written by Garrett Wollman and modified by me to
better match my view of the (PCI) world.

Submitted by:	wollman
1996-10-22 20:27:47 +00:00