From: Sehong Na Date: Sat, 31 May 2014 03:57:32 +0000 (+0900) Subject: Initialize Tizen 2.3 X-Git-Tag: 2.3a_release X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Ftags%2F2.3a_release;p=framework%2Fsystem%2Fpciutils.git Initialize Tizen 2.3 --- 29f70b21ea0d9afdbc3dee4cb484cac5b10183a5 diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..d60c31a --- /dev/null +++ b/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..848f6de --- /dev/null +++ b/ChangeLog @@ -0,0 +1,1695 @@ +2008-04-10 Martin Mares + + * Released as 3.0.0. + + * Updated API and ABI version. + +2008-02-20 Martin Mares + + * Released as 2.99.1-alpha2. + + * Changed the default domain for the DNS resolver. + +2008-02-18 Martin Mares + + * Released as 2.99.1-alpha1. + + * The makefile system has been reworked. All configuration settings + are now passed to the configure script in environment variables, + allowing for easy tweaking in the top-level Makefile. All control + knobs are now described in the README. + + * The libpci can be built as a shared library with properly restricted + symbol exports. Use `make SHARED=yes' to enable that or `make SHARED=local' + for a local testing build (with hardwired paths to the library, so that + it does not need installation). + + * The example program has been moved from lib/example.c to the top-level + directory, because it should be built exactly as the other utilities + are. It has been also improved slightly to educate better. + + * The i386-ports method is enabled on Linux/x86_64 as well. + +2008-02-13 Martin Mares + + * Released as 2.2.10-net2. + + * Support for resolving of PCI ID's using DNS together with a local + cache of resolved entries has been added. See the `-q' and `-Q' options + of lspci. + + * The library now has a generic system of settable parameters, which + also include settings of the DNS resolver and cache. An `-O' option + has been added to lspci and setpci to allow setting of these options. + + * Configuration of the access methods are now specified by the new + parameter system, replacing the pci_access->method_params array. + + * Access methods now also have sensible names and help texts and it + is possible to look up method ID by a name. + + * An `-A' switch has been added to both lspci and setpci, allowing to + select an arbitrary access method. The `-P' switch (configure proc + backend) has been removed as it is no longer needed and I do not know + any its user. + + * Several source files have been split for better maintainability + (most notably the resolving of ID's). + + * Man pages and help texts have been updated. A new man page `pcilib(7)' + has been added and description of library options has been moved there. + + * When an unknown device ID is encountered, we print `Device ' + instead of `Unknown device '. It uses less space and it also + should reduce the number of inexperienced users complaining that + the device is not supported by the OS. To lookup up OS drivers, + use the `-k' option. + + * PCI_LIB_VERSION has been bumped to 0x020299. + + * Makefile: stripping of the binaries during installation can be + overridden by the STRIP variable. + + * lib/types.h: We use the integer types from if the + compiler claims C99 support. + +2008-02-11 Martin Mares + + * Released as 2.2.10. + + * lspci.c, setpci.c: Cleaned up the list of options. + + * lib/names.c: Fix displaying of errors reported by zlib. + Previously, the buffer containing the error message had + been deallocated by gzclose() before the message was printed. + +2008-01-07 Martin Mares + + * update-pciids.sh: Added quiet mode (-q). Clean up uncompressed + files left by previous versions of the pciutils. Patch by Mike + Frysinger. + + * update-pciids.man: Mention the -q switch. + +2007-11-29 Martin Mares + + * lib/dump.c: Squashed compiler warnings about code with + no effect (there really were surplus *'s). + +2007-11-06 Martin Mares + + * Released as 2.2.9. + + * lspci.c: Added a new switch `-k' which requests printing + of information on kernel drivers attached to each device + and on kernel modules reporting the ability to handle the + device. So far, this is supported only on Linux with the + sysfs back-end, so it is implemented internally in the lspci + instead of the libpci. Thanks to Anicka + for help. + +2007-10-19 Martin Mares + + * Makefile, lib/Makefile: Moved -lz from LDFLAGS to LDLIBS. + Also added an explicit pattern rule for linking to make sure + that LDLIBS is used on all platforms. Thanks to Dan Nicholson + for the suggestion. + +2007-10-19 Martin Mares + + * Released as 2.2.8. + + * pci.ids: Revised class codes to match Conventional PCI 3.0 specs. + Added a couple of new ones, renumbered `ADMA continuous operation' + prog-if to 0x30 (even the old SATA Class Code ECN doesn't mention + 0x40) and renumbered the satellite communication controllers. + + * lib/header.h: Include `PCI hot-plug' and `Secure device' + capabilities from PCI 3.0 specs. Also added `SATA HBA' and + `Advanced features' caps from various ECN's. + + * lspci.c: All known capabilities have at least their name displayed + now. When we are unable to decode them completely, we signalize it + with a `' mark. + + * lspci.man: Document `' and also mention that extended config + space is currently available only with the linux_sysfs back-end. + + * lspci.c: Decode the Debug port capability (per EHCI 0.96 spec). + + * lspci.c: Big code cleanup: re-arranged functions in the code, + renamed everything related to capabilities to cap_* and + all options except verbose to opt_*. + +2007-10-14 Martin Mares + + * lib/[fno]bsd-*: Removed extraneous braces. + +2007-10-12 Martin Mares + + * Capability loop detection introduced 2.2.7 did not work + properly with extended capabilities. Fixed. + +2007-10-05 Martin Mares + + * Released as 2.2.7. + + * lspci.c (show_caps, show_ext_caps): Detect and report loops in + capability lists. + + * lspci.c, lib/header.h: Finished decoding of the PCI Express + capability. The extended capabilities remain undecoded for now, + but at least the list of them has been updated to reflect the + current PCI Express 2.0 spec. + + * lspci.c, lib/header.h: Decode new bits of traditional registers + as defined by PCIE / PCI-X. This includes discard timers in the bridge + control register and INTx enable/status in device control/status + registers. + + * lib/fbsd-device.c: Support domains on new FreeBSD's. Contributed + by Marius Strobl. + +2007-09-12 Hasso Tepper + + * Extended the fbsd-device backend to run on Dragonfly BSD. + + * lspci.c: alloca() is declared in on BSD's, not . + +2007-09-03 Martin Mares + + * Resurrected the Windows port, including cross-compilation by MinGW. + Patch by Samuel Bronson . + +2007-08-31 Martin Mares + + * Makefile, lib/Makefile: `ar' and `ranlib' can be overriden to allow + cross-compilation. + +2007-08-27 Martin Mares + + * lib/names.c (pci_open): When calling gzopen(), use "rb" file mode + instead of "r". This is needed on DOS systems, where this function + somewhat illogically uses the binary flag for the compressed file + instead of the decompressed stream inside, where binariness really + matters. + +2007-08-14 Martin Mares + + * lspci.c (show_ht): Added decoding of Hypertransport MSI mapping capability, + based on a patch by Jason Gunthorpe. + + * tests/cap-MSI-mapping: Added a test case. I plan to add test cases + (which are dumps of config space) for all new features. + +2007-06-20 Martin Mares + + * Released as 2.2.6. + + * Makefile: Added an "install-lib" target. Thanks to Dan Nicholson + for a patch. + + * Makefile, lib/Makefile: Generate and install pkg-config file + for libpci. Again by Dan Nicholson. + +2007-06-20 Thomas Schwinge + + * lib/i386-io-hurd.h: Rewritten for new Hurd kernels. + +2007-05-04 Martin Mares + + * Released as 2.2.5. + + * pci.ids: Updated to the current snapshot of the database. + +2007-02-14 Martin Mares + + * lspci.c (show_express): Added PCI/PCI-X to PCI-Express Bridge type. + Patch by Mark Glines. + +2007-02-09 Martin Mares + + * pci.ids: Updated to the current snapshot of the database. + +2007-02-06 Martin Mares + + * Replaced bzero() by memset() everywhere, it's better to lose a tiny + bit of readability than maintain hacks to make it work on various systems. + + * lib/configure: tr on Solaris is a bit weird and it requires `[A-Z]' + instead of `A-Z'. Fortunately, the extra brackets don't hurt otherwise. + + * lib/types.h, lib/configure: Solaris should use to get precise + integer types. + +2007-02-04 Martin Mares + + * lspci.c: alloca() needs . + +2006-09-17 Martin Mares + + * lib/dump.c: Fixed a couple of bugs in the dump backend which caused + devices with domains or with extended config space to be read incorrectly. + Also, dumps with partial lines are allowed now. + +2006-09-10 Martin Mares + + * pci.ids: Updated to the current database snapshot. + + * lspci.c (scan_device): If an error occurs when reading the standard config + header of a device, report it and ignore the device and return with exit + code 2 at the end. + +2006-09-09 Martin Mares + + * Released as 2.2.4. + + * maint/release: Remind the maintainer about the current PCI_LIB_VERSION. + + * lib/pci.h: Updated PCI_LIB_VERSION. + + * lspci.c (show_machine): In the `-m' mode, do proper shell escaping + if the fields printed contain quotes or backslashes. + + * lspci.c (show_machine): Added a `-vmm' mode, which removes the misuse + of the `Device' tag for two different purposes. + + * Makefile: Moved all system-dependent decisions to lib/configure, + since config.mk is included in the top-level Makefile anyway. + + * lib/configure: When configuring for Linux, ignore the kernel version + and always build all access methods. + + * Makefile (CFLAGS): Removed -Winline, it's not needed and triggers + at many non-interesting places with gcc 3.4. + + * Whitespace cleanup of all source files. + + * The pci.ids file can be stored compressed if zlib is available. + Added transparent decompression to lib/names.c, modified update-pciids.sh + to keep the file compressed if applicable, updated Makefiles. + Based on a patch by Matthew Wilcox, but all the bugs are mine. + + * Makefile, README: Allow installation to be done to a different directory + from the one we will eventually be placed in by setting DESTDIR. + Patch by Matthew Wilcox. + + * Added .gitignore files. + + * Makefile (clean): Clean *.orig, too. + + * Cleaned up usage of `char' and `byte'. + + * lib/header.h: PCI_CLASS_DOCKING_OTHER should be 0x0a80, not 0x0a01. + + * lib/header.h: Added PCI_CLASS_xxx constants for all classes currently + defined in the pci.ids file. + +2006-08-01 Martin Mares + + * lib/i386-io-hurd.h: Fixed a silly typo. + +2006-07-30 Martin Mares + + * lib/Makefile: Added a missing rule for obsd-device.o. + + * lspci.c, lib/header.h: Added support for MSI per-vector masking. + Contributed by Petr Vandrovec. + + * lspci.c, lib/header.h: Added support for the `bridge subsystem ID' + capability. Contributed by Petr Vandrovec. + + * lspci.c (show_htype1): Fixed bug in printing of 64-bit prefetchable + memory windows. Fix by Petr Vandrovec. + + * maint/release.pm: Exclude .git directory from releases. + + * lib/i386-ports.c, lib/i386-io-*: Report failures during port access + initialization by a->warn() instead of calling printf() or perror() + directly. + + * lib/i386-ports.c, lib/i386-io-*: Moved the logic which keeps track of + the port access state to generic code. + + * lib/i386-io-hurd.h: Ask the kernel for I/O port access appropriately. + Contributed by Thomas Schwinge and Samuel Thibault. + + * lib/i386-ports.c: Define _GNU_SOURCE, it's needed by the Hurd module. + + * lib/header.h: Whitespace cleanups. + + * lib/i386-io-windows.h: Fixed indentation and spelling. + + * README.Windows: Mention that WinIO.dll is needed and where to get it. + +2006-06-27 Martin Mares + + * lib/Makefile, Makefile: Added rules for building and cleaning the example. + + * lib/example.c: Show how to use PCI_FILL_CLASS and used another register + for demonstrating the config space accesses. The example is still very + incomplete, though. + + * lib/pci.h, lib/generic.c: Added PCI_FILL_CLASS. + + * lib/sysfs.c: Fetch device ID and class from sysfs, because they can + be modified by kernel fixups. + + * lspci.c: Use PCI_FILL_CLASS. Thanks to Matthew Willcox for the patch. + +2006-06-03 Martin Mares + + * lspci.c: Introduced the -nn switch. Thanks to David N. Welton + for the idea. + + * lib/names.c (pci_lookup_name): Introduced PCI_LOOKUP_MIXED and + cleaned up the name selection code. + + * lib/names.c (pci_lookup_name): If PCI_LOOKUP_NO_NUMBERS is given, + pci_access->numeric_ids is ignored. + + * lib/names.c (pci_lookup_name): When class is identified and + subclass isn't, display class name and subclass number. + +2006-05-31 Martin Mares + + * setpci.c (main): Don't crash when an invalid width is specified. + + * lspci.c, setpci.c, common.c: die() now uses the right program + name when printing an error message. + +2006-05-19 Martin Mares + + * README: Mention the public GIT tree. + + * README: Updated the list of ports. + +2006-05-10 Martin Mares + + * lib/configure, lib/fbsd-device.c: Added support for GNU/kFreeBSD. + Thanks to Petr Salinger for the patch. + +2006-05-05 Martin Mares + + * Released as 2.2.3. + + * lspci.c (scan_device): The -D switch didn't work as intended + in -m mode. + +2006-05-05 Martin Mares + + * Released as 2.2.2. + + * pci.ids: Updated to the current database snapshot. + + * lib/obsd-device.c (and other files in lib/*): Added OpenBSD + interface by Matthieu Herrb , based on + the existing FreeBSD interface. + + * Moved pciutils to a GIT repository, which now contains merged + history from both CVS and Arch. Good bye, TLA! + +2006-03-21 Martin Mares + + * lspci.c (show_slot_name): Avoid the previous changes in default + display of domain name when in machine-readable mode. However, `-D' + forces domain display even there. + + * lspci.man: Added a warning on -m being the only format, which is + guaranteed to be stable between lspci versions. + +2006-03-13 Martin Mares + + * lspci.man: Documented the -D switch. + + * lspci.c (show_slot_name, scan_device): If there are multiple PCI + domains or if the `-D' switch is used, show the domain number for + all devices. + + * lspci.c (show_verbose): Report cache line size in bytes. + + * update-pciids.sh: Use curl if available. Patch by Matthew Wilcox. + +2006-01-04 Martin Mares + + * lspci.c (show_express_link): Fixed decoding of link status register. + Thanks to Roland Dreier for his report. + +2005-12-12 Martin Mares + + * lib/nbsd-libpci.c: If libpci is used by an ordinary user, allow + at least read-only access. Patch by Pavel Celeda . + + * Makefile: Corrected library path on NetBSD. + +2005-11-26 Martin Mares + + * Released as 2.2.1. + + * lspci.c (show_machine): Subsystem vendors were printed incorrectly + in machine-readable modes. Thanks to Pavel Celeda for a bug report. + +2005-10-11 Martin Mares + + * lspci.c (new_bus): Fixed a memory leak. Thanks to Paul Sangree for reporting it. + +2005-09-21 Martin Mares + + * Released as 2.2.0. + + * pci.ids: Updated copyright header. + + * lib/sysfs.c (sysfs_get_resources): Removed warning about unsupported + 64-bit addresses, they are now always supported. + + * lspci.c (show_bases): Corrected printing of 64-bit addresses + in bus-centric mode. + + * lib/configure: Enable 64-bit addresses on all Linux systems. + + * lib/types.h: Don't pad 64-bit addresses to 16 xigits, only to 8 if they + are shorter. + +2005-09-11 Martin Mares + + * Released as 2.1.99-test11. + + * lspci.c: Removed unnecessary trailing zeros in pci_lookup_name() calls. + +2005-09-10 Martin Mares + + * Released as 2.1.99-test10. + + * pci.ids: Synchronized with the current database snapshot. + + * update-pciids.sh: Changed the default URL for downloading pci.ids + to http://pciids.sourceforge.net/v2.2/pci.ids. + + * lib/pci.h (PCI_LIB_VERSION): Added version identifier. + + * lib/names.c: Rewritten the name database module almost from scratch. + Everything is much cleaner and there are hopefully no more memory leaks; + pci_lookup_name() now uses varargs in a backward compatible fashion. + Introduced PCI_LOOKUP_NO_NUMBERS. + + The new code supports subsystem entries not tied to a specific device. + I had to extend the format of pci.ids in order to support it, so I have + extended the idea of the "C" (class) blocks and introduced "S" blocks + for subsystems. To avoid doing more incompatible changes in the future, + the parser skips unknown single-letter blocks without reporting errors. + +2005-08-23 Martin Mares + + * Released as 2.1.99-test9. + + * Makefile (OPT): Removed -fomit-frame-pointer, it's default in recent + gcc versions when optimizing anyway. + + * Made the path to pci.ids customizable and independent on the SHAREDIR. + Just override IDSDIR in the top-level Makefile. + + * pci.ids: Synchronized with the current database snapshot. + + * lspci.man, setpci.man: Improved the man pages. Documented all access + methods and which operations are privileged. + + * lspci.c: Another rewrite of config register caching, now also including + lots of internal checks. It should be now perfectly able to cope with + portions of the configuration space being inaccessible, for example + due to insufficient access rights. + + * lspci.c (show_pcix_nobridge, show_pcix_bridge): Cleaned up dumping of PCI-X + capabilities. Includes partial support for PCI-X 2.0 (probably incomplete + as I haven't seen the spec). + + * lspci.c: Quell warnings about unused parameters. + + * lspci.c: Removed C++ comments. + + * lib/header.h: Merged definitions of extended capabilities and some new + PCI-X capability bits from linux-2.6.11/include/pci.h. + + * lspci.c (show_caps): Try to scan extended capabilities only if the + device has either PCI-X or PCI Express capability in its normal capability + list. + + * lib/dump.c (dump_init): Reading of dumps works again. The dump reader + now also remembers how much data it has read and refuses attempts to + access more than that. + + * setpci.man, lspci.c, README: prefer spelling "buses" over "busses". + + * lspci.c: If alloca() is not available, use xmalloc(), not malloc(). + + * lib/configure: Added x86_64 on Linux. + +2005-08-22 Martin Mares + + * lib/filter.c (pci_filter_parse_slot): Fixed parsing of domain filters. + Thanks to Matthew Wilcox for bug report. + + * lspci.c: Corrected spelling of "Hz" (it was "hz" at several places). + Thanks to Krzysztof Oledzki for pointing that out. + +2004-08-19 Martin Mares + + * pciutils.spec (%attr): Setting attributes for /sbin/* is an anachronism, + because pciutils by default install to /usr/sbin. Update. + +2004-08-13 Martin Mares + + * Released as 2.1.99-test8. + + * lib/types.h, lib/pci.h, lib/sysdep.h: `byte' and `word' are + no longer exported to the outside world. + + * README.Windows: Updated. + + * maint/release: Substitute version number in win32/config.h. + + * win32/config.h: Added. + + * lib/sysdep.h (bzero, strcasecmp): are macros on Windows. + + * compat/getopt.[ch]: Added copies of getopt.[ch] from the GNU + C library for use on systems where the default libraries lack + proper getopt. Currently used by the Windows port. + + * lib/sysdep.h, lib/types.h: Updates of the Windows port from + Alexander Stock. + + * lib/types.h: If PCI_HAVE_Uxx_TYPES is defined, libpci doesn't define + its own u8, u16, u32, byte and word types and uses what the user + has supplied instead. With this change, all namespace clashes should + be gone. + + * Makefile, lib/Makefile: Updated dependencies. + + * pciutils.h: Include lib/sysdep.h and move NONRET et al. there. + + * lib/sysdep.h: No need to include on FreeBSD, because + it is included unconditionally in lib/types.h. + + * Moved system-dependent stuff from lib/internal.h to lib/sysdep.h, + which is also used by the utilities. Also moved type declarations + from lib/pci.h to lib/types.h. + + * All files: Prepend a "PCI_" prefix in front of all configuration + defines to avoid namespace clashes. CAVEAT: If there is any libpci + application using the (undocumented) defines, it has to be updated. + + * lib/Makefile: Killed HAVE_OWN_HEADER_H, since we stopped sharing + headers with the kernel a couple of years ago. + + * lib/sysfs.c (sysfs_get_resources): We have 7 resources, not 6. + + * lspci.c (show_rom): Use the same logic for printing disabled + or unassigned ROM's as we do in show_bases() for the other BAR's. + + * lib/generic.c (pci_generic_fill_info): Better reaction to + invalid 64-bit addresses. Also d->hdrtype should not include + bit 7, which caused mysterious errors on multi-function devices. + + * lib/generic.c (pci_generic_fill_info): Fill in base addresses + even if the regions are known to be disabled. It is the client's + job to interpret them. (And it is not a trivial job if you want + to do it correctly, since you need to check I/O and memory enables + on all upstream bridges, too.) However, it could be interesting to + introduce functions for interpreting the addresses and even for + mapping the regions and doing I/O on them. + +2004-07-30 Martin Mares + + * lspci.c: HyperTransport improvements from Maciej. + +2004-07-11 Martin Mares + + * lib/sysfs.c (sysfs_get_resources): Arguments now correspond + to the format string. [Patch by Bill Nottingham] + +2004-07-05 Martin Mares + + * Released as 2.1.99-test7. + + * lspci.c (config_fetch): Wanted to merge Matthew's bug fix, but + ended up with rewriting the fetching mechanism to be fully dynamic, + but avoid reading config space registers not explicitly requested. + +2004-06-29 Matthew Wilcox + + * lspci.c: More work on PCI Express dumping. + + * lib/header.h: Updated PCI Express capability definitions. + + * lib/proc.c (proc_read): Removed bogus warning. + + * common.c (xrealloc): Introduced. + + * lspci.man: Added -xxxx. + +2004-06-27 Martin Mares + + * Released as 2.1.99-test6. + + * lspci.c (show_msix), lib/header.h: Added dumping of MSI-X cap. + Patch by Roland Dreier , cleaned up by me. + + * lspci.c (show_pcix_nobridge, show_pcix_bridge): Handle config_fetch() + failures. + + * lib/header.h: Added PCI Express extended capabilities. Again by Matthew. + + * lspci.c (show_express): Added dumping of PCI Express cap. + Patch by Matthew Wilcox. + + * lib/header.h: Added a list of PCI 3.0 capabilities and also details + on PCI Express caps. Patch by Matthew Wilcox . + + * lspci.c (check_root): Gone. No explicit checks for root are needed, + report correct errors reported by the libpci instead. + + * lspci.c: Added dumping of the extended config space on "-xxxx". + Better caching of config registers. + + * setpci.c (main): Allow access to whole 4096 bytes of the config space. + + * lib/sysfs.c, lib/proc.c: Don't print error messages on short reads, + just return the appropriate error code. + + * lib: Added support for extended (4096-byte) configuration space, + currently implemented only in Linux proc and sysfs access methods + and of course in the dump reader. + +2004-05-29 Martin Mares + + * Released as 2.1.99-test5. + + * lib/pci.h: Windows don't have the standard u_int* types. + + * lib/internal.h: required on Windows for endianity + macros. + + * lib/i386-ports.c: Connected i386-io-windows.h. + + * lspci.c (check_root): geteuid() is not available on Windows. + + * lib/i386-io-windows.h: Added Windows port contributed by Alexander + Stock . + + * lib/configure: Hopefully fixed SunOS port broken by various + changes to the configure script. + + * Makefile, lib/configure: Cross-compilation support, patch by Maciej. + +2004-05-28 Martin Mares + + * Released as 2.1.99-test4. + + * lspci.c (show_verbose): Header type 1 is probably legal for all + types of bridges, not only for PCI-to-PCI bridges. + + * lspci.c (format_agp_rate): Write "x16", not "x@". + (show_agp): rate[] could overflow. + Bugs reported by Jakub Bogusz . + + * lspci.c (show_ht_*): Show HyperTransport capability with all its + details. Once again code by Maciej simplified (i.e., possibly broken) + by me. + + * lib/header.h: Added declarations of HyperTransport capability. + Again thanks to Maciej. + + * lspci.c: Decode all bits of the secondary status word in type 1 headers. + Thanks to Maciej W. Rozycki for the patch. + +2003-12-27 Martin Mares + + * Released as 2.1.99-test3. + + * lspci.man, setpci.man: Document domains and correct spelling. + + * lib/dump.c (dump_init): Added ability to read domain numbers. + + * lspci.c: Devices in domains different from 0 have their slot number + printed as "::.". Tree view supports domains + as well. + + * lib/filter.c: Slot filters understand domains. + + * lib/generic.c: Mention the domain in slot numbers in all error messages. + + * lib/internal.h: The #ifdef for Linux was wrong. + + * lib/access.c (pci_get_dev): Added support for domains. + + * lib/sysfs.c (sysfs_scan): Read vendor and device ID from the config + registers (or to be precise, leave it for the generic parts of the pcilib + to do so) instead of reading them from the sysfs. It's faster this way. + + * lspci.c (show_pcix): Don't touch pci_dev->hdrtype, it's an internal + variable. Better read it from the config registers (it's cached anyway). + + * lib/sysfs.c (sysfs_scan), lib/proc.c (proc_scan): Don't read the hdrtype. + lib/generic.c (pci_generic_fill_info): If hdrtype is -1 (unset), read it. + Saves lots of unnecessary file accesses. + + * lib/pci.h (PCIADDR_PORT_FMT): Use %llx instead of %Lx, because the latter + is not supported by all C libraries. + + * Makefile: Always enter the lib directory (remember that we don't have + full dependecies for the library in the top-level Makefile; hmmm, another + thing to rewrite some day). + + * lib/sysfs.c: Added Linux sysfs access method based on the patch + written by Matthew Wilcox . + + * lib/proc.c: Renamed the access method name from "/proc/bus/pci" to "Linux-proc". + + * lib/pread.h: The hacks to support pread on various versions + of Linux libc moved there. + + * lib/proc.c (proc_setup): The return value of snprintf() varies + between glibc versions, so we need to check both for a negative + values and for too large values. + + * Removed last few references to the "Linux PCI Utilities", the + package is pretty cross-platform now :) + +2003-12-27 Martin Mares + + * Released as 2.1.99-test2. + + * README, pciutils.lsm, pciutils.spec: Use @VERSION@ to make the + release scripts insert the current version. "make release" is gone. + + * maint/release, maint/release.pm: Added a new system of scripts for + making releases including inter-version diffs etc. + + * Makefile: Cleaned up. + + * lib/fbsd-device.c: I patched another copy of this file by mistake, + this time the version checks should be right. + +2003-12-27 Martin Mares + + * Released as 2.1.99-test1. + + * pciutils.h, common.c, lspci.man, setpci.man, lib/internal.h: + Remove shadows of the syscall access method which was never + implemented. + + * update-pciids.sh: Try to preserve permissions of the old file + if chmod supports --reference. Should close Debian Bug #223740. + + * lib/proc.c (proc_setup): Increased path name length limit to 1024. + Thanks for Redhat and Mandrake for inspiration. + + * lib/configure: Recognize ppc and ppc64, both have 64-bit addresses. + Grabbed from Redhat (Fedora) patches. + +2003-12-27 Martin Mares + + Merged bug fixes from Debian patches: + + * lspci.c (show_verbose): "Cache Line Size" should be capitalized. + + * lspci.c (show_pcix_nobridge): Added a missing newline. + + * lib/proc.c (proc_scan): When reading the header type, don't + forget to clear the topmost bit indicating that the device has + multiple functions. + +2003-12-27 Martin Mares + + Updated the FreeBSD port. Thanks to Samy Al Bahra + for the patches: + + * lib/Makefile: Add ${FREEBSD_SYS} to the include path if it's defined. + * lib/fbsd-device.c: Select the right set of system includes according + to __FreeBSD_version. + +2003-12-27 Martin Mares + + Merged support for Solaris on i386 by Bill Moore + and cleaned up: + + * lib/configure: Recognize SunOS. + * lib/internal.h: Learn how to recognize byte order on SunOS. + * lib/i386-ports.c: Split OS-dependent I/O port access from i386-ports.c. + * lib/i386-io-linux.h: Linux specific part. + * lib/i386-io-hurd.h: GNU/Hurd specific part. + * lib/i386-io-sunos.h: SunOS specific part. + +2003-12-26 Martin Mares + + * lib/header.h (PCI_*_MASK): Cast to pciaddr_t explicitly. + + * lib/pci.h: Types declared in should be usable on all + platforms we currently support, so kill the forest of #ifdef's and + use them in all cases. + + * lib/pci.h: Use ULONG_MASK to decide whether we should use long + or long long to represent a 64-bit address. Killed HAVE_LONG_ADDRESS. + Define format strings for addresses, port numbers and IRQ numbers + directly in pci.h. + + * lib/proc.c (proc_scan): Use PCIADDR_T_FMT for scanf'ing addresses. + +2003-12-26 Marco Gerards + + Added support for the GNU Hurd (cleaned up by Martin Mares): + + * lib/configure [GNU]: Use the i386 ports for configuration access. + * lib/i386-ports.c: Don't call iopl() on the Hurd. + * lib/pci.h [OS_GNU]: Include and use it for defining + u8 to u32. + +2003-12-26 Martin Mares + + * lspci.c (show_pcix_bridge, show_pcix_nobridge): Don't forget to call + config_fetch() to ensure that the registers have been read. Thanks to + Bill Wood for the patch. + + * lspci.c: Ensure that failure of config_fetch() is handled correctly + at all places. + + * lspci.man: There was one more explicit reference to /usr/share/pci.ids. + Changed to @SHAREDIR@. Patch from Maciej W. Rozycki . + + * setpci.c (main): Better error messages. + + * setpci.c (ex_op): The demo mode should disable only writing, not reading. + + * setpci.man: The documentation was inconsistent on what should -D do. + Document the new behaviour. + + * pciutils.h, common.c, setpci.c: Introduced a NONRET macro encapsulating + the GCC specific __attribute__((noreturn)) and killed the hack with + redefining __attribute__ on non-GCC compilers. + + * Makefile: Added missing dependencies. Parallel builds work now. + Problem reported by Andreas Haumer , but I chose + a different fix. + + * Makefile (MANDIR): Use `:=' instead of `=' to avoid executing the shell + command every time $(MANDIR) is referenced. + + * lspci.c (main): The error message for `lspci -s' incorrectly mentioned + a `-f' switch. Reported by Steve Finney . + + * lib/generic.c: Removed memory leak in pci_generic_bus_scan(). + Reported by Gary Parnes . + + * Replaced obsolete syntax of __attribute__((unused)) in the middle of + parameter declarations (which is no longer supported by GCC 3.1) by the + current syntax (attribute at the end). Thanks to pixel@mandrakesoft.com + for reporting this problem. + + * Removed CVS $Id$ tags from all files. + + * Makefile: Added some more warnings. + + * setpci.c: Cleaned up mask/value code. + +2003-12-08 Thayne Harbaugh + + * setpci.c: Individual bits to be set can be specified as :. + +2003-11-29 Martin Mares + + * Imported the pciutils sources to my Arch repository. Good-bye, CVS. + +2003-01-04 Martin Mares + + * Released as 2.1.11. + + * Makefile: Changed configuration of installation directories -- + all paths are now set at the top of the Makefile instead of being + scattered between the installation rules. The default installation + now goes always to /usr/local regardless of the OS as most distributions + already contain some version of pciutils and we don't want custom + installations to interfere with the default ones. + + * Makefile: Removed a couple of ancient install hacks: we no longer + try to avoid overwriting a newer pci.ids file (users are now expected + to use update-ids) and we don't try to remove /etc/pci.ids (a long time + has passed since the last version which used it). + + * Makefile: Paths to pci.ids in man pages automatically get the right path. + + * Added the update-ids utility. + + * lib: Removed partially implemented "syscall" access method which will + probably never be needed. + +2002-12-27 Martin Mares + + * lib/nbsd-libpci.c: Cleaned up and hopefully made it endian safe. + + * lib/generic.c (pci_generic_scan_bus): Added work-around for devices with + discontiguous numbering of functions. This is already present in the Linux + kernel for several years, but I forgot to update pciutils as well. + +2002-12-26 Martin Mares + + * lib/header.h, lspci.c: Dump AGP3 flags and speeds. + + * lib/pci.h, Makefile: Removed HAVE_OWN_HEADER_H. Always use our own header, + there is no reason to prefer the kernel version. + + * lib/proc.c (proc_scan): Don't forget to initialize hdrtype. + + * Added preliminary version of NetBSD support by Quentin Garnier + . + +2002-04-06 Martin Mares + + * lspci.c: Mention "-xxx" in the help. + +2002-03-30 Martin Mares + + * Released as 2.1.10. + + * Removed pci.ids from the CVS as they are now maintained separately. + They are still included in the tarball, but if you are building pciutils + from CVS sources or you want to get a newer ID file than the one distributed, + just use "make update-ids" to download the most recent snapshot from + pciids.sf.net. + + * Makefile, README: Updated accordingly. + + * Makefile: Added a couple of maintenance targets. + + * maint/*: Maintainer's utilities now reside here (present only in CVS, + not in the tarball). + + * lib/names.c (parse_name_list): End-of-line comments are no longer + supported. Hashes are now perfectly valid in all names and they start + a comment only at the start of the line. + +2002-03-26 Martin Mares + + * README: Rewritten. + + * Makefile: When the currently installed pci.ids file is newer than + the version to be installed, don't overwrite it. Suggested by + Jean Delvare . + +2002-03-24 Martin Mares + + * lspci.c (show_pcix_bridge): Added PCI-X capability display. + Contributed by Jeff Garzik . + + * lib/header.h: Added PCI-X stuff. Again by Jeff. + + * Makefile (CFLAGS): -Werror is gone. + + * lspci.c (format_agp_rate): Fixed AGP rate reporting. + + * lib/filter.c (pci_filter_parse_slot): Allow bus 0xff, slot 0x1f and + function 7. + + * lib/names.c (pci_lookup_name): When printing unknown subsystem vendor + or device hexadecimally, don't confuse it with chip vendor/device ID. + First reported by Marc Boucher . + +2001-11-04 Martin Mares + + * Released as 2.1.9. + + * pci.ids: Synced with the PCI ID Repository at SourceForge + (http://pciids.sourceforge.net/). + +2000-08-25 Martin Mares + + * pci.ids: Updated ID's, synced with kernel 2.4.0-test7. + +2000-06-13 Martin Mares + + * Makefile (uninstall): Fixed. + + * pci.ids: ID updates. + +2000-05-20 Martin Mares + + * Released as 2.1.8. + + * pci.ids: ID updates. + + * lspci.c (show_verbose): Min/max latency is now printed in nanoseconds. + +2000-05-04 Martin Mares + + * lspci.c (show_verbose): If the header type doesn't match device + class, just print a warning and still use the header type, assuming + bogus class info. + +2000-05-01 Martin Mares + + * lspci.c (show_pm): Updated according to PCI PM specs 1.1. + + * pci.ids: Updated Contemporary Control ARCnet card entries. + + * pci.ids: Synchronized class list with latest PCI SIG documents. + +2000-04-29 Martin Mares + + * lib/names.c (pci_lookup_name): Fixed the cheat. + + * lib/internal.h: Moved UNUSED/inline hacks above all other declarations. + + * pci.ids: Various ID updates. + +2000-04-21 Martin Mares + + * Released as 2.1.7. + + * pciutils.spec: Added German description. + + * lib/names.c (pci_lookup_name): Added a cheat for case that subsystem ID's + are the same as device ID and just output subsystem name according to + device name. + + * lib/proc.c: Use UNUSED instead of __attribute__((unused)). + + * lib/pci.h: Added the correct typedefs for AIX. + + * lib/generic.c (pci_generic_scan_bus): Export. + + * lib/configure: Detect AIX. Use "echo '...\c'" instead of + "echo -n" if the shell isn't bash. + + * lspci.c: Avoid using alloca() if not compiled by GCC. + (insert_dev): Avoid returning a void value. + + * Makefile: Choose which install utility to use according to + OS type. Also use `-o' instead of `-or' in find arguments. + Part of the AIX port. + + * lib/aix-device.c: Added AIX low-level interface. Contributed + by Dave Johnson , thanks a lot! + + * pci.ids: Few new ID's. + + * pciutils.h, lib/internal.h: Redefine __attribute__ and inline + when not compiled by GCC. + +2000-04-17 Martin Mares + + * Released as 2.1.6. + + * pci.ids: Added a large batch of ID's contributed by Gunther + Mayer and synced the + list with the 2.3.99pre6 kernel. + +Thu Mar 9 13:11:39 2000 Martin Mares + + * lib/example.c: Added a simple example of how to use + the library. + + * lspci.man, setpci.man: Revealed --version. Well spotted + by Adam Sulmicki. + + * pci.ids: Added lots of new ID's and synced with 2.3.50. + +Tue Feb 15 00:16:21 2000 Martin Mares + + * Released as 2.1.5. + + * pciutils.spec: Updated spec file from Andreas Jaeger. Now using + %{_mandir} to find the right location to install manual pages to. + + * pci.ids: New ID's. + + * setpci.c (main): Don't crash when `-s' or `-d' is given with + no argument. + +Mon Jan 24 20:04:11 2000 Andreas Jaeger + + * lib/i386-ports.c: Include only on systems without + glibc. + +Mon Jan 24 11:24:43 2000 Martin Mares + + * Makefile: Modified to work with the Linux FHS brain-damaged idea + of putting man pages to /usr/share/man. Now we choose either /usr/man + or /usr/share/man depending on which one exists. + +Sun Jan 23 10:52:34 2000 Martin Mares + + * pci.ids: Synced with Linux 2.3.40. + + * Released as version 2.1.4. + +Thu Jan 20 11:08:32 2000 Martin Mares + + * lspci.c (scan_device): Fixed bug in reading of cardbus extensions. + + * lib/proc.c: pread/pwrite fixed again, this time on libc5 :( + + * lspci.c (format_agp_rate): Better formatting of AGP rates. + + * pci.ids: New ID's. + + * lib/configure: Added configuration for ia64 (the same as for Alpha). + Patch from Stephane Eranian . + +Thu Jan 13 23:01:52 2000 Martin Mares + + * Released as version 2.1.3. + + * pci.ids: New ID's. + + * lspci.c: Alpha IO_FORMAT fix by Andrea Arcangeli. + + * lib/access.c: Corrected order of access methods -- it's wonderful how + long could such a bug remain unspotted. Thanks go to Andreas Schockenhoff. + +Sat Dec 11 23:34:48 1999 Martin Mares + + * Released as version 2.1.2. + + * lib/names.c (pci_lookup_name): Fixed printing of unknown subsystem ID's. + +Sat Dec 4 13:11:03 1999 Martin Mares + + * Released as version 2.1.1. + + * pci.ids: Several new ID's. + + * setpci.c (exec_op): Don't forget to increment address after writing + single value, so that `30.b=12,34,56,78' works as expected. Reported + by Petr Soucek . + +Wed Nov 3 10:24:38 1999 Martin Mares + + * lspci.c (show_terse): If prog-if is zero, but it's present in the + ID list, show it. + +Sat Oct 30 11:06:35 1999 Martin Mares + + * Released as version 2.1. + + * pci.ids: Synced to devlist.h in 2.3.24 kernel. Merged in + lots of contributed entries. + +Thu Oct 14 10:40:12 1999 Dave Jones + + * pci.ids: Added lots of subsystem definitions. + +Sat Oct 9 14:32:28 1999 Martin Mares + + * setpci.man: Better example. + + * lspci.c: Resolve prog-if names. + + * lib/names.c: Adapted to new pci.ids syntax. + + * pci.ids: Reorganized the pci.ids file. Subsystems are listed + under devices, classes can optionally contain prog-if information. + New ID's, as usually. + +Wed Sep 22 09:45:24 1999 Martin Mares + + * pci.ids: New ID's. As usually. + + * lspci.c (show_htype1, show_htype2): Don't show `closed' bridge windows + unless we're vvvery verbose. + +Mon Sep 20 11:22:54 1999 Martin Mares + + * lspci.c (show_htype2): Don't forget a TAB before the "I/O window" line. + +Tue Sep 14 09:31:01 1999 Martin Mares + + * pci.ids: New ID's. Again. + +Thu Aug 5 17:45:42 1999 Martin Mares + + * lspci.c (show_size): Don't show size if it's zero (usually + due to bus-centric mode being enabled). + +Tue Jul 20 13:25:09 1999 Martin Mares + + * lib/pci.h: Types are OS dependent. + + * lib/internal.h: Byte order hacks are OS dependent. + + * lib/configure: Recognize FreeBSD. Also set OS_XXX according to the OS. + + * lib/Makefile, lib/access.c: Added fbsd-device target. + + * pci.ids: Added an entry for PLX 9080 bridges with subsystem ID + incorrectly set to device ID. + + * README: Added a note that we support FreeBSD. + + * Makefile (PREFIX, ROOT): Set it depending on the OS. + (%.8): Grrr, BSD date is not able to convert date formats the same way + as GNU date does. Use sed instead. + (install): Use `-c' when calling install. + + * lib/fbsd-device.c: Added FreeBSD /dev/pci access module contributed + by Jari Kirma . + + * lib/proc.c: Rewrote the pread/pwrite things once again. Use pread + and pwrite only when we are certain it's safe (i.e., glibc 2.1 + on all architectures or any libc on a i386 where we really know + how to use syscalls directly). In all other cases, emulate it + with lseek/read/write. + + * pci.ids: Some more IDs. + +Mon Jul 19 14:10:36 1999 Martin Mares + + * pci.ids: Added IDs of parallel port controller cards as sent + by Tim Waugh . + +Wed Jul 7 00:55:48 1999 Martin Mares + + * lib/proc.c (proc_scan): HAVE_LONG_ADDRESS instead of HAVE_64BIT_ADDRESS. + + * lspci.c: ADDR_FORMAT now depends on both HAVE_64BIT_ADDRESS and + HAVE_LONG_ADDRESS. + + * lib/configure: HAVE_64BIT_ADDRESS now doesn't imply that the addresses + are represented as long long. Introduced a new flag HAVE_LONG_ADDRESS + to indicate this. Both Sparc architectures now use both 64BIT_ADDRESS + and LONG_ADDRESS since they have 32-bit userland, but don't set LONG_ADDRESS + on Alpha. + + * lspci.c (show_msi): Added dumping of the MSI capability. + (show_slotid): The same for SlotID capability. + (show_caps): Seperated capability dumping, because it should + be used for both htype0 and htype1. Even PCI 2.2 doesn't mention + layout of htype2, so I'm a bit unsure about it wrt capabilities + -- they at least have to live somewhere else since address 0x34 + is already defined differently in htype2. + + * lib/header.h (PCI_STATUS_UDF): Marked as obsolete (PCI 2.2). + (PCI_BASE_ADDRESS_MEM_TYPE_1M): Ditto. + (PCI_CAP_ID_*): Added some new capabilities defined in PCI 2.2. + + * lspci.c (show_htype0): Mask out lowest 2 bits from all capability pointers + (required by the PCI 2.2 specs). + +Mon Jul 5 12:45:19 1999 Martin Mares + + * lspci.c (show_size): Added new function for dumping of region sizes. + (show_rom): Added. Now correctly dumps unassigned ROM addresses, disabled + ROMs et cetera. + + * lib/pci.h (struct pci_dev): known_fields moved to the public part + of the structure. + + * Added support for region sizes. Needs support in the kernel, because + sizes have to be scanned before drivers initialize yourself. pci_fill_info() + now returns a bitmask of what fields were really read. + +Mon Jun 28 18:37:51 1999 Dave Jones + + * Makefile: + Added `uninstall' target - removes all traces of pciutils. + * pci.ids: + - Lots of cleanups in the ATI, S3, Adaptec vendors. + - Changed Compaq QVision 1280/p definitions, as it's not possible + to determine the revision from the device ID. + - Same for the Tseng ET4000. + The id's said I had a rev C, when it was actually a rev B. + - Removed some unnecessary strings + `PCI'. Unless it's an AGP card, it should be obvious that it's PCI. + `Ethernet card'. This should be determined from config space. + - Lots of other new vendors & devices + - Other additional small cleanups. + +Mon Jun 21 22:11:10 1999 Martin Mares + + * lib/names.c (pci_lookup_name): When device ID lookup + fails, return hexadecimal device ID instead of vendor ID. + Well spotted by Axel Bodemann , + I've just extended the fix to subsystem ID's. + +Thu Jun 17 19:48:21 1999 Martin Mares + + * lspci.c (show_agp): Bug fix from Petr Vandrovec + . The command register was displayed + incorrectly. + +Wed Jun 2 22:42:44 1999 Martin Mares + + * lib/proc.c (SYS_pread, SYS_pwrite): Use hard-coded + numbers if not supplied by the libc. + +Wed May 19 13:24:39 1999 Martin Mares + + * Released the whole package as version 2.0. + +Fri May 14 22:42:02 1999 Martin Mares + + * pci.ids: Added several new ID's contributed by people + on the linux-pci list. + +Mon Apr 19 15:21:08 1999 Jakub Jelinek + + * lspci.c: Display I/O addresses correctly on sparc64. + * lib/header.h: Ditto. + + * lib/configure: On sparc set HAVE_64BIT* as well, we want + a binary which works on both 32bit and 64bit SPARCs. + +Sun Apr 18 21:14:58 1999 Martin Mares + + * lspci.c, lib/proc.c: Alpha compilation fixes from Matthew Jacob + . + + * pci.ids: A lot of updates from Adam J. Richter . + +Sun Feb 28 22:26:21 1999 Martin Mares + + * lspci.c (do_map_bus): Don't dump functions 1--7 if not flagged + as a multi-function device, because several single-function devices + don't decode the function bits at all. + +Sun Feb 14 23:48:22 1999 Martin Mares + + * Makefile (install): Don't use "-o root -g root" for installation + since it breaks on machines where programs are not installed by root. + Reported by Richard Gooch + +Tue Feb 9 15:54:39 1999 Martin Mares + + * lspci.c (show_bases): Use new address masking macros and pciaddr_t. + + * lib/pci.h: Using pciaddr_t for bus addresses, which are 32-bit + or 64-bit depending on CPU. + + * lib/pci.h (PCI_ADDR_MEM_MASK): Added macros for address masks + according to bus address width. + +Thu Jan 28 20:54:16 1999 Martin Mares + + * Released as 1.99.4. + + * lspci.c: Capability list parser now recognizes both AGP + registers and PCI Power Management registers (the latter + is mainly guesswork based on DEC/Intel 21153 bridge specs + since I don't have the PCI Power Management document). + + * lspci.c: Replaced numerous occurences of (x & flag) ? '+' : '-' + by FLAG macro. + + * lspci.c: Added bridge checks to bus mapping code. + +Wed Jan 27 14:59:16 1999 Martin Mares + + * lspci.c: Implemented bus mapping mode (-M). + + * lspci.c (scan_devices): Split to scan_devices() and scan_device(). + (show): Split to show() and show_device(). + + * lib/access.c (pci_init): When a->method == PCI_ACCESS_AUTO, + set it to the real access method afterwards. + +Mon Jan 25 23:46:13 1999 Martin Mares + + * lib/generic.c (pci_generic_fill_info): If in buscentric mode, + don't check PCI_COMMAND for I/O and memory enables. + +Mon Jan 25 21:28:49 1999 Martin Mares + + * Makefile: Added target `release' which substitutes new version + number to .spec, .lsm and README. Also rewrote target `dist'. + + * Released as 1.99.3. + +Sun Jan 24 22:10:36 1999 Martin Mares + + * lib/header.h: Until kernel adopts new layout of PCI + includes (i.e., separate declaration of header structure, + functions and device IDs), which is not going to happen + before 2.3, we'll use our own definiton of the header. + + * lspci.c (show_verbose): Display `Cap' flag in device status. + + * lspci.c (show_htype0): Display capability lists whereever + available. The only capability name we recognize now is `AGP'. + Unfortunately, capabilities are stored in device-dependent + portion of the configuration space and are thus available + only to root unless you read a dump. + + * lspci.c (scan_devices): Use cache instead of buffering. + + * lib/buffer.c: Removed (obsoleted by the cache). + + * lib/access.c: Added general caching mechanism. + +Sat Jan 23 21:30:54 1999 Martin Mares + + * pci.ids: Added few devices. + +Fri Jan 22 19:29:31 1999 Martin Mares + + * Version string is now defined in top-level Makefile, exported + to the configure script and also substituted to man pages. + + * lspci.c (show_bases): Rewrote displaying of 64-bit addresses. + (show_verbose): Rewrote interrupt display logic. + + * lib/i386-ports.c: Include sys/io.h only on glibc systems. + + * lib/configure: Rewrote detection of Linux versions. Now it + works on 2.0 kernels (only with direct/dump access, of course). + + * lib/internal.h: New bytesex macros using + whenever available. + + * lib/proc.c (proc_read, proc_write): Distinguish between short + read/write and real errors. + + * lspci.c (show_htype{0,1}): Always use d->dev->rom_base_addr since + libpci respects buscentric mode automatically. + + * lspci.c (show_hex_dump): For CardBus bridges, print out 128 + bytes of header (the whole standard part). + + * common.c: pcilib options are now all uppercase. Also moved + PCI access debugging option here. + + * Released as 1.99.2. + +Wed Jan 20 22:50:35 1999 Martin Mares + + * Wrote configure script and rewrote Makefiles. + + * Removed few unused variables. + +Wed Jan 20 12:21:56 1999 Martin Mares + + * common.c: Moved several functions used in both setpci and lspci + here. This includes parsing of libpci-related options. + + * More library tweaks. + + * filter.c, names.c: Moved to library. + + * setpci: Rewritten to use the library. + + * Released as 1.99.1. + +Tue Jan 19 23:00:12 1999 Martin Mares + + * lspci.c (scan_devices): For cardbus bridges, read first 128 + bytes of config space to get full standard header. + + * Makefile (CFLAGS): Removed "-Wno-unused". + + * Started the "New Generation" branch and introduced the + PCI library. + + * lspci: Rewritten to use the library. + +Tue Jan 19 22:24:08 1999 Martin Mares + + * Released as version 1.10. + +Mon Jan 18 08:51:17 1999 Martin Mares + + * lspci.8, setpci.8: Miscellaneous fixes as suggested by + Dag Wieers . + +Sun Nov 29 20:05:56 1998 Martin Mares + + * pciutils.spec (Name): Update from Krzysztof G. Baranowski. + +Sun Nov 22 10:49:56 1998 Martin Mares + + * Makefile, pciutils.h: Moved pci.ids to /usr/share. + + * Released as version 1.09. + +Wed Nov 18 15:47:05 1998 Martin Mares + + * lspci.c (show_htype1): Fixed displaying of prefetchable memory behind + bridge. Thanks to Petr Vandrovec for bug report. + +Fri Oct 23 18:59:19 1998 Martin Mares + + * setpci.c: Don't include with glibc >= 2.1. + +Mon Oct 19 21:53:30 1998 Martin Mares + + * Released as version 1.08. + + * setpci.c: glibc 2.1.x already defines pread() and pwrite(). + + * lspci.8: Changed warning about lspci -xxx. + + * lspci.c: Require "-xxx" for full configuration space dump, so that + it's impossible to crash the machine by single typo. + + * specs: Added (courtesy of Krzysztof G. Baranowski ). + +Wed Sep 9 12:03:24 1998 Martin Mares + + * lspci.c (show_bases): Better displaying of unassigned and + disabled bases. Thanks to Gabriel Paubert + for an idea. + +Wed Sep 2 10:58:01 1998 Martin Mares + + * setpci.c (pread): Recognize glibc 1.99 numbered as 2.0 on the PPC. + (thanks to Geert Uytterhoeven for finding this out) + +Fri Jul 17 10:43:30 1998 Martin Mares + + * lspci.c (show_verbose): Print subsystem ID using the new resolver. + (show_machine): Print subsystem ID. + + * names.c: New name resolution engine supporting subsystem IDs. + + * Released as version 1.07. + +Wed Jul 15 15:37:21 1998 Martin Mares + + * lspci.c (show_htype2 etc.): Displaying of CardBus headers. + (show_bases): Honor the `cnt' argument. + (grow_tree): Parse CardBus headers in tree mode as well. + + * pci.h: Updated CardBus header field description. I still don't + have the CardBus standard available, but OZ6832 specs contain + full description of all header fields supported by the chip. + +Tue Jun 9 22:53:59 1998 Martin Mares + + * Released as 1.06. + + * names.c (parse_name_list): Killed an unused variable. + + * setpci.c (pread, pwrite): Define SYS_(pread|pwrite) as __NR_\1 + if they are not defined by glibc (needed for glibc built on older + kernels). Ugly. + + * setpci.c (exec_op): Fixed error messages. Thanks, Steve! + +Mon Jun 8 10:59:22 1998 Martin Mares + + * Released as 1.05. + + * setpci.c: Problems with pread()/pwrite() with glibc on Alpha + should be gone. Again thanks to Steve for bug report. + + * filter.c (filter_parse_slot): Fixed ":x" type filters. + + * pci.ids: Killed duplicate entry. Thanks to Stephen Williams + for reporting this. + +Sun Jun 7 19:27:51 1998 Martin Mares + + * lspci.c (main), setpci.c (main): Implemented "--version". + + * Released as 1.04. + + * pciutils.h (PCIUTILS_VERSION): Added version string. + + * filter.c, names.c: Extraneous #include removed. + Thanks to Geert Uytterhoeven + for bug report. + +Thu May 28 14:45:58 1998 Martin Mares + + * pci.ids: More updates from Jens Maurer. + +Wed Apr 22 10:00:39 1998 Martin Mares + + * pci.ids: Updates from Jens Maurer. + +Sun Apr 19 11:14:25 1998 Martin Mares + + * Released as 1.03. + + * setpci.8: Written. + + * setpci.c: Finished. + + * lspci.c: Now able to fetch expansion ROM base from kernel device list + and print it if not in buscentric mode. + +Tue Mar 31 23:11:57 1998 Martin Mares + + * setpci.c: Added. + +Sun Mar 22 15:39:08 1998 Martin Mares + + * lspci.8: Updated the documentation. + + * lspci.c: Modified to use the new filtering mechanism (options -f and -d). + + * filter.c: Introduced new generic device filter. + +Thu Mar 19 17:03:48 1998 Martin Mares + + * lspci.c (grow_tree, show_tree_dev, print_it): Fixed displaying + of PCI-to-PCI bridges in the tree format. + +Sun Feb 15 10:12:25 1998 Martin Mares + + * lspci.c (show_machine): Added non-verbose mode of machine-readable + dump. + + * pci.ids: Updates from Jens Maurer. + + * Released as version 1.02. + +Thu Feb 12 16:53:28 1998 Martin Mares + + * lspci.c: Added a "-m" switch for dumping machine-readable + configuration data (requested by Bjoern Kriews ). + +Mon Feb 9 13:17:43 1998 Martin Mares + + * Makefile, pciutils.h: Include local pci.h instead of + if available. This should avoid all problems with official kernel + not synchronized to newer PCI code in CVS -- standard distribution + of pciutils now contains pci.h from current CVS kernel, pciutils + in CVS contain no pci.h and use the correct kernel include. + + * Makefile: Fixed installation path for man pages. + +Sat Feb 7 15:15:46 1998 Martin Mares + + * README: Updated. + + * lspci.8: Created a man page. + + * Releasing as version 1.0. + +Tue Feb 3 20:56:00 1998 Martin Mares + + * Makefile: Recognize architecture by calling uname and pass it as ARCH_xxx + to all the C sources. This should eliminate problems with 32-bit compilers + on sparc64. + + * lspci.c (show_verbose): Recognize CardBus bridge header type. + (show_htype2): Stub routine. + (scan_config): Write sensible error message if the kernel denies reading of + upper part of the PCI config space. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..77ac06b --- /dev/null +++ b/Makefile @@ -0,0 +1,138 @@ +# Makefile for The PCI Utilities +# (c) 1998--2008 Martin Mares + +OPT=-O2 -g +CFLAGS=$(OPT) -Wall -W -Wno-parentheses -Wstrict-prototypes -Wmissing-prototypes + +VERSION=3.0.0 +DATE=2008-04-10 + +# Host OS and release (override if you are cross-compiling) +HOST= +RELEASE= + +# Support for compressed pci.ids (yes/no, default: detect) +ZLIB= + +# Support for resolving ID's by DNS (yes/no, default: detect) +DNS= + +# Build libpci as a shared library (yes/no; or local for testing; requires GCC) +SHARED=no + +# ABI version suffix in the name of the shared library +ABI_VERSION=.3 + +# Installation directories +PREFIX=/usr/local +SBINDIR=$(PREFIX)/sbin +SHAREDIR=$(PREFIX)/share +IDSDIR=$(SHAREDIR) +MANDIR:=$(shell if [ -d $(PREFIX)/share/man ] ; then echo $(PREFIX)/share/man ; else echo $(PREFIX)/man ; fi) +INCDIR=$(PREFIX)/include +LIBDIR=$(PREFIX)/lib +PKGCFDIR=$(LIBDIR)/pkgconfig + +# Commands +INSTALL=install +DIRINSTALL=install -d +STRIP=-s +AR=ar +RANLIB=ranlib + +# Base name of the library (overriden on NetBSD, which has its own libpci) +LIBNAME=libpci + +-include lib/config.mk + +PCIINC=lib/config.h lib/header.h lib/pci.h lib/types.h lib/sysdep.h +PCIINC_INS=lib/config.h lib/header.h lib/pci.h lib/types.h + +export + +pcimod-$(PCI_OS_LINUX) := pcimodules +pcimod8-$(PCI_OS_LINUX) := pcimodules.8 +all: lib/$(PCILIB) lspci lspci-udeb setpci example lspci.8 setpci.8 pcilib.7 update-pciids update-pciids.8 $(PCI_IDS) $(pcimod-1) $(pcimod8-1) + +lib/$(PCILIB): $(PCIINC) force + $(MAKE) -C lib all + +force: + +lib/config.h lib/config.mk: + cd lib && ./configure + +lspci: lspci.o common.o lib/$(PCILIB) +lspci-udeb: lspci.o common.o lib/libpci.a +setpci: setpci.o common.o lib/$(PCILIB) +pcimodules: pcimodules.o common.o lib/$(PCILIB) + +lspci.o: lspci.c pciutils.h $(PCIINC) +setpci.o: setpci.c pciutils.h $(PCIINC) +pcimodules.o: pcimodules.c pciutils.h $(PCIINC) +common.o: common.c pciutils.h $(PCIINC) + +update-pciids: update-pciids.sh + sed <$< >$@ "s@^FILE=.*@FILE=$(IDSDIR)/pci.ids@" + chmod +x $@ + +# The example of use of libpci +example: example.o lib/$(PCILIB) +example.o: example.c $(PCIINC) + +%: %.o + $(CC) $(LDFLAGS) $(TARGET_ARCH) $^ $(LDLIBS) -o $@ + +lspci-udeb: lspci.o + $(CC) $(LDFLAGS) $(TARGET_ARCH) $^ $(LDLIBS) -lz -lresolv -o $@ + +%.8 %.7: %.man + M=`echo $(DATE) | sed 's/-01-/-January-/;s/-02-/-February-/;s/-03-/-March-/;s/-04-/-April-/;s/-05-/-May-/;s/-06-/-June-/;s/-07-/-July-/;s/-08-/-August-/;s/-09-/-September-/;s/-10-/-October-/;s/-11-/-November-/;s/-12-/-December-/;s/\(.*\)-\(.*\)-\(.*\)/\3 \2 \1/'` ; sed <$< >$@ "s/@TODAY@/$$M/;s/@VERSION@/pciutils-$(VERSION)/;s#@IDSDIR@#$(IDSDIR)#" + +clean: + rm -f `find . -name "*~" -o -name "*.[oa]" -o -name "\#*\#" -o -name TAGS -o -name core -o -name "*.orig"` + rm -f update-pciids lspci setpci example lib/config.* *.[78] pci.ids.* lib/*.pc lib/*.so lib/*.so.* + rm -f pcimodules + rm -rf maint/dist + +distclean: clean + +install: all +# -c is ignored on Linux, but required on FreeBSD + $(DIRINSTALL) -m 755 $(DESTDIR)$(SBINDIR) $(DESTDIR)$(IDSDIR) $(DESTDIR)$(MANDIR)/man8 $(DESTDIR)$(MANDIR)/man7 + $(INSTALL) -c -m 755 $(STRIP) lspci setpci $(pcimod-1) $(DESTDIR)$(SBINDIR) + #$(INSTALL) -c -m 755 $(STRIP) lspci-udeb $(DESTDIR)-udeb$(SBINDIR)/lspci + $(INSTALL) -c -m 755 update-pciids $(DESTDIR)$(SBINDIR) + $(INSTALL) -c -m 644 $(PCI_IDS) $(DESTDIR)$(IDSDIR) + $(INSTALL) -c -m 644 lspci.8 setpci.8 update-pciids.8 $(pcimod8-1) $(DESTDIR)$(MANDIR)/man8 + $(INSTALL) -c -m 644 pcilib.7 $(DESTDIR)$(MANDIR)/man7 +ifeq ($(SHARED),yes) + $(DIRINSTALL) -m 755 $(DESTDIR)$(LIBDIR) + $(INSTALL) -c -m 644 lib/$(PCILIB) $(DESTDIR)$(LIBDIR) + ln -sf $(PCILIB) $(DESTDIR)$(LIBDIR)/$(LIBNAME).so$(ABI_VERSION) +endif + +install-lib: $(PCIINC_INS) lib/$(PCILIB) lib/$(PCILIBPC) + $(DIRINSTALL) -m 755 $(DESTDIR)$(INCDIR)/pci $(DESTDIR)$(LIBDIR) $(DESTDIR)$(PKGCFDIR) + $(INSTALL) -c -m 644 $(PCIINC_INS) $(DESTDIR)$(INCDIR)/pci + $(INSTALL) -c -m 644 lib/$(PCILIB) $(DESTDIR)$(LIBDIR) + $(INSTALL) -c -m 644 lib/$(PCILIBPC) $(DESTDIR)$(PKGCFDIR) +ifeq ($(SHARED),yes) + ln -sf $(LIBNAME).so$(ABI_VERSION) $(DESTDIR)$(LIBDIR)/$(LIBNAME).so +endif + +uninstall: all + rm -f $(DESTDIR)$(SBINDIR)/lspci $(DESTDIR)$(SBINDIR)/setpci $(DESTDIR)$(SBINDIR)/update-pciids + rm -f $(DESTDIR)-udeb$(SBINDIR)/lspci + rm -f $(DESTDIR)$(IDSDIR)/$(PCI_IDS) + rm -f $(DESTDIR)$(MANDIR)/man8/lspci.8 $(DESTDIR)$(MANDIR)/man8/setpci.8 $(DESTDIR)$(MANDIR)/man8/update-pciids.8 + rm -f $(DESTDIR)$(SBINDIR)/pcimodules $(DESTDIR)$(MANDIR)/man8/pcimodules.8 + rm -f $(DESTDIR)$(MANDIR)/man7/pcilib.7 +ifeq ($(SHARED),yes) + rm -f $(DESTDIR)$(LIBDIR)/$(PCILIB) $(DESTDIR)$(LIBDIR)/$(LIBNAME).so$(ABI_VERSION) +endif + +pci.ids.gz: pci.ids + gzip -9 <$< >$@ + +.PHONY: all clean distclean install install-lib uninstall force diff --git a/README b/README new file mode 100644 index 0000000..da2171a --- /dev/null +++ b/README @@ -0,0 +1,147 @@ +This package contains the PCI Utilities, version 3.0.0. + +Copyright (c) 1997--2008 Martin Mares + +All files in this package can be freely distributed and used according +to the terms of the GNU General Public License, either version 2 or +(at your opinion) any newer version. See http://www.gnu.org/ for details. + + +1. What's that? +~~~~~~~~~~~~~~~ +The PCI Utilities package contains a library for portable access to PCI bus +configuration registers and several utilities based on this library. + +In runs on the following systems: + + Linux (via /sys/bus/pci, /proc/bus/pci or i386 ports) + FreeBSD (via /dev/pci) + NetBSD (via libpci) + OpenBSD (via /dev/pci) + GNU/kFreeBSD (via /dev/pci) + Solaris/i386 (direct port access) + Aix (via /dev/pci and odmget) + GNU Hurd (direct port access) + Windows (direct port access) + +It should be very easy to add support for other systems as well (volunteers +wanted; if you want to try that, I'll be very glad to see the patches and +include them in the next version). + +The utilities include: (See manual pages for more details) + + - lspci: displays detailed information about all PCI buses and devices. + + - setpci: allows to read from and write to PCI device configuration + registers. For example, you can adjust the latency timers with it. + CAUTION: There is a couple of dangerous points and caveats, please read + the manual page first! + + - update-pciids: download the current version of the pci.ids file. + + +2. Compiling and (un)installing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Just run "make" to compile the package and then "make install" to install it. +Please note that GNU make is needed on most platforms. + +If you want to change the default installation location, please override +the PREFIX variable specified in the Makefile -- e.g., you can use +"make PREFIX=/opt/pciutils install" to create a separate installation +not interfering with the rest of your system. Setting the DESTDIR variable +will allow you to install to a different directory from the one you intend +to eventually run it from. This is useful for people who are packaging +pciutils to install on other computers. + +There are several options which can be set in the Makefile or overridden +when running make: + + ZLIB=yes/no Enable support for compressed pci.ids (requires zlib). + If it is enabled, pciutils will use pci.ids.gz in preference to + pci.ids, even if the pci.ids file is newer. If the pci.ids.gz + file is missing, it will use pci.ids instead. If you do not + specify this option, the configure script will try to guess + automatically based on the presence of zlib. + + DNS=yes/no Enable support for querying the central database of PCI ID's + using DNS. Requires libresolv (which is available on most + systems as a part of the standard libraries) and tries to + autodetect its presence if the option is not specified. + + SHARED=yes/ Build libpci as a shared library. Requires GCC 4.0 or newer. + no/local The ABI of the shared library is intended to remain backward + compatible for a long time (we use symbol versioning to achieve + that, like GNU libc does). The value `local' includes the + right directory name in the binaries, so the utilities can be + run without installation. This is not recommended for any + production builds. + +"make install-lib" installs the library together with its header files +for use by other programs. + +When you are bored of dumping PCI registers, just use "make uninstall". + + +3. Getting new ID's +~~~~~~~~~~~~~~~~~~~ +The database of PCI ID's (the pci.ids file) gets out of date much faster +than I release new versions of this package. + +If you are missing names for any of your devices or you just want to stay +on the bleeding edge, download the most recent pci.ids file from +http://pciids.sf.net/ (e.g., by running the update-ids utility). + +Alternatively, you can use `lspci -q' to query the central database +for new entries via network. + +If your devices still appear as unknown, please send us their ID's and +names, the detailed instructions for submissions are listed on the +sf.net web page. + + +4. Getting new versions +~~~~~~~~~~~~~~~~~~~~~~~ +New versions of pciutils are available at the following places: + + ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci/ + ftp://ftp.kernel.org/pub/software/utils/pciutils/ (expect a couple of hours delay) + ftp://metalab.unc.edu/pub/Linux/hardware/ (expect a couple of days delay) + +There is also a public GIT tree at: + + git://git.kernel.org/pub/scm/utils/pciutils/pciutils.git + + +5. Using the library +~~~~~~~~~~~~~~~~~~~~ +So far, there is only a little documentation for the library except for the +general introduction in the pcilib(7) man page. If you want to use the +library in your programs, please follow the comments in lib/pci.h and in +the example program example.c. + + +6. Feedback +~~~~~~~~~~~ +If you have any bug reports or suggestions, send them to the author. + +If you have any new ID's, I'll be very glad to add them to the database, but +please take a look at http://pciids.sf.net/ first and follow the instructions. + +If you want, subscribe to linux-pci@atrey.karlin.mff.cuni.cz (send +"subscribe linux-pci" to majordomo@atrey.karlin.mff.cuni.cz). +Release notes about new versions will be send to the list and problems with +the Linux PCI support will be probably discussed there, too. + + +7. Miscellanea +~~~~~~~~~~~~~~ +You also might want to look at the pciutils web page containing release +notes and other news: http://mj.ucw.cz/pciutils.shtml . + +There also exists a utility called PowerTweak which is able to fine tune +parameters of many chipsets much better than the Bridge Optimization code +in Linux kernel (already removed in 2.3.x). See http://powertweak.sf.net/ +for more information. + + Have fun + Martin diff --git a/README.Windows b/README.Windows new file mode 100644 index 0000000..7a85fda --- /dev/null +++ b/README.Windows @@ -0,0 +1,11 @@ +Since 2.1.99-test5, pciutils should also be compilable on Windows. Thanks +to Alexander Stock for contributing the port. + +Updated after version 2.2.6 to compile again, and with MinGW, even (only?) +cross-compiling. (Hopefully it works with MSVC too.) + +To use this port, you need to install WinIO.dll first. You can get it +from http://www.internals.com/. + +However, you need to use win32/config.{h,mk} instead of the automatically +generated lib/config.{h,mk} as lib/configure does not run on Windows. diff --git a/TODO b/TODO new file mode 100644 index 0000000..f9370ae --- /dev/null +++ b/TODO @@ -0,0 +1,24 @@ +- review class names + +Capabilities with partial decoding: +- PCIe 2nd set of control/status registers (have spec) +- HyperTransport caps (have spec) + +Capabilities with no decoding: +- VPD (have spec) +- CompactPCI hot-swap +- CompactPCI central resource control +- AGP3 +- Secure device +- SATA HBA (have spec) +- Advanced features (have spec) +- Advanced Error Reporting (ext'd) +- Virtual Channel (ext'd) +- Power Budgeting (ext'd) +- Root Complex * (ext'd) +- Multi-Function Virtual Channel (ext'd) +- Root Bridge Control Block (ext'd) +- Access Controls (ext'd) + +PCIIDS: +- delete old DB at SF diff --git a/common.c b/common.c new file mode 100644 index 0000000..ed39b87 --- /dev/null +++ b/common.c @@ -0,0 +1,126 @@ +/* + * The PCI Utilities -- Common Functions + * + * Copyright (c) 1997--2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include +#include +#include +#include +#include + +#include "pciutils.h" + +void NONRET +die(char *msg, ...) +{ + va_list args; + + va_start(args, msg); + fprintf(stderr, "%s: ", program_name); + vfprintf(stderr, msg, args); + fputc('\n', stderr); + exit(1); +} + +void * +xmalloc(unsigned int howmuch) +{ + void *p = malloc(howmuch); + if (!p) + die("Unable to allocate %d bytes of memory", howmuch); + return p; +} + +void * +xrealloc(void *ptr, unsigned int howmuch) +{ + void *p = realloc(ptr, howmuch); + if (!p) + die("Unable to allocate %d bytes of memory", howmuch); + return p; +} + +static void +set_pci_method(struct pci_access *pacc, char *arg) +{ + char *name; + int i; + + if (!strcmp(arg, "help")) + { + printf("Known PCI access methods:\n\n"); + for (i=0; name = pci_get_method_name(i); i++) + if (name[0]) + printf("%s\n", name); + exit(0); + } + else + { + i = pci_lookup_method(arg); + if (i < 0) + die("No such PCI access method: %s (see `-A help' for a list)", arg); + pacc->method = i; + } +} + +static void +set_pci_option(struct pci_access *pacc, char *arg) +{ + if (!strcmp(arg, "help")) + { + struct pci_param *p; + printf("Known PCI access parameters:\n\n"); + for (p=NULL; p=pci_walk_params(pacc, p);) + printf("%-20s %s (%s)\n", p->param, p->help, p->value); + exit(0); + } + else + { + char *sep = strchr(arg, '='); + if (!sep) + die("Invalid PCI access parameter syntax: %s", arg); + *sep++ = 0; + if (pci_set_param(pacc, arg, sep) < 0) + die("Unrecognized PCI access parameter: %s (see `-O help' for a list)", arg); + } +} + +int +parse_generic_option(int i, struct pci_access *pacc, char *optarg) +{ + switch (i) + { +#ifdef PCI_HAVE_PM_INTEL_CONF + case 'H': + if (!strcmp(optarg, "1")) + pacc->method = PCI_ACCESS_I386_TYPE1; + else if (!strcmp(optarg, "2")) + pacc->method = PCI_ACCESS_I386_TYPE2; + else + die("Unknown hardware configuration type %s", optarg); + break; +#endif +#ifdef PCI_HAVE_PM_DUMP + case 'F': + pci_set_param(pacc, "dump.name", optarg); + pacc->method = PCI_ACCESS_DUMP; + break; +#endif + case 'A': + set_pci_method(pacc, optarg); + break; + case 'G': + pacc->debugging++; + break; + case 'O': + set_pci_option(pacc, optarg); + break; + default: + return 0; + } + return 1; +} diff --git a/compat/README b/compat/README new file mode 100644 index 0000000..6660945 --- /dev/null +++ b/compat/README @@ -0,0 +1,2 @@ +This directory contains implementations of standard library functions +for systems where the default C libraries lack them. diff --git a/compat/getopt.c b/compat/getopt.c new file mode 100644 index 0000000..6a53fa9 --- /dev/null +++ b/compat/getopt.c @@ -0,0 +1,693 @@ +/* Getopt for GNU. + NOTE: getopt is now part of the C library, so if you don't know what + "Keep this file name-space clean" means, talk to roland@gnu.ai.mit.edu + before changing it! + + Copyright (C) 1987, 88, 89, 90, 91, 92, 1993 + Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 2, or (at your option) any + later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifndef __STDC__ +# ifndef const +# define const +# endif +#endif + +/* This tells Alpha OSF/1 not to define a getopt prototype in . */ +#ifndef _NO_PROTO +#define _NO_PROTO +#endif + +#include +#include + +/* Comment out all this code if we are using the GNU C Library, and are not + actually compiling the library itself. This code is part of the GNU C + Library, but also included in many other GNU distributions. Compiling + and linking in this code is a waste when using the GNU C library + (especially if it is a shared library). Rather than having every GNU + program understand `configure --with-gnu-libc' and omit the object files, + it is simpler to just do this in the source for each such file. */ + +#if defined (_LIBC) || !defined (__GNU_LIBRARY__) + + +/* This needs to come after some library #include + to get __GNU_LIBRARY__ defined. */ +#ifdef __GNU_LIBRARY__ +/* Don't include stdlib.h for non-GNU C libraries because some of them + contain conflicting prototypes for getopt. */ +#include +#endif /* GNU C library. */ + +/* If GETOPT_COMPAT is defined, `+' as well as `--' can introduce a + long-named option. Because this is not POSIX.2 compliant, it is + being phased out. */ +/* #define GETOPT_COMPAT */ + +/* This version of `getopt' appears to the caller like standard Unix `getopt' + but it behaves differently for the user, since it allows the user + to intersperse the options with the other arguments. + + As `getopt' works, it permutes the elements of ARGV so that, + when it is done, all the options precede everything else. Thus + all application programs are extended to handle flexible argument order. + + Setting the environment variable POSIXLY_CORRECT disables permutation. + Then the behavior is completely standard. + + GNU application programs can use a third alternative mode in which + they can distinguish the relative order of options and other arguments. */ + +#include "getopt.h" + +/* For communication from `getopt' to the caller. + When `getopt' finds an option that takes an argument, + the argument value is returned here. + Also, when `ordering' is RETURN_IN_ORDER, + each non-option ARGV-element is returned here. */ + +char *optarg = 0; + +/* Index in ARGV of the next element to be scanned. + This is used for communication to and from the caller + and for communication between successive calls to `getopt'. + + On entry to `getopt', zero means this is the first call; initialize. + + When `getopt' returns EOF, this is the index of the first of the + non-option elements that the caller should itself scan. + + Otherwise, `optind' communicates from one call to the next + how much of ARGV has been scanned so far. */ + +/* XXX 1003.2 says this must be 1 before any call. */ +int optind = 0; + +/* The next char to be scanned in the option-element + in which the last option character we returned was found. + This allows us to pick up the scan where we left off. + + If this is zero, or a null string, it means resume the scan + by advancing to the next ARGV-element. */ + +static char *nextchar; + +/* Callers store zero here to inhibit the error message + for unrecognized options. */ + +int opterr = 1; + +/* Set to an option character which was unrecognized. + This must be initialized on some systems to avoid linking in the + system's own getopt implementation. */ + +#define BAD_OPTION '\0' +int optopt = BAD_OPTION; + +/* Describe how to deal with options that follow non-option ARGV-elements. + + If the caller did not specify anything, + the default is REQUIRE_ORDER if the environment variable + POSIXLY_CORRECT is defined, PERMUTE otherwise. + + REQUIRE_ORDER means don't recognize them as options; + stop option processing when the first non-option is seen. + This is what Unix does. + This mode of operation is selected by either setting the environment + variable POSIXLY_CORRECT, or using `+' as the first character + of the list of option characters. + + PERMUTE is the default. We permute the contents of ARGV as we scan, + so that eventually all the non-options are at the end. This allows options + to be given in any order, even with programs that were not written to + expect this. + + RETURN_IN_ORDER is an option available to programs that were written + to expect options and other ARGV-elements in any order and that care about + the ordering of the two. We describe each non-option ARGV-element + as if it were the argument of an option with character code 1. + Using `-' as the first character of the list of option characters + selects this mode of operation. + + The special argument `--' forces an end of option-scanning regardless + of the value of `ordering'. In the case of RETURN_IN_ORDER, only + `--' can cause `getopt' to return EOF with `optind' != ARGC. */ + +static enum { + REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER +} ordering; + +#ifdef __GNU_LIBRARY__ +/* We want to avoid inclusion of string.h with non-GNU libraries + because there are many ways it can cause trouble. + On some systems, it contains special magic macros that don't work + in GCC. */ +#include +#define my_index strchr +#define my_strlen strlen +#else + +/* Avoid depending on library functions or files + whose names are inconsistent. */ + +#if __STDC__ || defined(PROTO) +extern char *getenv(const char *name); +extern int strcmp(const char *s1, const char *s2); +extern int strncmp(const char *s1, const char *s2, int n); + +static int my_strlen(const char *s); +static char *my_index(const char *str, int chr); +#else +extern char *getenv(); +#endif + +static int my_strlen(const char *str) +{ + int n = 0; + while (*str++) + n++; + return n; +} + +static char *my_index(const char *str, int chr) +{ + while (*str) { + if (*str == chr) + return (char *) str; + str++; + } + return 0; +} + +#endif /* GNU C library. */ + +/* Handle permutation of arguments. */ + +/* Describe the part of ARGV that contains non-options that have + been skipped. `first_nonopt' is the index in ARGV of the first of them; + `last_nonopt' is the index after the last of them. */ + +static int first_nonopt; +static int last_nonopt; + +/* Exchange two adjacent subsequences of ARGV. + One subsequence is elements [first_nonopt,last_nonopt) + which contains all the non-options that have been skipped so far. + The other is elements [last_nonopt,optind), which contains all + the options processed since those non-options were skipped. + + `first_nonopt' and `last_nonopt' are relocated so that they describe + the new indices of the non-options in ARGV after they are moved. + + To perform the swap, we first reverse the order of all elements. So + all options now come before all non options, but they are in the + wrong order. So we put back the options and non options in original + order by reversing them again. For example: + original input: a b c -x -y + reverse all: -y -x c b a + reverse options: -x -y c b a + reverse non options: -x -y a b c +*/ + +#if __STDC__ || defined(PROTO) +static void exchange(char **argv); +#endif + +static void exchange(char **argv) +{ + char *temp, **first, **last; + + /* Reverse all the elements [first_nonopt, optind) */ + first = &argv[first_nonopt]; + last = &argv[optind - 1]; + while (first < last) { + temp = *first; + *first = *last; + *last = temp; + first++; + last--; + } + /* Put back the options in order */ + first = &argv[first_nonopt]; + first_nonopt += (optind - last_nonopt); + last = &argv[first_nonopt - 1]; + while (first < last) { + temp = *first; + *first = *last; + *last = temp; + first++; + last--; + } + + /* Put back the non options in order */ + first = &argv[first_nonopt]; + last_nonopt = optind; + last = &argv[last_nonopt - 1]; + while (first < last) { + temp = *first; + *first = *last; + *last = temp; + first++; + last--; + } +} + +/* Scan elements of ARGV (whose length is ARGC) for option characters + given in OPTSTRING. + + If an element of ARGV starts with '-', and is not exactly "-" or "--", + then it is an option element. The characters of this element + (aside from the initial '-') are option characters. If `getopt' + is called repeatedly, it returns successively each of the option characters + from each of the option elements. + + If `getopt' finds another option character, it returns that character, + updating `optind' and `nextchar' so that the next call to `getopt' can + resume the scan with the following option character or ARGV-element. + + If there are no more option characters, `getopt' returns `EOF'. + Then `optind' is the index in ARGV of the first ARGV-element + that is not an option. (The ARGV-elements have been permuted + so that those that are not options now come last.) + + OPTSTRING is a string containing the legitimate option characters. + If an option character is seen that is not listed in OPTSTRING, + return BAD_OPTION after printing an error message. If you set `opterr' to + zero, the error message is suppressed but we still return BAD_OPTION. + + If a char in OPTSTRING is followed by a colon, that means it wants an arg, + so the following text in the same ARGV-element, or the text of the following + ARGV-element, is returned in `optarg'. Two colons mean an option that + wants an optional arg; if there is text in the current ARGV-element, + it is returned in `optarg', otherwise `optarg' is set to zero. + + If OPTSTRING starts with `-' or `+', it requests different methods of + handling the non-option ARGV-elements. + See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. + + Long-named options begin with `--' instead of `-'. + Their names may be abbreviated as long as the abbreviation is unique + or is an exact match for some defined option. If they have an + argument, it follows the option name in the same ARGV-element, separated + from the option name by a `=', or else the in next ARGV-element. + When `getopt' finds a long-named option, it returns 0 if that option's + `flag' field is nonzero, the value of the option's `val' field + if the `flag' field is zero. + + The elements of ARGV aren't really const, because we permute them. + But we pretend they're const in the prototype to be compatible + with other systems. + + LONGOPTS is a vector of `struct option' terminated by an + element containing a name which is zero. + + LONGIND returns the index in LONGOPT of the long-named option found. + It is only valid when a long-named option has been found by the most + recent call. + + If LONG_ONLY is nonzero, '-' as well as '--' can introduce + long-named options. */ + +int _getopt_internal(int argc, char *const *argv, const char *optstring, + const struct option *longopts, int *longind, int long_only) +{ + int option_index; + + optarg = 0; + + /* Initialize the internal data when the first call is made. + Start processing options with ARGV-element 1 (since ARGV-element 0 + is the program name); the sequence of previously skipped + non-option ARGV-elements is empty. */ + + if (optind == 0) { + first_nonopt = last_nonopt = optind = 1; + + nextchar = NULL; + + /* Determine how to handle the ordering of options and nonoptions. */ + + if (optstring[0] == '-') { + ordering = RETURN_IN_ORDER; + ++optstring; + } else if (optstring[0] == '+') { + ordering = REQUIRE_ORDER; + ++optstring; + } else if (getenv("POSIXLY_CORRECT") != NULL) + ordering = REQUIRE_ORDER; + else + ordering = PERMUTE; + } + + if (nextchar == NULL || *nextchar == '\0') { + if (ordering == PERMUTE) { + /* If we have just processed some options following some non-options, + exchange them so that the options come first. */ + + if (first_nonopt != last_nonopt && last_nonopt != optind) + exchange((char **) argv); + else if (last_nonopt != optind) + first_nonopt = optind; + + /* Now skip any additional non-options + and extend the range of non-options previously skipped. */ + + while (optind < argc && (argv[optind][0] != '-' || argv[optind][1] == '\0') +#ifdef GETOPT_COMPAT + && (longopts == NULL + || argv[optind][0] != '+' || argv[optind][1] == '\0') +#endif /* GETOPT_COMPAT */ + ) + optind++; + last_nonopt = optind; + } + + /* Special ARGV-element `--' means premature end of options. + Skip it like a null option, + then exchange with previous non-options as if it were an option, + then skip everything else like a non-option. */ + + if (optind != argc && !strcmp(argv[optind], "--")) { + optind++; + + if (first_nonopt != last_nonopt && last_nonopt != optind) + exchange((char **) argv); + else if (first_nonopt == last_nonopt) + first_nonopt = optind; + last_nonopt = argc; + + optind = argc; + } + + /* If we have done all the ARGV-elements, stop the scan + and back over any non-options that we skipped and permuted. */ + + if (optind == argc) { + /* Set the next-arg-index to point at the non-options + that we previously skipped, so the caller will digest them. */ + if (first_nonopt != last_nonopt) + optind = first_nonopt; + return EOF; + } + + /* If we have come to a non-option and did not permute it, + either stop the scan or describe it to the caller and pass it by. */ + + if ((argv[optind][0] != '-' || argv[optind][1] == '\0') +#ifdef GETOPT_COMPAT + && (longopts == NULL || argv[optind][0] != '+' || argv[optind][1] == '\0') +#endif /* GETOPT_COMPAT */ + ) { + if (ordering == REQUIRE_ORDER) + return EOF; + optarg = argv[optind++]; + return 1; + } + + /* We have found another option-ARGV-element. + Start decoding its characters. */ + + nextchar = (argv[optind] + 1 + (longopts != NULL && argv[optind][1] == '-')); + } + + if (longopts != NULL && ((argv[optind][0] == '-' && (argv[optind][1] == '-' || long_only)) +#ifdef GETOPT_COMPAT + || argv[optind][0] == '+' +#endif /* GETOPT_COMPAT */ + )) { + const struct option *p; + char *s = nextchar; + int exact = 0; + int ambig = 0; + const struct option *pfound = NULL; + int indfound = 0; + + while (*s && *s != '=') + s++; + + /* Test all options for either exact match or abbreviated matches. */ + for (p = longopts, option_index = 0; p->name; p++, option_index++) + if (!strncmp(p->name, nextchar, s - nextchar)) { + if (s - nextchar == my_strlen(p->name)) { + /* Exact match found. */ + pfound = p; + indfound = option_index; + exact = 1; + break; + } else if (pfound == NULL) { + /* First nonexact match found. */ + pfound = p; + indfound = option_index; + } else + /* Second nonexact match found. */ + ambig = 1; + } + + if (ambig && !exact) { + if (opterr) + fprintf(stderr, "%s: option `%s' is ambiguous\n", + argv[0], argv[optind]); + nextchar += my_strlen(nextchar); + optind++; + return BAD_OPTION; + } + + if (pfound != NULL) { + option_index = indfound; + optind++; + if (*s) { + /* Don't test has_arg with >, because some C compilers don't + allow it to be used on enums. */ + if (pfound->has_arg) + optarg = s + 1; + else { + if (opterr) { + if (argv[optind - 1][1] == '-') + /* --option */ + fprintf(stderr, + "%s: option `--%s' doesn't allow an argument\n", + argv[0], pfound->name); + else + /* +option or -option */ + fprintf(stderr, + "%s: option `%c%s' doesn't allow an argument\n", + argv[0], argv[optind - 1][0], + pfound->name); + } + nextchar += my_strlen(nextchar); + return BAD_OPTION; + } + } else if (pfound->has_arg == 1) { + if (optind < argc) + optarg = argv[optind++]; + else { + if (opterr) + fprintf(stderr, + "%s: option `%s' requires an argument\n", + argv[0], argv[optind - 1]); + nextchar += my_strlen(nextchar); + return optstring[0] == ':' ? ':' : BAD_OPTION; + } + } + nextchar += my_strlen(nextchar); + if (longind != NULL) + *longind = option_index; + if (pfound->flag) { + *(pfound->flag) = pfound->val; + return 0; + } + return pfound->val; + } + /* Can't find it as a long option. If this is not getopt_long_only, + or the option starts with '--' or is not a valid short + option, then it's an error. + Otherwise interpret it as a short option. */ + if (!long_only || argv[optind][1] == '-' +#ifdef GETOPT_COMPAT + || argv[optind][0] == '+' +#endif /* GETOPT_COMPAT */ + || my_index(optstring, *nextchar) == NULL) { + if (opterr) { + if (argv[optind][1] == '-') + /* --option */ + fprintf(stderr, "%s: unrecognized option `--%s'\n", + argv[0], nextchar); + else + /* +option or -option */ + fprintf(stderr, "%s: unrecognized option `%c%s'\n", + argv[0], argv[optind][0], nextchar); + } + nextchar = (char *) ""; + optind++; + return BAD_OPTION; + } + } + + /* Look at and handle the next option-character. */ + + { + char c = *nextchar++; + char *temp = my_index(optstring, c); + + /* Increment `optind' when we start to process its last character. */ + if (*nextchar == '\0') + ++optind; + + if (temp == NULL || c == ':') { + if (opterr) { +#if 0 + if (c < 040 || c >= 0177) + fprintf(stderr, + "%s: unrecognized option, character code 0%o\n", + argv[0], c); + else + fprintf(stderr, "%s: unrecognized option `-%c'\n", argv[0], + c); +#else + /* 1003.2 specifies the format of this message. */ + fprintf(stderr, "%s: illegal option -- %c\n", argv[0], c); +#endif + } + optopt = c; + return BAD_OPTION; + } + if (temp[1] == ':') { + if (temp[2] == ':') { + /* This is an option that accepts an argument optionally. */ + if (*nextchar != '\0') { + optarg = nextchar; + optind++; + } else + optarg = 0; + nextchar = NULL; + } else { + /* This is an option that requires an argument. */ + if (*nextchar != '\0') { + optarg = nextchar; + /* If we end this ARGV-element by taking the rest as an arg, + we must advance to the next element now. */ + optind++; + } else if (optind == argc) { + if (opterr) { +#if 0 + fprintf(stderr, + "%s: option `-%c' requires an argument\n", + argv[0], c); +#else + /* 1003.2 specifies the format of this message. */ + fprintf(stderr, + "%s: option requires an argument -- %c\n", + argv[0], c); +#endif + } + optopt = c; + if (optstring[0] == ':') + c = ':'; + else + c = BAD_OPTION; + } else + /* We already incremented `optind' once; + increment it again when taking next ARGV-elt as argument. */ + optarg = argv[optind++]; + nextchar = NULL; + } + } + return c; + } +} + +int getopt(int argc, char *const *argv, const char *optstring) +{ + return _getopt_internal(argc, argv, optstring, (const struct option *) 0, (int *) 0, 0); +} + +int getopt_long(int argc, char *const *argv, const char *options, const struct option long_options, int *opt_index) +{ + return _getopt_internal(argc, argv, options, long_options, opt_index, 0); +} + +#endif /* _LIBC or not __GNU_LIBRARY__. */ + +#ifdef TEST + +/* Compile with -DTEST to make an executable for use in testing + the above definition of `getopt'. */ + +int main(int argc, char **argv) +{ + int c; + int digit_optind = 0; + + while (1) { + int this_option_optind = optind ? optind : 1; + + c = getopt(argc, argv, "abc:d:0123456789"); + if (c == EOF) + break; + + switch (c) { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + if (digit_optind != 0 && digit_optind != this_option_optind) + printf("digits occur in two different argv-elements.\n"); + digit_optind = this_option_optind; + printf("option %c\n", c); + break; + + case 'a': + printf("option a\n"); + break; + + case 'b': + printf("option b\n"); + break; + + case 'c': + printf("option c with value `%s'\n", optarg); + break; + + case BAD_OPTION: + break; + + default: + printf("?? getopt returned character code 0%o ??\n", c); + } + } + + if (optind < argc) { + printf("non-option ARGV-elements: "); + while (optind < argc) + printf("%s ", argv[optind++]); + printf("\n"); + } + + exit(0); +} + +#endif /* TEST */ diff --git a/compat/getopt.h b/compat/getopt.h new file mode 100644 index 0000000..0abce6e --- /dev/null +++ b/compat/getopt.h @@ -0,0 +1,127 @@ +/* Declarations for getopt. + Copyright (C) 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 2, or (at your option) any + later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + +#ifndef _GETOPT_H +#define _GETOPT_H 1 + +#ifdef __cplusplus +extern "C" { +#endif + +/* For communication from `getopt' to the caller. + When `getopt' finds an option that takes an argument, + the argument value is returned here. + Also, when `ordering' is RETURN_IN_ORDER, + each non-option ARGV-element is returned here. */ + +extern char *optarg; + +/* Index in ARGV of the next element to be scanned. + This is used for communication to and from the caller + and for communication between successive calls to `getopt'. + + On entry to `getopt', zero means this is the first call; initialize. + + When `getopt' returns EOF, this is the index of the first of the + non-option elements that the caller should itself scan. + + Otherwise, `optind' communicates from one call to the next + how much of ARGV has been scanned so far. */ + +extern int optind; + +/* Callers store zero here to inhibit the error message `getopt' prints + for unrecognized options. */ + +extern int opterr; + +/* Set to an option character which was unrecognized. */ + +extern int optopt; + +/* Describe the long-named options requested by the application. + The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector + of `struct option' terminated by an element containing a name which is + zero. + + The field `has_arg' is: + no_argument (or 0) if the option does not take an argument, + required_argument (or 1) if the option requires an argument, + optional_argument (or 2) if the option takes an optional argument. + + If the field `flag' is not NULL, it points to a variable that is set + to the value given in the field `val' when the option is found, but + left unchanged if the option is not found. + + To have a long-named option do something other than set an `int' to + a compiled-in constant, such as set a value from `optarg', set the + option's `flag' field to zero and its `val' field to a nonzero + value (the equivalent single-letter option character, if there is + one). For long options that have a zero `flag' field, `getopt' + returns the contents of the `val' field. */ + +struct option +{ +#if __STDC__ + const char *name; +#else + char *name; +#endif + /* has_arg can't be an enum because some compilers complain about + type mismatches in all the code that assumes it is an int. */ + int has_arg; + int *flag; + int val; +}; + +/* Names for the values of the `has_arg' field of `struct option'. */ + +#define no_argument 0 +#define required_argument 1 +#define optional_argument 2 + +#if __STDC__ || defined(PROTO) +#if defined(__GNU_LIBRARY__) +/* Many other libraries have conflicting prototypes for getopt, with + differences in the consts, in stdlib.h. To avoid compilation + errors, only prototype getopt for the GNU C library. */ +extern int getopt (int argc, char *const *argv, const char *shortopts); +#endif /* not __GNU_LIBRARY__ */ +extern int getopt_long (int argc, char *const *argv, const char *shortopts, + const struct option *longopts, int *longind); +extern int getopt_long_only (int argc, char *const *argv, + const char *shortopts, + const struct option *longopts, int *longind); + +/* Internal only. Users should not call this directly. */ +extern int _getopt_internal (int argc, char *const *argv, + const char *shortopts, + const struct option *longopts, int *longind, + int long_only); +#else /* not __STDC__ */ +extern int getopt (); +extern int getopt_long (); +extern int getopt_long_only (); + +extern int _getopt_internal (); +#endif /* not __STDC__ */ + +#ifdef __cplusplus +} +#endif + +#endif /* _GETOPT_H */ diff --git a/debian/TODO b/debian/TODO new file mode 100644 index 0000000..f53e9a0 --- /dev/null +++ b/debian/TODO @@ -0,0 +1,5 @@ + - Handle short reads (eg symbios 875, IBM Citrine) + +After etch: + - Remove dependency on libpci2 + - Remove pcimodules diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..6e55174 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,650 @@ +pciutils (1:3.0.0-9slp2) unstable; urgency=low + + * Add COPYING file (GPLv2 License) + * Git: 165.213.180.234:slp/pkgs/xorg/miscs/pciutils + * Tag: pciutils_3.0.0-9slp2 + + -- Sung-Jin Park Fri, 19 Aug 2011 10:55:10 +0900 + +pciutils (1:3.0.0-8slp2) unstable; urgency=low + + * Reupload by the request from SDK team + * Git: 165.213.180.234:/git/slp/pkgs/xorg/miscs/pciutils + * Tag: pciutils_3.0.0-8slp2 + + -- Sung-Jin Park Thu, 25 Nov 2010 12:52:20 +0900 + +pciutils (1:3.0.0-7slp2) unstable; urgency=low + + * Import Debian Package + + -- Sung-Jin Park Mon, 17 May 2010 11:28:29 +0900 + +pciutils (1:3.0.0-6) unstable; urgency=low + + * New pci.ids header format; closes: #501612 + * Update pci.ids with snapshot dated 2008-10-07 11:49:28 + + -- Anibal Monsalve Salazar Thu, 09 Oct 2008 22:00:53 +1100 + +pciutils (1:3.0.0-5) unstable; urgency=low + + * Do not strip pci.ids in the pciutils binary package; closes: #496655 + * Fix libpci3 long description; closes: #481313 + * Update pci.ids with snapshot dated Wed 2008-10-01 01:05:01 + - Fix typo in pci.ids; patch by Antony Gelberg; closes: #497861 + * Standards-Version is 3.8.0 + + -- Anibal Monsalve Salazar Wed, 01 Oct 2008 12:42:52 +1000 + +pciutils (1:3.0.0-4) unstable; urgency=low + + * Uncompress pci.ids.gz in debian/rules. Closes: #479766 + * Don't compress pci.ids in update-pciids.sh. Closes: #454453 + * pci.ids: updated with daily snapshot dated Sun 2008-05-11 01:05:02 + + -- Anibal Monsalve Salazar Mon, 12 May 2008 09:54:02 +1000 + +pciutils (1:3.0.0-3) unstable; urgency=low + + * libpci-dev conflicts with pciutils-dev. Closes: #478290 + + -- Anibal Monsalve Salazar Tue, 29 Apr 2008 16:23:38 +1000 + +pciutils (1:3.0.0-2) unstable; urgency=low + + * libpci-dev is priority standard + * Compile the udeb lspci with libpci.a + * Don't uncompress pci.ids.gz + * update-pciids works as expected. Closes: #411314, #452008 + * pci.ids: updated with daily snapshot dated 2008-04-27 01:05:01 + + -- Anibal Monsalve Salazar Fri, 25 Apr 2008 09:50:37 +1000 + +pciutils (1:3.0.0-1) experimental; urgency=low + + * New upstream version + * pci.ids: updated with daily snapshot dated Sat 2008-04-12 01:05:01 + + -- Anibal Monsalve Salazar Sat, 12 Apr 2008 21:19:53 +1000 + +pciutils (1:2.2.10-2) unstable; urgency=low + + * pci.ids: updated with daily snapshot dated Sat 2008-04-12 01:05:01 + + -- Anibal Monsalve Salazar Sat, 12 Apr 2008 20:35:57 +1000 + +pciutils (1:2.2.10-1) unstable; urgency=low + + * New upstream version + * Install the pkgconfig file in the pciutils-dev package. + Patch by Nicolas Boullis . + Closes: #403181 + * pci.ids: updated with daily snapshot dated Wed 2008-02-20 02:05:01 + + -- Anibal Monsalve Salazar Wed, 20 Feb 2008 19:29:55 +1100 + +pciutils (1:2.2.9-2) unstable; urgency=low + + * pciutils-udeb is priority standard. Closes: #420227 + + -- Anibal Monsalve Salazar Wed, 23 Jan 2008 22:16:47 +1100 + +pciutils (1:2.2.9-1) unstable; urgency=medium + + * New upstream version + * Acknowledged NMU. Closes: #425639 + * pci.ids: updated with daily snapshot dated Wed 2008-01-23 02:05:02 + Closes: #422713 + * pciutils and pciutils-udeb depend on ${misc:Depends} + * pciutils-dev depends on zlib1g-dev. Closes: 396640, #413462 + * pciutils-dev depends on pciutils (= ${binary:Version}) + * Bumped debhelper compat to 5 + * Bumped Standards-Version to 3.7.3 + * Put myself as maintainer + * Set homepage control header + * pciutils is priority standard + * Removed empty lib directory from pciutils-udeb + * Replaced "-$(MAKE)" with "[ ! -f Makefile ] || $(MAKE)" in debian/rules + + -- Anibal Monsalve Salazar Wed, 23 Jan 2008 17:36:12 +1100 + +pciutils (1:2.2.4-1.1) unstable; urgency=low + + * Non-maintainer upload. + * Removed obsolete dependency libpci2. Closes: #425639 + + -- Arnaud Hocevar Sat, 29 Sep 2007 21:25:06 +0000 + +pciutils (1:2.2.4-1) unstable; urgency=low + + [ Matthew Wilcox ] + * New upstream version. + * Get rid of build-* rules in debian/rules, don't call build from + binary-indep and don't touch build-* files. + * gzip the udeb's stripped pci.ids, but gunzip the deb's pci.ids so + that programs linked against earlier versions of libpci continue + to work. Also modify update-pciids so that it'll install an + uncompressed version of pci.ids. + * Change Makefile to not build pcimodules for HURD. Closes: #380032 + * Improve the error message if we can't read the standard header + * Remove myself as an Uploader + [ Matt Taggart ] + * update pci.ids to 2006-10-27 01:05:01 + + -- Matt Taggart Fri, 27 Oct 2006 02:55:47 -0700 + +pciutils (1:2.2.4~pre4-1) unstable; urgency=low + + [ Matthew Wilcox ] + * New upstream version + - Adds -nn option. Closes: #268031 + - Adds deviceclass field. Closes: #335665 + - Fixes I/O port access on Hurd. Closes: #379407 + + -- Matthew Wilcox Fri, 11 Aug 2006 07:34:06 -0400 + +pciutils (1:2.2.1-2) unstable; urgency=low + + * Fix Maintainer email address + + -- Matthew Wilcox Wed, 07 Jun 2006 11:09:11 -0400 + +pciutils (1:2.2.1-1) unstable; urgency=low + + [ Matthew Wilcox ] + * New upstream version. Closes: #329370 + - Builds on HURD. Closes: #349239 + - Debian GNU/kFreeBSD should now build. Closes: #292324 + - Uses correct header type for PCI-X. Closes: #265745 + - u64 is now defined in include/pci/types.h. Closes: #265771 + - Subsystem vendors now printed correctly. Closes: #304576 + - Error message corrected. Closes: #347872 + - nv40 replaced with NV40. Closes: #343222 + - Memory window size now reported correctly. Closes: #256607 + - The manpage now explains why capabilties are available only to root. + Closes: #173274 + - Domains are properly supported. Closes: #369751 + * New debian maintainers. Thanks to Remco for his years of service. + * Added option to use curl (instead of wget or lynx) to retrieve pci.ids + * Revert patch to change -m format from #250737. Closes: #347877 + * Move /var/lib/pciutils/pci.ids back to /usr/share/misc/pci.ids. + Closes: #336331 + * Fix typos in pcimodules manpages. Closes: #356129, #302142 + * Remove libpci.so.2; depend on libpci2 to provide this for compatibility + with sarge. + * Build libpci.a with -fPIC for packages which need to build shared + libraries. + * Remove -X option as upstream has vetoed it. It wasn't actually being + used anyway. + * Add -D option (which will be in the next upstream release) to always + show domains. + * Stop installing the pciutils.lsm file. + + [ Matt Taggart ] + * update debian/copyright date and author email address + * Make the pci.ids update a separate debian/rules target that's not + invoked in a default build + * minor cleanups in debian/rules + * get rid of README.debian, it's redundant with upstream info + + -- Matthew Wilcox Thu, 20 Apr 2006 21:01:24 -0400 + +pciutils (1:2.1.11-16) unstable; urgency=low + + * New maintainer, closes: #359915. + * ACK NMUs, closes: #261536, #271226, #278479, #281411, #281413, + #284110, #326274. + * Set Standards-Version to 3.6.2. + * Added homepage to package descriptions. + * Added debian watch file. + + -- Anibal Monsalve Salazar Thu, 30 Mar 2006 08:06:49 +1100 + +pciutils (1:2.1.11-15.3) unstable; urgency=low + + [ Christian Perrier ] + * Non-maintainer upload to add a udeb providing lspci for d-i purposes + Closes: #284110 + + [ Colin Watson ] + * Changes merged from Ubuntu patches: + - Add pciutils-udeb, for use in the installer. Contains only lspci, + libpci.so.2, and pci.ids. + - Reduce pciutils-udeb's copy of pci.ids by over 100KB by removing + subsystem ids, which I don't think we need in the installer, and + comments. + - Move pciutils-udeb's copy of libpci.so.2 to /lib; it seems to confuse + mklibs less that way. + + -- Christian Perrier Sat, 3 Dec 2005 08:16:54 +0100 + +pciutils (1:2.1.11-15.1) unstable; urgency=low + + * NMU durring BSP + * remove unneeded wget build-dependancy + * Store pci.ids under /var for better FHS complicance (closes: #278479) + patch by Sam Morris + * Remove pci.ids.old etc when purging the package (closes: #281413) + patch by Sam Morris + * fix lspci -F for new or old lspci -x format (closes: #261536) + based on patch by Ben Pfaff + * update pci.ids (closes: #281411, hopefully closes: #326274) + + -- Blars Blarson Sat, 3 Sep 2005 22:07:20 +0000 + +pciutils (1:2.1.11-15) unstable; urgency=low + + * Updated pci.ids + * Closes: #259990: pciutils{, -dev}: package description shouldn't + contain "(for 2.*.* kernels)" + * Install example.c in package (closes: #228660) + + -- Remco van de Meent Sun, 18 Jul 2004 10:16:57 +0200 + +pciutils (1:2.1.11-14) unstable; urgency=medium + + * Added Conflicts with older alsa-utils version (closes: #259661) + * Updated pci.ids + + -- Remco van de Meent Fri, 16 Jul 2004 18:38:05 +0200 + +pciutils (1:2.1.11-13) unstable; urgency=low + + * Updated pci.ids + * Add pcimodules utility (closes: #253020) + * Add -X option for output suitable for use in XFree86Config (closes: + #251828) + * Fix problem with lspci displaying wrong bar size (closes: #256352) + * Make machine-readable output better machine-readable (closes: + #250737) + + -- Remco van de Meent Fri, 9 Jul 2004 16:13:52 +0200 + +pciutils (1:2.1.11-12) unstable; urgency=low + + * Oops now with correct replaces versioning + + -- Remco van de Meent Tue, 20 Apr 2004 23:53:16 +0200 + +pciutils (1:2.1.11-11) unstable; urgency=low + + * Revert to just the pciutils and pciutils-dev packages (no changes to + base system allowed currently), hence replaces: libpci2 (closes: + #244583, #241360, #225512) + * Fix warning on lack of sysfs support on 2.4 kernels (closes: #242239, + #244249, #242892) + * Conflicts on packages that need the old output of lspci, or the old + libpci.so.1, namely hardinfo, kudzu and sndconfig. + * Updated pci.ids + + -- Remco van de Meent Tue, 20 Apr 2004 11:31:10 +0200 + +pciutils (1:2.1.11-10) unstable; urgency=low + + * Sysfs support enabled again. libpci1 -> libpci2. + * Old shared lib in separate (source) package: libpci1 + * Temporary dependency on libpci1 package, for transition purposes. + + -- Remco van de Meent Thu, 8 Apr 2004 21:07:51 +0200 + +pciutils (1:2.1.11-9) unstable; urgency=low + + * Revert sysfs patch, so that ABI is back in original state. Shared + library split off from main package (libpci1). Later version will + include sysfs patch again. + * Update pci.ids + + -- Remco van de Meent Thu, 8 Apr 2004 19:30:15 +0200 + +pciutils (1:2.1.11-8) unstable; urgency=low + + * Updated pci.ids file + * Applied sysfs patch from + http://ftp.linux.org.uk/pub/linux/willy/patches/pciutils-sysfs.diff. + pciutils now can make use of /sys if available (linux 2.6), and also + works under 2.4 on sparc64 (closes: #225027, #227547) + * update-pciids.sh now preserves permission of pci.ids (closes: + #223740) + * Changed wrong acronym Mhz into MHz in lspci.c (closes: #230594) + + -- Remco van de Meent Sun, 28 Mar 2004 15:17:30 +0200 + +pciutils (1:2.1.11-7) unstable; urgency=low + + * Tiny change to lib/configure + * Updated pci.ids + * Removed build-depends on libc6-dev (closes: #225345) + + -- Remco van de Meent Mon, 29 Dec 2003 19:07:55 +0100 + +pciutils (1:2.1.11-6) unstable; urgency=low + + * Updated pci.ids + * Slighly updated description in debian/control + + -- Remco van de Meent Mon, 8 Dec 2003 20:38:49 +0100 + +pciutils (1:2.1.11-5) unstable; urgency=low + + * Introduce versioning in shared library: libpci.so -> libpci.so.1 + (closes: #215181) + * Provide libpci.so -> libpci.so.1 symlink to prevent other packages + breaking + + -- Remco van de Meent Sat, 11 Oct 2003 12:44:19 +0200 + +pciutils (1:2.1.11-4) unstable; urgency=low + + * Provide symlink /bin/lspci -> /usr/bin/lspci, and similar for + setpci. /usr/bin is the new location of these binaries as they are + no longer essential, but other packages may currently rely on these + binaries to be in /bin. (closes: #215002) + * Fix Makefile so that setpci is built correctly (closes: #214785) + + -- Remco van de Meent Fri, 10 Oct 2003 09:46:17 +0200 + +pciutils (1:2.1.11-3) unstable; urgency=low + + * Upgraded to Standards-Version: 3.6.1 + * Applied patch from Iustin Pop to have pciutils provide a shared + library (closes: #212246) + * Formatting problem for PCI-X capabilities fixed, thanks to Matthew + Wilcox (closes: #191468) + * Formatting problem for cache line size fixed, thanks to Grant + Grundler (closes: #207446, #207450) + * Applied patch from Matthieu Lochegnies to fix PCI configuration read + (closes: #200340) + * Applied patch from Matthew Wilcox to fix PCI-X capability reporting + (closes: #191573) + * Put lspci and setpci in /usr/bin + * Updated pci.ids file + + -- Remco van de Meent Tue, 7 Oct 2003 13:29:12 +0200 + +pciutils (1:2.1.11-2) unstable; urgency=low + + * Upgrade standards-version + * Upgrade pci.ids + + -- Remco van de Meent Mon, 3 Mar 2003 15:31:58 +0100 + +pciutils (1:2.1.11-1) unstable; urgency=low + + * New upstream release + * pci.ids retrieved at built time from official place (closes: #112878) + + -- Remco van de Meent Sat, 22 Feb 2003 19:27:09 +0100 + +pciutils (1:2.1.10-4) unstable; urgency=low + + * Change README: no requirement for specific kernel versions anymore + * Update pci.ids file (closes: #172190, #101706) + * Provide directions for updating pci.ids file by hand + + -- Remco van de Meent Thu, 2 Jan 2003 12:21:25 +0000 + +pciutils (1:2.1.10-3) unstable; urgency=low + + * Removed auto-update of pci.ids feature + + -- Remco van de Meent Sat, 25 May 2002 11:48:33 +0200 + +pciutils (1:2.1.10-2) unstable; urgency=low + + * Make update-ids target failsafe in case of networking problems + (closes: #147996) + + -- Remco van de Meent Fri, 24 May 2002 11:23:36 +0200 + +pciutils (1:2.1.10-1) unstable; urgency=low + + * New upstream release (closes: #147221) + * Mention 2.5 kernels in package description + * Automatically update pci.ids file during build. Add wget and bzip2 + build depends (closes: #147220) + * Upstream location is now at ftp.kernel.org. Changed copyright file. + (closes: #147219) + + -- Remco van de Meent Fri, 17 May 2002 13:11:50 +0200 + +pciutils (1:2.1.9-4) unstable; urgency=low + + * Change sbin/lspci from hardlink to symlink, closes: #137779 + + -- Remco van de Meent Mon, 11 Mar 2002 13:26:04 +0100 + +pciutils (1:2.1.9-3) unstable; urgency=low + + * Move lspci to /bin, closes: #134814 + + -- Remco van de Meent Wed, 6 Mar 2002 14:26:15 +0100 + +pciutils (1:2.1.9-2) unstable; urgency=low + + * priority changed to optional + * Fixed build depends, closes: #88388 + * Upgraded standards-version to 3.5.6 + * Use upstream provided pci.ids again + * Linksys Network Everywhere Fast Ethernet 10/100 card is in the + database now, closes: #88213 + * Netgear FA311 ethernet card is in the database now, closes: #83415 + * debian/rules cleanup + + -- Remco van de Meent Mon, 5 Nov 2001 10:20:31 +0100 + +pciutils (1:2.1.9-1) unstable; urgency=low + + * New upstream release + + -- Remco van de Meent Sun, 4 Nov 2001 20:04:35 +0100 + +pciutils (1:2.1.8-4.1) unstable; urgency=low + + * Reupload to circumvent problems with a corrupt .orig.tar.gz file + (closes: #88388, #83415, #88213) + + -- Remco van de Meent Mon, 2 Apr 2001 16:10:06 +0200 + +pciutils (1:2.1.8-4) unstable; urgency=low + + * Added Build-Depends for debhelper (closes: #88388) + * Added information for a Netgear FA311 ethernet card (closes: #83415) + * Added information for a Compex FreedomLine ethernet card + * Added information for a Linksys Network Everywhere FE 10/100 ethernet + card (closes: #88213) + + -- Remco van de Meent Sun, 11 Mar 2001 18:46:43 +0100 + +pciutils (1:2.1.8-3) unstable; urgency=low + + * Added some new entries to pci.ids + * Some packaging cleanup + * Put linux kernel version 2.4 in package description + + -- Remco van de Meent Fri, 5 Jan 2001 15:28:20 +0100 + +pciutils (1:2.1.8-2) unstable; urgency=low + + * Updated to pci.ids 1.62 from kernel 2.4.0-test8 + * Included information about Voodoo5 cards, closes: Bug#70929 + + -- Remco van de Meent Sat, 7 Oct 2000 15:37:33 +0200 + +pciutils (1:2.1.8-1) unstable; urgency=low + + * New upstream release + + -- Remco van de Meent Sun, 21 May 2000 15:09:37 +0200 + +pciutils (1:2.1.7-1) unstable; urgency=low + + * New upstream release + + -- Remco van de Meent Sat, 29 Apr 2000 20:01:05 +0100 + +pciutils (1:2.1.6-1) unstable; urgency=low + + * New upstream release (never released as Debian package) + + -- Remco van de Meent Sat, 29 Apr 2000 19:59:01 +0100 + +pciutils (1:2.1.5-1) unstable; urgency=low + + * New upstream release + + -- Remco van de Meent Mon, 6 Mar 2000 12:20:01 +0100 + +pciutils (1:2.1.4-1) unstable; urgency=low + + * New upstream release + + -- Remco van de Meent Tue, 25 Jan 2000 00:20:47 +0100 + +pciutils (1:2.1.2-2) unstable; urgency=low + + * Changed priority to standard. It's called during system startup. + * Recompile on 2.2.14 kernel + + -- Remco van de Meent Fri, 7 Jan 2000 13:20:07 +0100 + +pciutils (1:2.1.2-1) unstable; urgency=low + + * New upstream release + + -- Remco van de Meent Thu, 30 Dec 1999 14:02:03 +0100 + +pciutils (1:2.1.1-1) unstable; urgency=low + + * New upstream release + * Updated to Standards-Version: 3.1.1 + + -- Remco van de Meent Sat, 4 Dec 1999 15:16:05 +0100 + +pciutils (1:2.1-3) unstable; urgency=low + + * No more -Werror on the gcc option line, this should fix building on + alpha architecture, closes: Bug#49315 + * Upgraded to Standards-Version: 3.1.0 + + -- Remco van de Meent Mon, 8 Nov 1999 16:39:39 +0100 + +pciutils (1:2.1-2) unstable; urgency=low + + * Oops, error in lspci, it now looks for pci.ids in /usr/share/misc again, + closes: Bug#48967 + * Fixed Standards-Version + + -- Remco van de Meent Tue, 2 Nov 1999 08:28:53 +0100 + +pciutils (1:2.1-1) unstable; urgency=low + + * New upstream release + * Cleanups + + -- Remco van de Meent Mon, 1 Nov 1999 10:57:02 +0100 + +pciutils (2.0999-2.1pre8-1) unstable; urgency=low + + * New upstream release + + -- Remco van de Meent Wed, 27 Oct 1999 19:22:37 +0200 + +pciutils (2.0-5) unstable; urgency=low + + * Cosmetic cleanups. + + -- Remco van de Meent Tue, 26 Oct 1999 20:13:12 +0200 + +pciutils (2.0-4) unstable; urgency=low + + * Updated pci.ids file with upstream pci.ids from pciutils-2.1pre8 + * Upgraded to Standards-Version: 3.0.1.1 + * Added a new pciutils-dev package, closes: Bug#47002 + + -- Remco van de Meent Tue, 26 Oct 1999 18:22:35 +0200 + +pciutils (2.0-3) unstable; urgency=low + + * Updated pci.ids file with upstream pci.ids from pciutils-2.1pre5 + * Minor fixes + + -- Remco van de Meent Fri, 3 Sep 1999 13:41:51 +0200 + +pciutils (2.0-2) unstable; urgency=low + + * Updated pci.ids file with upstream pci.ids from pciutils-2.1pre4 + * Updated Standards-Version: 2.5.0.0 + + -- Remco van de Meent Sun, 18 Jul 1999 17:06:10 +0200 + +pciutils (2.0-1) unstable; urgency=low + + * New upstream release + * Renamed package to pciutils + + -- Remco van de Meent Sun, 18 Jul 1999 17:04:57 +0200 + +pciutils-experimental (1.99.5-1) experimental; urgency=low + + * New upstream release + * Fixed locatation of pci.ids + * Added new information to pci.ids + + -- Remco van de Meent Mon, 19 Apr 1999 14:30:52 +0200 + +pciutils-experimental (1.99.4-2) experimental; urgency=low + + * Removed the 2nd instance of the changelog in /usr/doc/pciutils- + experimental/ + + -- Remco van de Meent Sat, 6 Feb 1999 20:21:01 +0100 + +pciutils-experimental (1.99.4-1) experimental; urgency=low + + * Initial Release. This is an experimental package, of the not yet + released pciutils-2.x.x upstream version, and should be used with care. + + -- Remco van de Meent Sat, 6 Feb 1999 15:10:15 +0100 + +pciutils (1.10-1) frozen unstable; urgency=low + + * New upstream bugfix release. + + -- Joel Klecker Tue, 19 Jan 1999 21:11:51 -0800 + +pciutils (1.09-1) frozen unstable; urgency=low + + * New upstream bugfix release. + + -- Joel Klecker Sun, 22 Nov 1998 18:58:26 -0800 + +pciutils (1.08-1) frozen unstable; urgency=low + + * New upstream bugfix release. + + -- Joel Klecker Tue, 20 Oct 1998 07:54:04 -0700 + +pciutils (1.02-1) unstable; urgency=low + + * New upstream release + + -- Christoph Lameter Sun, 15 Feb 1998 13:22:50 -0800 + +pciutils (1.01-1) unstable; urgency=low + + * New upstream release + + -- Christoph Lameter Mon, 9 Feb 1998 18:52:02 -0800 + +pciutils (1.0-1) unstable; urgency=low + + * New upstream release adds manpage and upstream changelog + + -- Christoph Lameter Sun, 8 Feb 1998 07:43:35 -0800 + +pciutils (0.91-1) unstable; urgency=low + + * Initial Release. + + -- Christoph Lameter Tue, 27 Jan 1998 20:37:16 -0800 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +5 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..b584cf2 --- /dev/null +++ b/debian/control @@ -0,0 +1,52 @@ +Source: pciutils +Section: admin +Priority: optional +Maintainer: Sung-Jin Park , Anibal Monsalve Salazar +Uploaders: Sung-Jin Park , Matt Taggart +Build-Depends: debhelper (>= 5), zlib1g-dev +Standards-Version: 3.8.0 +Homepage: http://atrey.karlin.mff.cuni.cz/~mj/pciutils.shtml + +Package: pciutils +Architecture: any +Priority: standard +Depends: ${shlibs:Depends}, ${misc:Depends}, libpci3 (= ${binary:Version}) +Suggests: bzip2, wget | curl | lynx +Description: Linux PCI Utilities + This package contains various utilities for inspecting and setting of + devices connected to the PCI bus. + +Package: libpci-dev +Section: libdevel +Priority: standard +Architecture: any +Depends: zlib1g-dev, libpci3 (= ${binary:Version}) +Conflicts: pciutils-dev +Provides: pciutils-dev +Replaces: pciutils-dev +Description: Linux PCI Utilities (development files) + This package contains the , and + header files, as well as the /usr/lib/libpci.a library. + +Package: libpci3 +Section: libs +Priority: optional +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Conflicts: libpci2 +Provides: libpci2 +Replaces: libpci2 +Description: Linux PCI Utilities (shared library) + This package contains the libpci shared library files. + +#Package: pciutils-udeb +#XC-Package-Type: udeb +#Section: debian-installer +#Architecture: any +#Priority: standard +#Depends: ${shlibs:Depends}, ${misc:Depends} +#Description: Linux PCI Utilities (udeb) +# This package contains various utilities for inspecting and setting of +# devices connected to the PCI bus. +# . +# This is a minimal version for use in debian-installer. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..4b95a9c --- /dev/null +++ b/debian/copyright @@ -0,0 +1,26 @@ +This package was debianized by Remco van de Meent remco@debian.org on +Sat, 6 Feb 1999 15:10:15 +0100. Earlier versions were debianized by +Christoph Lameter clameter@debian.org on Tue, 27 Jan 1998 20:37:16 -0800 +and Joel Klecker jk@espy.org took over the package on Thu, 26 Mar 1998. +Blars Blarson, Colin Watson and Christian Perrier contributed to NMUs +in 2005 and the package is currently team maintained by Anibal Monsalve +Salazar, Matt Taggart and Matthew Wilcox. + +The package was downloaded from +ftp://ftp.kernel.org/pub/software/utils/pciutils/ + +Upstream Author: Martin Mares + +Copyright: + +Copyright (c) 1997--2006 Martin Mares + +All files in this package can be freely distributed and used according +to the terms of the GNU General Public License, either version 2 or +(at your opinion) any newer version. This is the same distribution +policy as for the Linux kernel itself -- see /usr/src/linux/COPYING +for details. + + +A full copy of the GNU GPL can be found in /usr/share/common-licenses on +Debian systems. diff --git a/debian/dirs b/debian/dirs new file mode 100644 index 0000000..77bad8d --- /dev/null +++ b/debian/dirs @@ -0,0 +1,3 @@ +usr/share/misc +usr/share/man +usr/bin diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..e845566 --- /dev/null +++ b/debian/docs @@ -0,0 +1 @@ +README diff --git a/debian/libpci-dev.dirs b/debian/libpci-dev.dirs new file mode 100644 index 0000000..9fb451d --- /dev/null +++ b/debian/libpci-dev.dirs @@ -0,0 +1,4 @@ +usr/include/pci +usr/lib +usr/lib/pkgconfig +usr/share/doc diff --git a/debian/libpci3.dirs b/debian/libpci3.dirs new file mode 100644 index 0000000..6845771 --- /dev/null +++ b/debian/libpci3.dirs @@ -0,0 +1 @@ +usr/lib diff --git a/debian/pciutils-udeb.dirs b/debian/pciutils-udeb.dirs new file mode 100644 index 0000000..e449727 --- /dev/null +++ b/debian/pciutils-udeb.dirs @@ -0,0 +1,2 @@ +usr/share/misc +usr/bin diff --git a/debian/postinst b/debian/postinst new file mode 100644 index 0000000..2026fe5 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,23 @@ +#! /bin/sh +# postinst script for pciutils + +set -e + +case "$1" in +configure) + for ext in new neww old + do + rm -f /usr/share/misc/pci.ids.$ext + done + ;; +abort-upgrade|abort-remove|abort-deconfigure) + ;; +*) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/postrm b/debian/postrm new file mode 100644 index 0000000..37c0f7a --- /dev/null +++ b/debian/postrm @@ -0,0 +1,23 @@ +#! /bin/sh +# postrm script for pciutils + +set -e + +case "$1" in +purge) + for ext in new neww old + do + rm -f /usr/share/misc/pci.ids.$ext + done + ;; +remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; +*) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/preinst b/debian/preinst new file mode 100644 index 0000000..4350aed --- /dev/null +++ b/debian/preinst @@ -0,0 +1,23 @@ +#! /bin/sh +# preinst script for pciutils + +set -e + +case "$1" in +install|upgrade) + for ext in new neww old + do + rm -f /var/lib/pciutils/pci.ids.$ext + done + ;; +abort-upgrade) + ;; +*) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..0fac50d --- /dev/null +++ b/debian/rules @@ -0,0 +1,75 @@ +#!/usr/bin/make -f + +export DH_VERBOSE=1 + +PATHS := PREFIX=/usr SBINDIR=/usr/bin IDSDIR=/usr/share/misc + +update-ids: + # get a new version of pci.ids, this should only be run by the + # maintainer, since we don't want different builds of the same + # source to end up with different versions + ./update-pciids.sh + rm -f pci.ids.old + #gunzip pci.ids.gz + +build: + dh_testdir + $(MAKE) $(PATHS) SHARED=yes + +clean: + dh_testdir + dh_testroot + [ ! -f Makefile ] || $(MAKE) $(PATHS) clean + dh_clean + +# Build architecture-independent files here. +binary-indep: + +# Build architecture-dependent files here. +binary-arch: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs -a + + $(MAKE) $(PATHS) install DESTDIR=debian/pciutils + + # pciutils + gunzip debian/pciutils/usr/share/misc/pci.ids.gz + + # libpci-dev + install -m 644 lib/libpci.a debian/libpci-dev/usr/lib/ + install -m 644 lib/pci.h lib/header.h lib/config.h lib/types.h \ + debian/libpci-dev/usr/include/pci/ + install -m 644 lib/libpci.pc debian/libpci-dev/usr/lib/pkgconfig/ + ln -s libpci.so.3.0.0 debian/libpci-dev/usr/lib/libpci.so + + # libpci3 + install -m 644 lib/libpci.so* debian/libpci3/usr/lib/ + ln -s libpci.so.3.0.0 debian/libpci3/usr/lib/libpci.so.3 + + # pciutils-udeb + # Reduce by removing subsystem ids and comments. + #perl -ne 'print unless /^(\s*#|\s*$|\t\t)/' < pci.ids |gzip -9 > debian/pciutils-udeb/usr/share/misc/pci.ids.gz + #chmod 644 debian/pciutils-udeb/usr/share/misc/pci.ids.gz + + dh_installdocs + dh_installexamples example.c + dh_installmenu + dh_installman -ppciutils + dh_installchangelogs -a ChangeLog + dh_strip -a + dh_compress -a + dh_fixperms -a + dh_makeshlibs -a + dh_installdeb -a + dh_shlibdeps -a + dh_gencontrol -a + dh_md5sums -a + dh_builddeb -a + +source diff: + @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false + +binary: binary-indep binary-arch +.PHONY: update-ids build clean binary-indep binary-arch binary source diff diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..35fbdf3 --- /dev/null +++ b/debian/watch @@ -0,0 +1,2 @@ +version=2 +ftp://ftp.kernel.org/pub/software/utils/pciutils/pciutils-([\d\.]+).tar.bz2 debian uupdate diff --git a/example.c b/example.c new file mode 100644 index 0000000..9b24951 --- /dev/null +++ b/example.c @@ -0,0 +1,37 @@ +/* + * The PCI Library -- Example of use (simplistic lister of PCI devices) + * + * Written by Martin Mares and put to public domain. You can do + * with it anything you want, but I don't give you any warranty. + */ + +#include + +#include "lib/pci.h" + +int main(void) +{ + struct pci_access *pacc; + struct pci_dev *dev; + unsigned int c; + char namebuf[1024], *name; + + pacc = pci_alloc(); /* Get the pci_access structure */ + /* Set all options you want -- here we stick with the defaults */ + pci_init(pacc); /* Initialize the PCI library */ + pci_scan_bus(pacc); /* We want to get the list of devices */ + for(dev=pacc->devices; dev; dev=dev->next) /* Iterate over all devices */ + { + pci_fill_info(dev, PCI_FILL_IDENT | PCI_FILL_BASES | PCI_FILL_CLASS); /* Fill in header info we need */ + c = pci_read_byte(dev, PCI_INTERRUPT_PIN); /* Read config register directly */ + printf("%04x:%02x:%02x.%d vendor=%04x device=%04x class=%04x irq=%d (pin %d) base0=%lx", + dev->domain, dev->bus, dev->dev, dev->func, dev->vendor_id, dev->device_id, + dev->device_class, dev->irq, c, (long) dev->base_addr[0]); + + /* Look up and print the full name of the device */ + name = pci_lookup_name(pacc, namebuf, sizeof(namebuf), PCI_LOOKUP_DEVICE, dev->vendor_id, dev->device_id); + printf(" (%s)\n", name); + } + pci_cleanup(pacc); /* Close everything */ + return 0; +} diff --git a/lib/.gitignore b/lib/.gitignore new file mode 100644 index 0000000..9bed745 --- /dev/null +++ b/lib/.gitignore @@ -0,0 +1,3 @@ +config.h +config.mk +libpci.pc diff --git a/lib/Makefile b/lib/Makefile new file mode 100644 index 0000000..9d5d1af --- /dev/null +++ b/lib/Makefile @@ -0,0 +1,86 @@ +# Makefile for The PCI Library +# (c) 1999--2008 Martin Mares + +# Expects to be invoked from the top-level Makefile and uses lots of its variables. + +OBJS=init access generic dump names filter names-hash names-parse names-net names-cache params +INCL=internal.h pci.h config.h header.h sysdep.h types.h + +ifdef PCI_HAVE_PM_LINUX_SYSFS +OBJS += sysfs +endif + +ifdef PCI_HAVE_PM_LINUX_PROC +OBJS += proc +endif + +ifdef PCI_HAVE_PM_INTEL_CONF +OBJS += i386-ports +endif + +ifdef PCI_HAVE_PM_DUMP +OBJS += dump +endif + +ifdef PCI_HAVE_PM_FBSD_DEVICE +OBJS += fbsd-device +CFLAGS += -I/usr/src/sys +ifdef FREEBSD_SYS +CFLAGS += -I${FREEBSD_SYS} +endif +endif + +ifdef PCI_HAVE_PM_OBSD_DEVICE +OBJS += obsd-device +endif + +ifdef PCI_HAVE_PM_AIX_DEVICE +OBJS += aix-device +endif + +ifdef PCI_HAVE_PM_NBSD_LIBPCI +OBJS += nbsd-libpci +endif + +PCILIBA=libpci.a + +all: $(PCILIB) $(PCILIBA) $(PCILIBPC) + +# ifeq ($(SHARED),no) +$(PCILIBA): $(addsuffix .o,$(OBJS)) + rm -f $@ + $(AR) rcs $@ $^ + $(RANLIB) $@ +# else +CFLAGS += -fPIC -fvisibility=hidden +$(PCILIB): $(addsuffix .o,$(OBJS)) + $(CC) -shared $(SONAME) -Wl,--version-script=libpci.ver -o $@ $^ $(LIB_LDLIBS) +# endif + +$(PCILIBPC): libpci.pc.in + sed <$< >$@ -e 's,@PREFIX@,$(PREFIX),' \ + -e 's,@INCDIR@,$(INCDIR),' \ + -e 's,@LIBDIR@,$(LIBDIR),' \ + -e 's,@IDSDIR@,$(IDSDIR),' \ + -e 's,@VERSION@,$(VERSION),' \ + -e 's,@LDLIBS@,$(LDLIBS),' + +init.o: init.c $(INCL) +access.o: access.c $(INCL) +params.o: params.c $(INCL) +i386-ports.o: i386-ports.c $(INCL) i386-io-hurd.h i386-io-linux.h i386-io-sunos.h i386-io-windows.h +proc.o: proc.c $(INCL) pread.h +sysfs.o: sysfs.c $(INCL) pread.h +generic.o: generic.c $(INCL) +syscalls.o: syscalls.c $(INCL) +obsd-device.o: obsd-device.c $(INCL) +fbsd-device.o: fbsd-device.c $(INCL) +aix-device.o: aix-device.c $(INCL) +dump.o: dump.c $(INCL) +names.o: names.c $(INCL) names.h +names-cache.o: names-cache.c $(INCL) names.h +names-hash.o: names-hash.c $(INCL) names.h +names-net.o: names-net.c $(INCL) names.h +names-parse.o: names-parse.c $(INCL) names.h +filter.o: filter.c $(INCL) +nbsd-libpci.o: nbsd-libpci.c $(INCL) diff --git a/lib/access.c b/lib/access.c new file mode 100644 index 0000000..d9032a7 --- /dev/null +++ b/lib/access.c @@ -0,0 +1,164 @@ +/* + * The PCI Library -- User Access + * + * Copyright (c) 1997--2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include +#include +#include +#include + +#include "internal.h" + +void +pci_scan_bus(struct pci_access *a) +{ + a->methods->scan(a); +} + +struct pci_dev * +pci_alloc_dev(struct pci_access *a) +{ + struct pci_dev *d = pci_malloc(a, sizeof(struct pci_dev)); + + memset(d, 0, sizeof(*d)); + d->access = a; + d->methods = a->methods; + d->hdrtype = -1; + if (d->methods->init_dev) + d->methods->init_dev(d); + return d; +} + +int +pci_link_dev(struct pci_access *a, struct pci_dev *d) +{ + d->next = a->devices; + a->devices = d; + + return 1; +} + +struct pci_dev * +pci_get_dev(struct pci_access *a, int domain, int bus, int dev, int func) +{ + struct pci_dev *d = pci_alloc_dev(a); + + d->domain = domain; + d->bus = bus; + d->dev = dev; + d->func = func; + return d; +} + +void pci_free_dev(struct pci_dev *d) +{ + if (d->methods->cleanup_dev) + d->methods->cleanup_dev(d); + pci_mfree(d); +} + +static inline void +pci_read_data(struct pci_dev *d, void *buf, int pos, int len) +{ + if (pos & (len-1)) + d->access->error("Unaligned read: pos=%02x, len=%d", pos, len); + if (pos + len <= d->cache_len) + memcpy(buf, d->cache + pos, len); + else if (!d->methods->read(d, pos, buf, len)) + memset(buf, 0xff, len); +} + +byte +pci_read_byte(struct pci_dev *d, int pos) +{ + byte buf; + pci_read_data(d, &buf, pos, 1); + return buf; +} + +word +pci_read_word(struct pci_dev *d, int pos) +{ + word buf; + pci_read_data(d, &buf, pos, 2); + return le16_to_cpu(buf); +} + +u32 +pci_read_long(struct pci_dev *d, int pos) +{ + u32 buf; + pci_read_data(d, &buf, pos, 4); + return le32_to_cpu(buf); +} + +int +pci_read_block(struct pci_dev *d, int pos, byte *buf, int len) +{ + return d->methods->read(d, pos, buf, len); +} + +static inline int +pci_write_data(struct pci_dev *d, void *buf, int pos, int len) +{ + if (pos & (len-1)) + d->access->error("Unaligned write: pos=%02x,len=%d", pos, len); + if (pos + len <= d->cache_len) + memcpy(d->cache + pos, buf, len); + return d->methods->write(d, pos, buf, len); +} + +int +pci_write_byte(struct pci_dev *d, int pos, byte data) +{ + return pci_write_data(d, &data, pos, 1); +} + +int +pci_write_word(struct pci_dev *d, int pos, word data) +{ + word buf = cpu_to_le16(data); + return pci_write_data(d, &buf, pos, 2); +} + +int +pci_write_long(struct pci_dev *d, int pos, u32 data) +{ + u32 buf = cpu_to_le32(data); + return pci_write_data(d, &buf, pos, 4); +} + +int +pci_write_block(struct pci_dev *d, int pos, byte *buf, int len) +{ + if (pos < d->cache_len) + { + int l = (pos + len >= d->cache_len) ? (d->cache_len - pos) : len; + memcpy(d->cache + pos, buf, l); + } + return d->methods->write(d, pos, buf, len); +} + +int +pci_fill_info(struct pci_dev *d, int flags) +{ + if (flags & PCI_FILL_RESCAN) + { + flags &= ~PCI_FILL_RESCAN; + d->known_fields = 0; + } + if (flags & ~d->known_fields) + d->known_fields |= d->methods->fill_info(d, flags & ~d->known_fields); + return d->known_fields; +} + +void +pci_setup_cache(struct pci_dev *d, byte *cache, int len) +{ + d->cache = cache; + d->cache_len = len; +} diff --git a/lib/aix-device.c b/lib/aix-device.c new file mode 100644 index 0000000..cb0a974 --- /dev/null +++ b/lib/aix-device.c @@ -0,0 +1,274 @@ +/* + * The PCI Library -- AIX /dev/pci[0-n] access + * + * Copyright (c) 1999 Jari Kirma + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +/* + * Read functionality of this driver is briefly tested, and seems + * to supply basic information correctly, but I promise no more. + */ + +#include +#include +#include +#include +#include + +#include +#include + +#include "internal.h" + +#define AIX_LSDEV_CMD "/usr/sbin/lsdev -C -c bus -t pci\\* -S available -F name" +#define AIX_ODMGET_CMD \ + "/usr/bin/odmget -q 'name=%s and attribute=bus_number' CuAt | \ + /usr/bin/awk '$1 == \"value\" { print $3 }'" + + +/* AIX PCI bus device information */ + +typedef struct aix_pci_bus { + char *bus_name; + int bus_number; + int bus_fd; +} aix_pci_bus; + +#define PCI_BUS_MAX 16 /* arbitrary choice */ +static aix_pci_bus pci_buses[PCI_BUS_MAX]; +static int pci_bus_count = 0; + + +/* Utility Routines */ + +static aix_pci_bus * +aix_find_bus(struct pci_access *a, int bus_number) +{ + int i; + + for (i = 0; i < pci_bus_count; i++) + { + if (pci_buses[i].bus_number == bus_number) + { + return &pci_buses[i]; + } + } + + a->error("aix_find_bus: bus number %d not found", bus_number); +} + +static int +aix_bus_open(struct pci_access *a, int bus_number) +{ + aix_pci_bus *bp = aix_find_bus(a, bus_number); + + if (bp->bus_fd < 0) + { + char devbuf[256]; + int mode = a->writeable ? O_RDWR : O_RDONLY; + + snprintf(devbuf, sizeof (devbuf), "/dev/%s", bp->bus_name); + bp->bus_fd = open(devbuf, mode, 0); + if (bp->bus_fd < 0) + { + a->error("aix_open_bus: %s open failed", devbuf); + } + } + + return bp->bus_fd; +} + +static int +aix_bus_number(char *name) +{ + int bus_number; + FILE *odmget_pipe; + char command[256]; + char buf[256]; + char *bp; + char *ep; + + snprintf(command, sizeof (command), AIX_ODMGET_CMD, name); + odmget_pipe = popen(command, "r"); + if (odmget_pipe == NULL) + { + /* popen failed */ + return -1; + } + + if (fgets(buf, sizeof (buf) - 1, odmget_pipe) != NULL) + { + bp = buf + 1; /* skip leading double quote */ + bus_number = strtol(bp, &ep, 0); + if (bp == ep) + { + /* strtol failed */ + bus_number = -1; + } + } + else + { + /* first PCI bus_number is not recorded in ODM CuAt; default to 0 */ + bus_number = 0; + } + + (void) pclose(odmget_pipe); + + return bus_number; +} + + +/* Method entries */ + +static int +aix_detect(struct pci_access *a) +{ + int len; + int mode = a->writeable ? W_OK : R_OK; + char *command = AIX_LSDEV_CMD; + FILE *lsdev_pipe; + char buf[256]; + char *name; + + lsdev_pipe = popen(command, "r"); + if (lsdev_pipe == NULL) + { + a->error("aix_config: popen(\"%s\") failed", command); + } + + while (fgets(buf, sizeof (buf) - 1, lsdev_pipe) != NULL) + { + len = strlen(buf); + while (buf[len-1] == '\n' || buf[len-1] == '\r') + len--; + buf[len] = '\0'; /* clobber the newline */ + + name = (char *) pci_malloc(a, len + 1); + strcpy(name, buf); + pci_buses[pci_bus_count].bus_name = name; + pci_buses[pci_bus_count].bus_number = 0; + pci_buses[pci_bus_count].bus_fd = -1; + if (!pci_bus_count) + a->debug("...using %s", name); + else + a->debug(", %s", name); + pci_bus_count++; + if (pci_bus_count >= PCI_BUS_MAX) + break; + } + + (void) pclose(lsdev_pipe); + + return pci_bus_count; +} + +static void +aix_init(struct pci_access *a) +{ + char *name; + int i; + + for (i = 0; i < pci_bus_count; i++) + { + name = pci_buses[i].bus_name; + pci_buses[i].bus_number = aix_bus_number(name); + } +} + +static void +aix_cleanup(struct pci_access *a) +{ + aix_pci_bus *bp; + + while (pci_bus_count-- > 0) + { + bp = &pci_buses[pci_bus_count]; + (void) free(bp->bus_name); + if (bp->bus_fd >= 0) + { + (void) close(bp->bus_fd); + bp->bus_fd = -1; + } + } +} + +void +aix_scan(struct pci_access *a) +{ + int i; + int bus_number; + byte busmap[256]; + + memset(busmap, 0, sizeof(busmap)); + for (i = 0; i < pci_bus_count; i++) + { + bus_number = pci_buses[i].bus_number; + if (!busmap[bus_number]) + { + pci_generic_scan_bus(a, busmap, bus_number); + } + } +} + +static int +aix_read(struct pci_dev *d, int pos, byte *buf, int len) +{ + struct mdio mdio; + int fd; + + if (pos + len > 256) + return 0; + + fd = aix_bus_open(d->access, d->bus); + mdio.md_addr = (ulong) pos; + mdio.md_size = len; + mdio.md_incr = MV_BYTE; + mdio.md_data = (char *) buf; + mdio.md_sla = PCI_DEVFN(d->dev, d->func); + + if (ioctl(fd, MIOPCFGET, &mdio) < 0) + d->access->error("aix_read: ioctl(MIOPCFGET) failed"); + + return 1; +} + +static int +aix_write(struct pci_dev *d, int pos, byte *buf, int len) +{ + struct mdio mdio; + int fd; + + if (pos + len > 256) + return 0; + + fd = aix_bus_open(d->access, d->bus); + mdio.md_addr = (ulong) pos; + mdio.md_size = len; + mdio.md_incr = MV_BYTE; + mdio.md_data = (char *) buf; + mdio.md_sla = PCI_DEVFN(d->dev, d->func); + + if (ioctl(fd, MIOPCFPUT, &mdio) < 0) + { + d->access->error("aix_write: ioctl(MIOPCFPUT) failed"); + } + + return 1; +} + +struct pci_methods pm_aix_device = { + "aix-device", + "AIX /dev/pci[0-n]", + NULL, + aix_detect, + aix_init, + aix_cleanup, + aix_scan, + pci_generic_fill_info, + aix_read, + aix_write, + NULL, /* dev_init */ + NULL /* dev_cleanup */ +}; diff --git a/lib/configure b/lib/configure new file mode 100755 index 0000000..d855a3c --- /dev/null +++ b/lib/configure @@ -0,0 +1,171 @@ +#!/bin/sh +# Configuration script for the PCI library +# (c) 1998--2008 Martin Mares + +echo_n() { + if [ -n "$BASH" ] + then + echo -n "$*" + else + echo "$*\c" + fi +} + +if [ -z "$VERSION" -o -z "$IDSDIR" ] ; then + echo >&2 "Please run the configure script from the top-level Makefile" + exit 1 +fi + +echo_n "Configuring libpci for your system..." +if [ -z "$HOST" ] ; then + sys=`uname -s` + rel=`uname -r` + if [ "$sys" = "AIX" -a -x /usr/bin/oslevel -a -x /usr/sbin/lsattr ] + then + rel=`/usr/bin/oslevel` + proc=`/usr/sbin/lsdev -C -c processor -S available -F name | head -1` + cpu=`/usr/sbin/lsattr -F value -l $proc -a type | sed 's/_.*//'` + else + cpu=`uname -m | sed 's/^i.86$/i386/;s/^sun4u$/sparc64/;s/^i86pc$/i386/'` + fi + if [ "$sys" = "GNU/kFreeBSD" -o "$sys" = "DragonFly" ] + then + sys=freebsd + fi + HOST=${3:-$cpu-$sys} +fi +# CAVEAT: tr on Solaris is a bit weird and the extra [] is otherwise harmless. +host=`echo $HOST | sed 's/^\([^-]*\)-\([^-]*\)$/\1--\2/' | tr '[A-Z]' '[a-z]'` +cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +sys=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +echo " $host $rel" + +c=config.h +m=config.mk +echo >$c "#define PCI_ARCH_`echo $cpu | tr '[a-z]' '[A-Z]'`" +echo >>$c "#define PCI_OS_`echo $sys | tr '[a-z]' '[A-Z]'`" +echo >$m 'WITH_LIBS=' + +echo_n "Looking for access methods..." + +case $sys in + linux*) + echo_n " sysfs proc" + echo >>$c '#define PCI_HAVE_PM_LINUX_SYSFS' + echo >>$c '#define PCI_HAVE_PM_LINUX_PROC' + echo >>$c '#define PCI_HAVE_LINUX_BYTEORDER_H' + echo >>$c '#define PCI_PATH_PROC_BUS_PCI "/proc/bus/pci"' + echo >>$c '#define PCI_PATH_SYS_BUS_PCI "/sys/bus/pci"' + case $cpu in + i386|x86_64) echo_n " i386-ports" + echo >>$c '#define PCI_HAVE_PM_INTEL_CONF' + ;; + esac + echo >>$c '#define PCI_HAVE_64BIT_ADDRESS' + echo >>$c '#define PCI_USE_DNS' + ;; + sunos) + case $cpu in + i386) echo_n " i386-ports" + echo >>$c "#define PCI_HAVE_PM_INTEL_CONF" + ;; + *) + echo " The PCI library does not support Solaris for this architecture: $cpu" + exit 1 + ;; + esac + echo >>$c '#define PCI_HAVE_STDINT_H' + ;; + freebsd) + echo_n " fbsd-device" + echo >>$c '#define PCI_HAVE_PM_FBSD_DEVICE' + echo >>$c '#define PCI_PATH_FBSD_DEVICE "/dev/pci"' + ;; + openbsd) + echo_n " obsd-device" + echo >>$c '#define PCI_HAVE_PM_OBSD_DEVICE' + echo >>$c '#define PCI_PATH_OBSD_DEVICE "/dev/pci"' + ;; + aix) + echo_n " aix-device" + echo >>$c '#define PCI_HAVE_PM_AIX_DEVICE' + echo >>$m 'CFLAGS=-g' + echo >>$m 'INSTALL=installbsd' + echo >>$m 'DIRINSTALL=mkdir -p' + ;; + netbsd) + echo_n " nbsd-libpci" + echo >>$c '#define PCI_HAVE_PM_NBSD_LIBPCI' + echo >>$c '#define PCI_PATH_NBSD_DEVICE "/dev/pci0"' + echo >>$m 'LIBNAME=libpciutils' + echo >>$m 'WITH_LIBS+=-lpci' + ;; + gnu) + echo_n " i386-ports" + echo >>$c '#define PCI_HAVE_PM_INTEL_CONF' + ;; + *) + echo " Unfortunately, your OS is not supported by the PCI Library" + exit 1 + ;; +esac + +echo >>$c '#define PCI_HAVE_PM_DUMP' +echo " dump" + +echo_n "Checking for zlib support... " +if [ "$ZLIB" = yes -o "$ZLIB" = no ] ; then + echo "$ZLIB (set manually)" +else + if [ -f /usr/include/zlib.h -o -f /usr/local/include/zlib.h ] ; then + ZLIB=yes + else + ZLIB=no + fi + echo "$ZLIB (auto-detected)" +fi +if [ "$ZLIB" = yes ] ; then + echo >>$c '#define PCI_COMPRESSED_IDS' + echo >>$c '#define PCI_IDS "pci.ids.gz"' + echo >>$m 'LIBZ=-lz' + echo >>$m 'WITH_LIBS+=$(LIBZ)' +else + echo >>$c '#define PCI_IDS "pci.ids"' +fi +echo >>$c "#define PCI_PATH_IDS_DIR \"$IDSDIR\"" + +echo_n "Checking for DNS support... " +if [ "$DNS" = yes -o "$DNS" = no ] ; then + echo "$DNS (set manually)" +else + if [ -f /usr/include/resolv.h ] ; then + DNS=yes + else + DNS=no + fi + echo "$DNS (auto-detected)" +fi +if [ "$DNS" = yes ] ; then + echo >>$c "#define PCI_USE_DNS" + echo >>$c "#define PCI_ID_DOMAIN \"pci.id.ucw.cz\"" + echo >>$m 'WITH_LIBS+=-lresolv' +fi + +echo "Checking whether to build a shared library... $SHARED (set manually)" +if [ "$SHARED" = no ] ; then + echo >>$m 'PCILIB=$(LIBNAME).a' + echo >>$m 'LDLIBS=$(WITH_LIBS)' + echo >>$m 'LIB_LDLIBS=' +else + echo >>$m 'PCILIB=$(LIBNAME).so.$(VERSION)' + # We link the dependencies _to_ the library, so we do not need explicit deps in .pc + echo >>$m 'LDLIBS=' + echo >>$m 'LIB_LDLIBS=$(WITH_LIBS)' + if [ "$SHARED" = yes ] ; then + echo >>$m 'SONAME=-Wl,-soname,$(LIBNAME).so$(ABI_VERSION)' + fi +fi +echo >>$m 'PCILIBPC=$(LIBNAME).pc' + +echo >>$c "#define PCILIB_VERSION \"$VERSION\"" +sed '/"/{s/^#define \([^ ]*\) "\(.*\)"$/\1=\2/;p;d;};s/^#define \(.*\)/\1=1/' <$c >>$m diff --git a/lib/dump.c b/lib/dump.c new file mode 100644 index 0000000..69a99c8 --- /dev/null +++ b/lib/dump.c @@ -0,0 +1,178 @@ +/* + * The PCI Library -- Reading of Bus Dumps + * + * Copyright (c) 1997--2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include +#include +#include +#include + +#include "internal.h" + +struct dump_data { + int len, allocated; + byte data[1]; +}; + +static void +dump_config(struct pci_access *a) +{ + pci_define_param(a, "dump.name", "", "Name of the bus dump file to read from"); +} + +static int +dump_detect(struct pci_access *a) +{ + char *name = pci_get_param(a, "dump.name"); + return name && name[0]; +} + +static void +dump_alloc_data(struct pci_dev *dev, int len) +{ + struct dump_data *dd = pci_malloc(dev->access, sizeof(struct dump_data) + len - 1); + dd->allocated = len; + dd->len = 0; + memset(dd->data, 0xff, len); + dev->aux = dd; +} + +static int +dump_validate(char *s, char *fmt) +{ + while (*fmt) + { + if (*fmt == '#' ? !isxdigit(*s) : *fmt != *s) + return 0; + fmt++, s++; + } + return 1; +} + +static void +dump_init(struct pci_access *a) +{ + char *name = pci_get_param(a, "dump.name"); + FILE *f; + char buf[256]; + struct pci_dev *dev = NULL; + int len, mn, bn, dn, fn, i, j; + + if (!a) + a->error("dump: File name not given."); + if (!(f = fopen(name, "r"))) + a->error("dump: Cannot open %s: %s", name, strerror(errno)); + while (fgets(buf, sizeof(buf)-1, f)) + { + char *z = strchr(buf, '\n'); + if (!z) + a->error("dump: line too long or unterminated"); + *z-- = 0; + if (z >= buf && *z == '\r') + *z-- = 0; + len = z - buf + 1; + mn = 0; + if (dump_validate(buf, "##:##.# ") && sscanf(buf, "%x:%x.%d", &bn, &dn, &fn) == 3 || + dump_validate(buf, "####:##:##.# ") && sscanf(buf, "%x:%x:%x.%d", &mn, &bn, &dn, &fn) == 4) + { + dev = pci_get_dev(a, mn, bn, dn, fn); + dump_alloc_data(dev, 256); + pci_link_dev(a, dev); + } + else if (!len) + dev = NULL; + else if (dev && + (dump_validate(buf, "##: ") || dump_validate(buf, "###: ")) && + sscanf(buf, "%x: ", &i) == 1) + { + struct dump_data *dd = dev->aux; + z = strchr(buf, ' ') + 1; + while (isxdigit(z[0]) && isxdigit(z[1]) && (!z[2] || z[2] == ' ') && + sscanf(z, "%x", &j) == 1 && j < 256) + { + if (i >= 4096) + a->error("dump: At most 4096 bytes of config space are supported"); + if (i >= dd->allocated) /* Need to re-allocate the buffer */ + { + dump_alloc_data(dev, 4096); + memcpy(((struct dump_data *) dev->aux)->data, dd->data, 256); + pci_mfree(dd); + dd = dev->aux; + } + dd->data[i++] = j; + if (i > dd->len) + dd->len = i; + z += 2; + if (*z) + z++; + } + if (*z) + a->error("dump: Malformed line"); + } + } +} + +static void +dump_cleanup(struct pci_access *a UNUSED) +{ +} + +static void +dump_scan(struct pci_access *a UNUSED) +{ +} + +static int +dump_read(struct pci_dev *d, int pos, byte *buf, int len) +{ + struct dump_data *dd; + if (!(dd = d->aux)) + { + struct pci_dev *e = d->access->devices; + while (e && (e->domain != d->domain || e->bus != d->bus || e->dev != d->dev || e->func != d->func)) + e = e->next; + if (!e) + return 0; + dd = e->aux; + } + if (pos + len > dd->len) + return 0; + memcpy(buf, dd->data + pos, len); + return 1; +} + +static int +dump_write(struct pci_dev *d UNUSED, int pos UNUSED, byte *buf UNUSED, int len UNUSED) +{ + d->access->error("Writing to dump files is not supported."); + return 0; +} + +static void +dump_cleanup_dev(struct pci_dev *d) +{ + if (d->aux) + { + pci_mfree(d->aux); + d->aux = NULL; + } +} + +struct pci_methods pm_dump = { + "dump", + "Reading of register dumps (set the `dump.name' parameter)", + dump_config, + dump_detect, + dump_init, + dump_cleanup, + dump_scan, + pci_generic_fill_info, + dump_read, + dump_write, + NULL, /* init_dev */ + dump_cleanup_dev +}; diff --git a/lib/fbsd-device.c b/lib/fbsd-device.c new file mode 100644 index 0000000..742c641 --- /dev/null +++ b/lib/fbsd-device.c @@ -0,0 +1,169 @@ +/* + * The PCI Library -- FreeBSD /dev/pci access + * + * Copyright (c) 1999 Jari Kirma + * Updated in 2003 by Samy Al Bahra + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include +#include +#include +#include +#include +#include +#include + +#ifdef __FreeBSD_kernel_version +# ifndef __FreeBSD_version +# define __FreeBSD_version __FreeBSD_kernel_version +# endif +#endif + +#if __FreeBSD_version < 430000 && !defined(__DragonFly__) +# include +# include +#else +# include +#endif + +#include "internal.h" + +static void +fbsd_config(struct pci_access *a) +{ + pci_define_param(a, "fbsd.path", PCI_PATH_FBSD_DEVICE, "Path to the FreeBSD PCI device"); +} + +static int +fbsd_detect(struct pci_access *a) +{ + char *name = pci_get_param(a, "fbsd.path"); + + if (access(name, R_OK)) + { + a->warning("Cannot open %s", name); + return 0; + } + a->debug("...using %s", name); + return 1; +} + +static void +fbsd_init(struct pci_access *a) +{ + char *name = pci_get_param(a, "fbsd.path"); + + a->fd = open(name, O_RDWR, 0); + if (a->fd < 0) + a->error("fbsd_init: %s open failed", name); +} + +static void +fbsd_cleanup(struct pci_access *a) +{ + close(a->fd); +} + +static int +fbsd_read(struct pci_dev *d, int pos, byte *buf, int len) +{ + struct pci_io pi; + + if (!(len == 1 || len == 2 || len == 4)) + return pci_generic_block_read(d, pos, buf, len); + + if (pos >= 256) + return 0; + +#if __FreeBSD_version >= 700053 + pi.pi_sel.pc_domain = d->domain; +#endif + pi.pi_sel.pc_bus = d->bus; + pi.pi_sel.pc_dev = d->dev; + pi.pi_sel.pc_func = d->func; + + pi.pi_reg = pos; + pi.pi_width = len; + + if (ioctl(d->access->fd, PCIOCREAD, &pi) < 0) + { + if (errno == ENODEV) + return 0; + d->access->error("fbsd_read: ioctl(PCIOCREAD) failed: %s", strerror(errno)); + } + + switch (len) + { + case 1: + buf[0] = (u8) pi.pi_data; + break; + case 2: + ((u16 *) buf)[0] = cpu_to_le16((u16) pi.pi_data); + break; + case 4: + ((u32 *) buf)[0] = cpu_to_le32((u32) pi.pi_data); + break; + } + return 1; +} + +static int +fbsd_write(struct pci_dev *d, int pos, byte *buf, int len) +{ + struct pci_io pi; + + if (!(len == 1 || len == 2 || len == 4)) + return pci_generic_block_write(d, pos, buf, len); + + if (pos >= 256) + return 0; + +#if __FreeBSD_version >= 700053 + pi.pi_sel.pc_domain = d->domain; +#endif + pi.pi_sel.pc_bus = d->bus; + pi.pi_sel.pc_dev = d->dev; + pi.pi_sel.pc_func = d->func; + + pi.pi_reg = pos; + pi.pi_width = len; + + switch (len) + { + case 1: + pi.pi_data = buf[0]; + break; + case 2: + pi.pi_data = le16_to_cpu(((u16 *) buf)[0]); + break; + case 4: + pi.pi_data = le32_to_cpu(((u32 *) buf)[0]); + break; + } + + if (ioctl(d->access->fd, PCIOCWRITE, &pi) < 0) + { + if (errno == ENODEV) + return 0; + d->access->error("fbsd_write: ioctl(PCIOCWRITE) failed: %s", strerror(errno)); + } + + return 1; +} + +struct pci_methods pm_fbsd_device = { + "fbsd-device", + "FreeBSD /dev/pci device", + fbsd_config, + fbsd_detect, + fbsd_init, + fbsd_cleanup, + pci_generic_scan, + pci_generic_fill_info, + fbsd_read, + fbsd_write, + NULL, /* dev_init */ + NULL /* dev_cleanup */ +}; diff --git a/lib/filter.c b/lib/filter.c new file mode 100644 index 0000000..eb375c4 --- /dev/null +++ b/lib/filter.c @@ -0,0 +1,123 @@ +/* + * The PCI Library -- Device Filtering + * + * Copyright (c) 1998--2003 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include +#include + +#include "internal.h" + +void +pci_filter_init(struct pci_access *a UNUSED, struct pci_filter *f) +{ + f->domain = f->bus = f->slot = f->func = -1; + f->vendor = f->device = -1; +} + +/* Slot filter syntax: [[[domain]:][bus]:][slot][.[func]] */ + +char * +pci_filter_parse_slot(struct pci_filter *f, char *str) +{ + char *colon = strrchr(str, ':'); + char *dot = strchr((colon ? colon + 1 : str), '.'); + char *mid = str; + char *e, *bus, *colon2; + + if (colon) + { + *colon++ = 0; + mid = colon; + colon2 = strchr(str, ':'); + if (colon2) + { + *colon2++ = 0; + bus = colon2; + if (str[0] && strcmp(str, "*")) + { + long int x = strtol(str, &e, 16); + if ((e && *e) || (x < 0 || x > 0xffff)) + return "Invalid domain number"; + f->domain = x; + } + } + else + bus = str; + if (bus[0] && strcmp(bus, "*")) + { + long int x = strtol(bus, &e, 16); + if ((e && *e) || (x < 0 || x > 0xff)) + return "Invalid bus number"; + f->bus = x; + } + } + if (dot) + *dot++ = 0; + if (mid[0] && strcmp(mid, "*")) + { + long int x = strtol(mid, &e, 16); + if ((e && *e) || (x < 0 || x > 0x1f)) + return "Invalid slot number"; + f->slot = x; + } + if (dot && dot[0] && strcmp(dot, "*")) + { + long int x = strtol(dot, &e, 16); + if ((e && *e) || (x < 0 || x > 7)) + return "Invalid function number"; + f->func = x; + } + return NULL; +} + +/* ID filter syntax: [vendor]:[device] */ + +char * +pci_filter_parse_id(struct pci_filter *f, char *str) +{ + char *s, *e; + + if (!*str) + return NULL; + s = strchr(str, ':'); + if (!s) + return "':' expected"; + *s++ = 0; + if (str[0] && strcmp(str, "*")) + { + long int x = strtol(str, &e, 16); + if ((e && *e) || (x < 0 || x >= 0xffff)) + return "Invalid vendor ID"; + f->vendor = x; + } + if (s[0] && strcmp(s, "*")) + { + long int x = strtol(s, &e, 16); + if ((e && *e) || (x < 0 || x >= 0xffff)) + return "Invalid device ID"; + f->device = x; + } + return NULL; +} + +int +pci_filter_match(struct pci_filter *f, struct pci_dev *d) +{ + if ((f->domain >= 0 && f->domain != d->domain) || + (f->bus >= 0 && f->bus != d->bus) || + (f->slot >= 0 && f->slot != d->dev) || + (f->func >= 0 && f->func != d->func)) + return 0; + if (f->device >= 0 || f->vendor >= 0) + { + pci_fill_info(d, PCI_FILL_IDENT); + if ((f->device >= 0 && f->device != d->device_id) || + (f->vendor >= 0 && f->vendor != d->vendor_id)) + return 0; + } + return 1; +} diff --git a/lib/generic.c b/lib/generic.c new file mode 100644 index 0000000..617c5fe --- /dev/null +++ b/lib/generic.c @@ -0,0 +1,206 @@ +/* + * The PCI Library -- Generic Direct Access Functions + * + * Copyright (c) 1997--2000 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include + +#include "internal.h" + +void +pci_generic_scan_bus(struct pci_access *a, byte *busmap, int bus) +{ + int dev, multi, ht; + struct pci_dev *t; + + a->debug("Scanning bus %02x for devices...\n", bus); + if (busmap[bus]) + { + a->warning("Bus %02x seen twice (firmware bug). Ignored.", bus); + return; + } + busmap[bus] = 1; + t = pci_alloc_dev(a); + t->bus = bus; + for(dev=0; dev<32; dev++) + { + t->dev = dev; + multi = 0; + for(t->func=0; !t->func || multi && t->func<8; t->func++) + { + u32 vd = pci_read_long(t, PCI_VENDOR_ID); + struct pci_dev *d; + + if (!vd || vd == 0xffffffff) + continue; + ht = pci_read_byte(t, PCI_HEADER_TYPE); + if (!t->func) + multi = ht & 0x80; + ht &= 0x7f; + d = pci_alloc_dev(a); + d->bus = t->bus; + d->dev = t->dev; + d->func = t->func; + d->vendor_id = vd & 0xffff; + d->device_id = vd >> 16U; + d->known_fields = PCI_FILL_IDENT; + d->hdrtype = ht; + pci_link_dev(a, d); + switch (ht) + { + case PCI_HEADER_TYPE_NORMAL: + break; + case PCI_HEADER_TYPE_BRIDGE: + case PCI_HEADER_TYPE_CARDBUS: + pci_generic_scan_bus(a, busmap, pci_read_byte(t, PCI_SECONDARY_BUS)); + break; + default: + a->debug("Device %04x:%02x:%02x.%d has unknown header type %02x.\n", d->domain, d->bus, d->dev, d->func, ht); + } + } + } + pci_free_dev(t); +} + +void +pci_generic_scan(struct pci_access *a) +{ + byte busmap[256]; + + memset(busmap, 0, sizeof(busmap)); + pci_generic_scan_bus(a, busmap, 0); +} + +int +pci_generic_fill_info(struct pci_dev *d, int flags) +{ + struct pci_access *a = d->access; + + if ((flags & (PCI_FILL_BASES | PCI_FILL_ROM_BASE)) && d->hdrtype < 0) + d->hdrtype = pci_read_byte(d, PCI_HEADER_TYPE) & 0x7f; + if (flags & PCI_FILL_IDENT) + { + d->vendor_id = pci_read_word(d, PCI_VENDOR_ID); + d->device_id = pci_read_word(d, PCI_DEVICE_ID); + } + if (flags & PCI_FILL_CLASS) + d->device_class = pci_read_word(d, PCI_CLASS_DEVICE); + if (flags & PCI_FILL_IRQ) + d->irq = pci_read_byte(d, PCI_INTERRUPT_LINE); + if (flags & PCI_FILL_BASES) + { + int cnt = 0, i; + memset(d->base_addr, 0, sizeof(d->base_addr)); + switch (d->hdrtype) + { + case PCI_HEADER_TYPE_NORMAL: + cnt = 6; + break; + case PCI_HEADER_TYPE_BRIDGE: + cnt = 2; + break; + case PCI_HEADER_TYPE_CARDBUS: + cnt = 1; + break; + } + if (cnt) + { + for(i=0; ibase_addr[i] = x; + else + { + if ((x & PCI_BASE_ADDRESS_MEM_TYPE_MASK) != PCI_BASE_ADDRESS_MEM_TYPE_64) + d->base_addr[i] = x; + else if (i >= cnt-1) + a->warning("%04x:%02x:%02x.%d: Invalid 64-bit address seen for BAR %d.", d->domain, d->bus, d->dev, d->func, i); + else + { + u32 y = pci_read_long(d, PCI_BASE_ADDRESS_0 + (++i)*4); +#ifdef PCI_HAVE_64BIT_ADDRESS + d->base_addr[i-1] = x | (((pciaddr_t) y) << 32); +#else + if (y) + a->warning("%04x:%02x:%02x.%d 64-bit device address ignored.", d->domain, d->bus, d->dev, d->func); + else + d->base_addr[i-1] = x; +#endif + } + } + } + } + } + if (flags & PCI_FILL_ROM_BASE) + { + int reg = 0; + d->rom_base_addr = 0; + switch (d->hdrtype) + { + case PCI_HEADER_TYPE_NORMAL: + reg = PCI_ROM_ADDRESS; + break; + case PCI_HEADER_TYPE_BRIDGE: + reg = PCI_ROM_ADDRESS1; + break; + } + if (reg) + { + u32 u = pci_read_long(d, reg); + if (u != 0xffffffff) + d->rom_base_addr = u; + } + } + return flags & ~PCI_FILL_SIZES; +} + +static int +pci_generic_block_op(struct pci_dev *d, int pos, byte *buf, int len, + int (*r)(struct pci_dev *d, int pos, byte *buf, int len)) +{ + if ((pos & 1) && len >= 1) + { + if (!r(d, pos, buf, 1)) + return 0; + pos++; buf++; len--; + } + if ((pos & 3) && len >= 2) + { + if (!r(d, pos, buf, 2)) + return 0; + pos += 2; buf += 2; len -= 2; + } + while (len >= 4) + { + if (!r(d, pos, buf, 4)) + return 0; + pos += 4; buf += 4; len -= 4; + } + if (len >= 2) + { + if (!r(d, pos, buf, 2)) + return 0; + pos += 2; buf += 2; len -= 2; + } + if (len && !r(d, pos, buf, 1)) + return 0; + return 1; +} + +int +pci_generic_block_read(struct pci_dev *d, int pos, byte *buf, int len) +{ + return pci_generic_block_op(d, pos, buf, len, d->access->methods->read); +} + +int +pci_generic_block_write(struct pci_dev *d, int pos, byte *buf, int len) +{ + return pci_generic_block_op(d, pos, buf, len, d->access->methods->write); +} diff --git a/lib/header.h b/lib/header.h new file mode 100644 index 0000000..a53eccc --- /dev/null +++ b/lib/header.h @@ -0,0 +1,1043 @@ +/* + * The PCI Library -- PCI Header Structure (based on ) + * + * Copyright (c) 1997--2007 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +/* + * Under PCI, each device has 256 bytes of configuration address space, + * of which the first 64 bytes are standardized as follows: + */ +#define PCI_VENDOR_ID 0x00 /* 16 bits */ +#define PCI_DEVICE_ID 0x02 /* 16 bits */ +#define PCI_COMMAND 0x04 /* 16 bits */ +#define PCI_COMMAND_IO 0x1 /* Enable response in I/O space */ +#define PCI_COMMAND_MEMORY 0x2 /* Enable response in Memory space */ +#define PCI_COMMAND_MASTER 0x4 /* Enable bus mastering */ +#define PCI_COMMAND_SPECIAL 0x8 /* Enable response to special cycles */ +#define PCI_COMMAND_INVALIDATE 0x10 /* Use memory write and invalidate */ +#define PCI_COMMAND_VGA_PALETTE 0x20 /* Enable palette snooping */ +#define PCI_COMMAND_PARITY 0x40 /* Enable parity checking */ +#define PCI_COMMAND_WAIT 0x80 /* Enable address/data stepping */ +#define PCI_COMMAND_SERR 0x100 /* Enable SERR */ +#define PCI_COMMAND_FAST_BACK 0x200 /* Enable back-to-back writes */ +#define PCI_COMMAND_DISABLE_INTx 0x400 /* PCIE: Disable INTx interrupts */ + +#define PCI_STATUS 0x06 /* 16 bits */ +#define PCI_STATUS_INTx 0x08 /* PCIE: INTx interrupt pending */ +#define PCI_STATUS_CAP_LIST 0x10 /* Support Capability List */ +#define PCI_STATUS_66MHZ 0x20 /* Support 66 Mhz PCI 2.1 bus */ +#define PCI_STATUS_UDF 0x40 /* Support User Definable Features [obsolete] */ +#define PCI_STATUS_FAST_BACK 0x80 /* Accept fast-back to back */ +#define PCI_STATUS_PARITY 0x100 /* Detected parity error */ +#define PCI_STATUS_DEVSEL_MASK 0x600 /* DEVSEL timing */ +#define PCI_STATUS_DEVSEL_FAST 0x000 +#define PCI_STATUS_DEVSEL_MEDIUM 0x200 +#define PCI_STATUS_DEVSEL_SLOW 0x400 +#define PCI_STATUS_SIG_TARGET_ABORT 0x800 /* Set on target abort */ +#define PCI_STATUS_REC_TARGET_ABORT 0x1000 /* Master ack of " */ +#define PCI_STATUS_REC_MASTER_ABORT 0x2000 /* Set on master abort */ +#define PCI_STATUS_SIG_SYSTEM_ERROR 0x4000 /* Set when we drive SERR */ +#define PCI_STATUS_DETECTED_PARITY 0x8000 /* Set on parity error */ + +#define PCI_CLASS_REVISION 0x08 /* High 24 bits are class, low 8 + revision */ +#define PCI_REVISION_ID 0x08 /* Revision ID */ +#define PCI_CLASS_PROG 0x09 /* Reg. Level Programming Interface */ +#define PCI_CLASS_DEVICE 0x0a /* Device class */ + +#define PCI_CACHE_LINE_SIZE 0x0c /* 8 bits */ +#define PCI_LATENCY_TIMER 0x0d /* 8 bits */ +#define PCI_HEADER_TYPE 0x0e /* 8 bits */ +#define PCI_HEADER_TYPE_NORMAL 0 +#define PCI_HEADER_TYPE_BRIDGE 1 +#define PCI_HEADER_TYPE_CARDBUS 2 + +#define PCI_BIST 0x0f /* 8 bits */ +#define PCI_BIST_CODE_MASK 0x0f /* Return result */ +#define PCI_BIST_START 0x40 /* 1 to start BIST, 2 secs or less */ +#define PCI_BIST_CAPABLE 0x80 /* 1 if BIST capable */ + +/* + * Base addresses specify locations in memory or I/O space. + * Decoded size can be determined by writing a value of + * 0xffffffff to the register, and reading it back. Only + * 1 bits are decoded. + */ +#define PCI_BASE_ADDRESS_0 0x10 /* 32 bits */ +#define PCI_BASE_ADDRESS_1 0x14 /* 32 bits [htype 0,1 only] */ +#define PCI_BASE_ADDRESS_2 0x18 /* 32 bits [htype 0 only] */ +#define PCI_BASE_ADDRESS_3 0x1c /* 32 bits */ +#define PCI_BASE_ADDRESS_4 0x20 /* 32 bits */ +#define PCI_BASE_ADDRESS_5 0x24 /* 32 bits */ +#define PCI_BASE_ADDRESS_SPACE 0x01 /* 0 = memory, 1 = I/O */ +#define PCI_BASE_ADDRESS_SPACE_IO 0x01 +#define PCI_BASE_ADDRESS_SPACE_MEMORY 0x00 +#define PCI_BASE_ADDRESS_MEM_TYPE_MASK 0x06 +#define PCI_BASE_ADDRESS_MEM_TYPE_32 0x00 /* 32 bit address */ +#define PCI_BASE_ADDRESS_MEM_TYPE_1M 0x02 /* Below 1M [obsolete] */ +#define PCI_BASE_ADDRESS_MEM_TYPE_64 0x04 /* 64 bit address */ +#define PCI_BASE_ADDRESS_MEM_PREFETCH 0x08 /* prefetchable? */ +#define PCI_BASE_ADDRESS_MEM_MASK (~(pciaddr_t)0x0f) +#define PCI_BASE_ADDRESS_IO_MASK (~(pciaddr_t)0x03) +/* bit 1 is reserved if address_space = 1 */ + +/* Header type 0 (normal devices) */ +#define PCI_CARDBUS_CIS 0x28 +#define PCI_SUBSYSTEM_VENDOR_ID 0x2c +#define PCI_SUBSYSTEM_ID 0x2e +#define PCI_ROM_ADDRESS 0x30 /* Bits 31..11 are address, 10..1 reserved */ +#define PCI_ROM_ADDRESS_ENABLE 0x01 +#define PCI_ROM_ADDRESS_MASK (~(pciaddr_t)0x7ff) + +#define PCI_CAPABILITY_LIST 0x34 /* Offset of first capability list entry */ + +/* 0x35-0x3b are reserved */ +#define PCI_INTERRUPT_LINE 0x3c /* 8 bits */ +#define PCI_INTERRUPT_PIN 0x3d /* 8 bits */ +#define PCI_MIN_GNT 0x3e /* 8 bits */ +#define PCI_MAX_LAT 0x3f /* 8 bits */ + +/* Header type 1 (PCI-to-PCI bridges) */ +#define PCI_PRIMARY_BUS 0x18 /* Primary bus number */ +#define PCI_SECONDARY_BUS 0x19 /* Secondary bus number */ +#define PCI_SUBORDINATE_BUS 0x1a /* Highest bus number behind the bridge */ +#define PCI_SEC_LATENCY_TIMER 0x1b /* Latency timer for secondary interface */ +#define PCI_IO_BASE 0x1c /* I/O range behind the bridge */ +#define PCI_IO_LIMIT 0x1d +#define PCI_IO_RANGE_TYPE_MASK 0x0f /* I/O bridging type */ +#define PCI_IO_RANGE_TYPE_16 0x00 +#define PCI_IO_RANGE_TYPE_32 0x01 +#define PCI_IO_RANGE_MASK ~0x0f +#define PCI_SEC_STATUS 0x1e /* Secondary status register */ +#define PCI_MEMORY_BASE 0x20 /* Memory range behind */ +#define PCI_MEMORY_LIMIT 0x22 +#define PCI_MEMORY_RANGE_TYPE_MASK 0x0f +#define PCI_MEMORY_RANGE_MASK ~0x0f +#define PCI_PREF_MEMORY_BASE 0x24 /* Prefetchable memory range behind */ +#define PCI_PREF_MEMORY_LIMIT 0x26 +#define PCI_PREF_RANGE_TYPE_MASK 0x0f +#define PCI_PREF_RANGE_TYPE_32 0x00 +#define PCI_PREF_RANGE_TYPE_64 0x01 +#define PCI_PREF_RANGE_MASK ~0x0f +#define PCI_PREF_BASE_UPPER32 0x28 /* Upper half of prefetchable memory range */ +#define PCI_PREF_LIMIT_UPPER32 0x2c +#define PCI_IO_BASE_UPPER16 0x30 /* Upper half of I/O addresses */ +#define PCI_IO_LIMIT_UPPER16 0x32 +/* 0x34 same as for htype 0 */ +/* 0x35-0x3b is reserved */ +#define PCI_ROM_ADDRESS1 0x38 /* Same as PCI_ROM_ADDRESS, but for htype 1 */ +/* 0x3c-0x3d are same as for htype 0 */ +#define PCI_BRIDGE_CONTROL 0x3e +#define PCI_BRIDGE_CTL_PARITY 0x01 /* Enable parity detection on secondary interface */ +#define PCI_BRIDGE_CTL_SERR 0x02 /* The same for SERR forwarding */ +#define PCI_BRIDGE_CTL_NO_ISA 0x04 /* Disable bridging of ISA ports */ +#define PCI_BRIDGE_CTL_VGA 0x08 /* Forward VGA addresses */ +#define PCI_BRIDGE_CTL_MASTER_ABORT 0x20 /* Report master aborts */ +#define PCI_BRIDGE_CTL_BUS_RESET 0x40 /* Secondary bus reset */ +#define PCI_BRIDGE_CTL_FAST_BACK 0x80 /* Fast Back2Back enabled on secondary interface */ +#define PCI_BRIDGE_CTL_PRI_DISCARD_TIMER 0x100 /* PCI-X? */ +#define PCI_BRIDGE_CTL_SEC_DISCARD_TIMER 0x200 /* PCI-X? */ +#define PCI_BRIDGE_CTL_DISCARD_TIMER_STATUS 0x400 /* PCI-X? */ +#define PCI_BRIDGE_CTL_DISCARD_TIMER_SERR_EN 0x800 /* PCI-X? */ + +/* Header type 2 (CardBus bridges) */ +/* 0x14-0x15 reserved */ +#define PCI_CB_SEC_STATUS 0x16 /* Secondary status */ +#define PCI_CB_PRIMARY_BUS 0x18 /* PCI bus number */ +#define PCI_CB_CARD_BUS 0x19 /* CardBus bus number */ +#define PCI_CB_SUBORDINATE_BUS 0x1a /* Subordinate bus number */ +#define PCI_CB_LATENCY_TIMER 0x1b /* CardBus latency timer */ +#define PCI_CB_MEMORY_BASE_0 0x1c +#define PCI_CB_MEMORY_LIMIT_0 0x20 +#define PCI_CB_MEMORY_BASE_1 0x24 +#define PCI_CB_MEMORY_LIMIT_1 0x28 +#define PCI_CB_IO_BASE_0 0x2c +#define PCI_CB_IO_BASE_0_HI 0x2e +#define PCI_CB_IO_LIMIT_0 0x30 +#define PCI_CB_IO_LIMIT_0_HI 0x32 +#define PCI_CB_IO_BASE_1 0x34 +#define PCI_CB_IO_BASE_1_HI 0x36 +#define PCI_CB_IO_LIMIT_1 0x38 +#define PCI_CB_IO_LIMIT_1_HI 0x3a +#define PCI_CB_IO_RANGE_MASK ~0x03 +/* 0x3c-0x3d are same as for htype 0 */ +#define PCI_CB_BRIDGE_CONTROL 0x3e +#define PCI_CB_BRIDGE_CTL_PARITY 0x01 /* Similar to standard bridge control register */ +#define PCI_CB_BRIDGE_CTL_SERR 0x02 +#define PCI_CB_BRIDGE_CTL_ISA 0x04 +#define PCI_CB_BRIDGE_CTL_VGA 0x08 +#define PCI_CB_BRIDGE_CTL_MASTER_ABORT 0x20 +#define PCI_CB_BRIDGE_CTL_CB_RESET 0x40 /* CardBus reset */ +#define PCI_CB_BRIDGE_CTL_16BIT_INT 0x80 /* Enable interrupt for 16-bit cards */ +#define PCI_CB_BRIDGE_CTL_PREFETCH_MEM0 0x100 /* Prefetch enable for both memory regions */ +#define PCI_CB_BRIDGE_CTL_PREFETCH_MEM1 0x200 +#define PCI_CB_BRIDGE_CTL_POST_WRITES 0x400 +#define PCI_CB_SUBSYSTEM_VENDOR_ID 0x40 +#define PCI_CB_SUBSYSTEM_ID 0x42 +#define PCI_CB_LEGACY_MODE_BASE 0x44 /* 16-bit PC Card legacy mode base address (ExCa) */ +/* 0x48-0x7f reserved */ + +/* Capability lists */ + +#define PCI_CAP_LIST_ID 0 /* Capability ID */ +#define PCI_CAP_ID_PM 0x01 /* Power Management */ +#define PCI_CAP_ID_AGP 0x02 /* Accelerated Graphics Port */ +#define PCI_CAP_ID_VPD 0x03 /* Vital Product Data */ +#define PCI_CAP_ID_SLOTID 0x04 /* Slot Identification */ +#define PCI_CAP_ID_MSI 0x05 /* Message Signalled Interrupts */ +#define PCI_CAP_ID_CHSWP 0x06 /* CompactPCI HotSwap */ +#define PCI_CAP_ID_PCIX 0x07 /* PCI-X */ +#define PCI_CAP_ID_HT 0x08 /* HyperTransport */ +#define PCI_CAP_ID_VNDR 0x09 /* Vendor specific */ +#define PCI_CAP_ID_DBG 0x0A /* Debug port */ +#define PCI_CAP_ID_CCRC 0x0B /* CompactPCI Central Resource Control */ +#define PCI_CAP_ID_HOTPLUG 0x0C /* PCI hot-plug */ +#define PCI_CAP_ID_SSVID 0x0D /* Bridge subsystem vendor/device ID */ +#define PCI_CAP_ID_AGP3 0x0E /* AGP 8x */ +#define PCI_CAP_ID_SECURE 0x0F /* Secure device (?) */ +#define PCI_CAP_ID_EXP 0x10 /* PCI Express */ +#define PCI_CAP_ID_MSIX 0x11 /* MSI-X */ +#define PCI_CAP_ID_SATA 0x12 /* Serial-ATA HBA */ +#define PCI_CAP_ID_AF 0x13 /* Advanced features of PCI devices integrated in PCIe root cplx */ +#define PCI_CAP_LIST_NEXT 1 /* Next capability in the list */ +#define PCI_CAP_FLAGS 2 /* Capability defined flags (16 bits) */ +#define PCI_CAP_SIZEOF 4 + +/* Capabilities residing in the PCI Express extended configuration space */ + +#define PCI_EXT_CAP_ID_AER 0x01 /* Advanced Error Reporting */ +#define PCI_EXT_CAP_ID_VC 0x02 /* Virtual Channel */ +#define PCI_EXT_CAP_ID_DSN 0x03 /* Device Serial Number */ +#define PCI_EXT_CAP_ID_PB 0x04 /* Power Budgeting */ +#define PCI_EXT_CAP_ID_RCLINK 0x05 /* Root Complex Link Declaration */ +#define PCI_EXT_CAP_ID_RCILINK 0x06 /* Root Complex Internal Link Declaration */ +#define PCI_EXT_CAP_ID_RCECOLL 0x07 /* Root Complex Event Collector */ +#define PCI_EXT_CAP_ID_MFVC 0x08 /* Multi-Function Virtual Channel */ +#define PCI_EXT_CAP_ID_RBCB 0x0a /* Root Bridge Control Block */ +#define PCI_EXT_CAP_ID_VNDR 0x0b /* Vendor specific */ +#define PCI_EXT_CAP_ID_ACS 0x0d /* Access Controls */ + +/* Power Management Registers */ + +#define PCI_PM_CAP_VER_MASK 0x0007 /* Version (2=PM1.1) */ +#define PCI_PM_CAP_PME_CLOCK 0x0008 /* Clock required for PME generation */ +#define PCI_PM_CAP_DSI 0x0020 /* Device specific initialization required */ +#define PCI_PM_CAP_AUX_C_MASK 0x01c0 /* Maximum aux current required in D3cold */ +#define PCI_PM_CAP_D1 0x0200 /* D1 power state support */ +#define PCI_PM_CAP_D2 0x0400 /* D2 power state support */ +#define PCI_PM_CAP_PME_D0 0x0800 /* PME can be asserted from D0 */ +#define PCI_PM_CAP_PME_D1 0x1000 /* PME can be asserted from D1 */ +#define PCI_PM_CAP_PME_D2 0x2000 /* PME can be asserted from D2 */ +#define PCI_PM_CAP_PME_D3_HOT 0x4000 /* PME can be asserted from D3hot */ +#define PCI_PM_CAP_PME_D3_COLD 0x8000 /* PME can be asserted from D3cold */ +#define PCI_PM_CTRL 4 /* PM control and status register */ +#define PCI_PM_CTRL_STATE_MASK 0x0003 /* Current power state (D0 to D3) */ +#define PCI_PM_CTRL_PME_ENABLE 0x0100 /* PME pin enable */ +#define PCI_PM_CTRL_DATA_SEL_MASK 0x1e00 /* PM table data index */ +#define PCI_PM_CTRL_DATA_SCALE_MASK 0x6000 /* PM table data scaling factor */ +#define PCI_PM_CTRL_PME_STATUS 0x8000 /* PME pin status */ +#define PCI_PM_PPB_EXTENSIONS 6 /* PPB support extensions */ +#define PCI_PM_PPB_B2_B3 0x40 /* If bridge enters D3hot, bus enters: 0=B3, 1=B2 */ +#define PCI_PM_BPCC_ENABLE 0x80 /* Secondary bus is power managed */ +#define PCI_PM_DATA_REGISTER 7 /* PM table contents read here */ +#define PCI_PM_SIZEOF 8 + +/* AGP registers */ + +#define PCI_AGP_VERSION 2 /* BCD version number */ +#define PCI_AGP_RFU 3 /* Rest of capability flags */ +#define PCI_AGP_STATUS 4 /* Status register */ +#define PCI_AGP_STATUS_RQ_MASK 0xff000000 /* Maximum number of requests - 1 */ +#define PCI_AGP_STATUS_ISOCH 0x10000 /* Isochronous transactions supported */ +#define PCI_AGP_STATUS_ARQSZ_MASK 0xe000 /* log2(optimum async req size in bytes) - 4 */ +#define PCI_AGP_STATUS_CAL_MASK 0x1c00 /* Calibration cycle timing */ +#define PCI_AGP_STATUS_SBA 0x0200 /* Sideband addressing supported */ +#define PCI_AGP_STATUS_ITA_COH 0x0100 /* In-aperture accesses always coherent */ +#define PCI_AGP_STATUS_GART64 0x0080 /* 64-bit GART entries supported */ +#define PCI_AGP_STATUS_HTRANS 0x0040 /* If 0, core logic can xlate host CPU accesses thru aperture */ +#define PCI_AGP_STATUS_64BIT 0x0020 /* 64-bit addressing cycles supported */ +#define PCI_AGP_STATUS_FW 0x0010 /* Fast write transfers supported */ +#define PCI_AGP_STATUS_AGP3 0x0008 /* AGP3 mode supported */ +#define PCI_AGP_STATUS_RATE4 0x0004 /* 4x transfer rate supported (RFU in AGP3 mode) */ +#define PCI_AGP_STATUS_RATE2 0x0002 /* 2x transfer rate supported (8x in AGP3 mode) */ +#define PCI_AGP_STATUS_RATE1 0x0001 /* 1x transfer rate supported (4x in AGP3 mode) */ +#define PCI_AGP_COMMAND 8 /* Control register */ +#define PCI_AGP_COMMAND_RQ_MASK 0xff000000 /* Master: Maximum number of requests */ +#define PCI_AGP_COMMAND_ARQSZ_MASK 0xe000 /* log2(optimum async req size in bytes) - 4 */ +#define PCI_AGP_COMMAND_CAL_MASK 0x1c00 /* Calibration cycle timing */ +#define PCI_AGP_COMMAND_SBA 0x0200 /* Sideband addressing enabled */ +#define PCI_AGP_COMMAND_AGP 0x0100 /* Allow processing of AGP transactions */ +#define PCI_AGP_COMMAND_GART64 0x0080 /* 64-bit GART entries enabled */ +#define PCI_AGP_COMMAND_64BIT 0x0020 /* Allow generation of 64-bit addr cycles */ +#define PCI_AGP_COMMAND_FW 0x0010 /* Enable FW transfers */ +#define PCI_AGP_COMMAND_RATE4 0x0004 /* Use 4x rate (RFU in AGP3 mode) */ +#define PCI_AGP_COMMAND_RATE2 0x0002 /* Use 2x rate (8x in AGP3 mode) */ +#define PCI_AGP_COMMAND_RATE1 0x0001 /* Use 1x rate (4x in AGP3 mode) */ +#define PCI_AGP_SIZEOF 12 + +/* Slot Identification */ + +#define PCI_SID_ESR 2 /* Expansion Slot Register */ +#define PCI_SID_ESR_NSLOTS 0x1f /* Number of expansion slots available */ +#define PCI_SID_ESR_FIC 0x20 /* First In Chassis Flag */ +#define PCI_SID_CHASSIS_NR 3 /* Chassis Number */ + +/* Message Signalled Interrupts registers */ + +#define PCI_MSI_FLAGS 2 /* Various flags */ +#define PCI_MSI_FLAGS_MASK_BIT 0x100 /* interrupt masking & reporting supported */ +#define PCI_MSI_FLAGS_64BIT 0x080 /* 64-bit addresses allowed */ +#define PCI_MSI_FLAGS_QSIZE 0x070 /* Message queue size configured */ +#define PCI_MSI_FLAGS_QMASK 0x00e /* Maximum queue size available */ +#define PCI_MSI_FLAGS_ENABLE 0x001 /* MSI feature enabled */ +#define PCI_MSI_RFU 3 /* Rest of capability flags */ +#define PCI_MSI_ADDRESS_LO 4 /* Lower 32 bits */ +#define PCI_MSI_ADDRESS_HI 8 /* Upper 32 bits (if PCI_MSI_FLAGS_64BIT set) */ +#define PCI_MSI_DATA_32 8 /* 16 bits of data for 32-bit devices */ +#define PCI_MSI_DATA_64 12 /* 16 bits of data for 64-bit devices */ +#define PCI_MSI_MASK_BIT_32 12 /* per-vector masking for 32-bit devices */ +#define PCI_MSI_MASK_BIT_64 16 /* per-vector masking for 64-bit devices */ +#define PCI_MSI_PENDING_32 16 /* per-vector interrupt pending for 32-bit devices */ +#define PCI_MSI_PENDING_64 20 /* per-vector interrupt pending for 64-bit devices */ + +/* PCI-X */ +#define PCI_PCIX_COMMAND 2 /* Command register offset */ +#define PCI_PCIX_COMMAND_DPERE 0x0001 /* Data Parity Error Recover Enable */ +#define PCI_PCIX_COMMAND_ERO 0x0002 /* Enable Relaxed Ordering */ +#define PCI_PCIX_COMMAND_MAX_MEM_READ_BYTE_COUNT 0x000c /* Maximum Memory Read Byte Count */ +#define PCI_PCIX_COMMAND_MAX_OUTSTANDING_SPLIT_TRANS 0x0070 +#define PCI_PCIX_COMMAND_RESERVED 0xf80 +#define PCI_PCIX_STATUS 4 /* Status register offset */ +#define PCI_PCIX_STATUS_FUNCTION 0x00000007 +#define PCI_PCIX_STATUS_DEVICE 0x000000f8 +#define PCI_PCIX_STATUS_BUS 0x0000ff00 +#define PCI_PCIX_STATUS_64BIT 0x00010000 +#define PCI_PCIX_STATUS_133MHZ 0x00020000 +#define PCI_PCIX_STATUS_SC_DISCARDED 0x00040000 /* Split Completion Discarded */ +#define PCI_PCIX_STATUS_UNEXPECTED_SC 0x00080000 /* Unexpected Split Completion */ +#define PCI_PCIX_STATUS_DEVICE_COMPLEXITY 0x00100000 /* 0 = simple device, 1 = bridge device */ +#define PCI_PCIX_STATUS_DESIGNED_MAX_MEM_READ_BYTE_COUNT 0x00600000 /* 0 = 512 bytes, 1 = 1024, 2 = 2048, 3 = 4096 */ +#define PCI_PCIX_STATUS_DESIGNED_MAX_OUTSTANDING_SPLIT_TRANS 0x03800000 +#define PCI_PCIX_STATUS_DESIGNED_MAX_CUMULATIVE_READ_SIZE 0x1c000000 +#define PCI_PCIX_STATUS_RCVD_SC_ERR_MESS 0x20000000 /* Received Split Completion Error Message */ +#define PCI_PCIX_STATUS_266MHZ 0x40000000 /* 266 MHz capable */ +#define PCI_PCIX_STATUS_533MHZ 0x80000000 /* 533 MHz capable */ +#define PCI_PCIX_SIZEOF 4 + +/* PCI-X Bridges */ +#define PCI_PCIX_BRIDGE_SEC_STATUS 2 /* Secondary bus status register offset */ +#define PCI_PCIX_BRIDGE_SEC_STATUS_64BIT 0x0001 +#define PCI_PCIX_BRIDGE_SEC_STATUS_133MHZ 0x0002 +#define PCI_PCIX_BRIDGE_SEC_STATUS_SC_DISCARDED 0x0004 /* Split Completion Discarded on secondary bus */ +#define PCI_PCIX_BRIDGE_SEC_STATUS_UNEXPECTED_SC 0x0008 /* Unexpected Split Completion on secondary bus */ +#define PCI_PCIX_BRIDGE_SEC_STATUS_SC_OVERRUN 0x0010 /* Split Completion Overrun on secondary bus */ +#define PCI_PCIX_BRIDGE_SEC_STATUS_SPLIT_REQUEST_DELAYED 0x0020 +#define PCI_PCIX_BRIDGE_SEC_STATUS_CLOCK_FREQ 0x01c0 +#define PCI_PCIX_BRIDGE_SEC_STATUS_RESERVED 0xfe00 +#define PCI_PCIX_BRIDGE_STATUS 4 /* Primary bus status register offset */ +#define PCI_PCIX_BRIDGE_STATUS_FUNCTION 0x00000007 +#define PCI_PCIX_BRIDGE_STATUS_DEVICE 0x000000f8 +#define PCI_PCIX_BRIDGE_STATUS_BUS 0x0000ff00 +#define PCI_PCIX_BRIDGE_STATUS_64BIT 0x00010000 +#define PCI_PCIX_BRIDGE_STATUS_133MHZ 0x00020000 +#define PCI_PCIX_BRIDGE_STATUS_SC_DISCARDED 0x00040000 /* Split Completion Discarded */ +#define PCI_PCIX_BRIDGE_STATUS_UNEXPECTED_SC 0x00080000 /* Unexpected Split Completion */ +#define PCI_PCIX_BRIDGE_STATUS_SC_OVERRUN 0x00100000 /* Split Completion Overrun */ +#define PCI_PCIX_BRIDGE_STATUS_SPLIT_REQUEST_DELAYED 0x00200000 +#define PCI_PCIX_BRIDGE_STATUS_RESERVED 0xffc00000 +#define PCI_PCIX_BRIDGE_UPSTREAM_SPLIT_TRANS_CTRL 8 /* Upstream Split Transaction Register offset */ +#define PCI_PCIX_BRIDGE_DOWNSTREAM_SPLIT_TRANS_CTRL 12 /* Downstream Split Transaction Register offset */ +#define PCI_PCIX_BRIDGE_STR_CAPACITY 0x0000ffff +#define PCI_PCIX_BRIDGE_STR_COMMITMENT_LIMIT 0xffff0000 +#define PCI_PCIX_BRIDGE_SIZEOF 12 + +/* HyperTransport (as of spec rev. 2.00) */ +#define PCI_HT_CMD 2 /* Command Register */ +#define PCI_HT_CMD_TYP_HI 0xe000 /* Capability Type high part */ +#define PCI_HT_CMD_TYP_HI_PRI 0x0000 /* Slave or Primary Interface */ +#define PCI_HT_CMD_TYP_HI_SEC 0x2000 /* Host or Secondary Interface */ +#define PCI_HT_CMD_TYP 0xf800 /* Capability Type */ +#define PCI_HT_CMD_TYP_SW 0x4000 /* Switch */ +#define PCI_HT_CMD_TYP_IDC 0x8000 /* Interrupt Discovery and Configuration */ +#define PCI_HT_CMD_TYP_RID 0x8800 /* Revision ID */ +#define PCI_HT_CMD_TYP_UIDC 0x9000 /* UnitID Clumping */ +#define PCI_HT_CMD_TYP_ECSA 0x9800 /* Extended Configuration Space Access */ +#define PCI_HT_CMD_TYP_AM 0xa000 /* Address Mapping */ +#define PCI_HT_CMD_TYP_MSIM 0xa800 /* MSI Mapping */ +#define PCI_HT_CMD_TYP_DR 0xb000 /* DirectRoute */ +#define PCI_HT_CMD_TYP_VCS 0xb800 /* VCSet */ +#define PCI_HT_CMD_TYP_RM 0xc000 /* Retry Mode */ +#define PCI_HT_CMD_TYP_X86 0xc800 /* X86 (reserved) */ + + /* Link Control Register */ +#define PCI_HT_LCTR_CFLE 0x0002 /* CRC Flood Enable */ +#define PCI_HT_LCTR_CST 0x0004 /* CRC Start Test */ +#define PCI_HT_LCTR_CFE 0x0008 /* CRC Force Error */ +#define PCI_HT_LCTR_LKFAIL 0x0010 /* Link Failure */ +#define PCI_HT_LCTR_INIT 0x0020 /* Initialization Complete */ +#define PCI_HT_LCTR_EOC 0x0040 /* End of Chain */ +#define PCI_HT_LCTR_TXO 0x0080 /* Transmitter Off */ +#define PCI_HT_LCTR_CRCERR 0x0f00 /* CRC Error */ +#define PCI_HT_LCTR_ISOCEN 0x1000 /* Isochronous Flow Control Enable */ +#define PCI_HT_LCTR_LSEN 0x2000 /* LDTSTOP# Tristate Enable */ +#define PCI_HT_LCTR_EXTCTL 0x4000 /* Extended CTL Time */ +#define PCI_HT_LCTR_64B 0x8000 /* 64-bit Addressing Enable */ + + /* Link Configuration Register */ +#define PCI_HT_LCNF_MLWI 0x0007 /* Max Link Width In */ +#define PCI_HT_LCNF_LW_8B 0x0 /* Link Width 8 bits */ +#define PCI_HT_LCNF_LW_16B 0x1 /* Link Width 16 bits */ +#define PCI_HT_LCNF_LW_32B 0x3 /* Link Width 32 bits */ +#define PCI_HT_LCNF_LW_2B 0x4 /* Link Width 2 bits */ +#define PCI_HT_LCNF_LW_4B 0x5 /* Link Width 4 bits */ +#define PCI_HT_LCNF_LW_NC 0x7 /* Link physically not connected */ +#define PCI_HT_LCNF_DFI 0x0008 /* Doubleword Flow Control In */ +#define PCI_HT_LCNF_MLWO 0x0070 /* Max Link Width Out */ +#define PCI_HT_LCNF_DFO 0x0080 /* Doubleword Flow Control Out */ +#define PCI_HT_LCNF_LWI 0x0700 /* Link Width In */ +#define PCI_HT_LCNF_DFIE 0x0800 /* Doubleword Flow Control In Enable */ +#define PCI_HT_LCNF_LWO 0x7000 /* Link Width Out */ +#define PCI_HT_LCNF_DFOE 0x8000 /* Doubleword Flow Control Out Enable */ + + /* Revision ID Register */ +#define PCI_HT_RID_MIN 0x1f /* Minor Revision */ +#define PCI_HT_RID_MAJ 0xe0 /* Major Revision */ + + /* Link Frequency/Error Register */ +#define PCI_HT_LFRER_FREQ 0x0f /* Transmitter Clock Frequency */ +#define PCI_HT_LFRER_200 0x00 /* 200MHz */ +#define PCI_HT_LFRER_300 0x01 /* 300MHz */ +#define PCI_HT_LFRER_400 0x02 /* 400MHz */ +#define PCI_HT_LFRER_500 0x03 /* 500MHz */ +#define PCI_HT_LFRER_600 0x04 /* 600MHz */ +#define PCI_HT_LFRER_800 0x05 /* 800MHz */ +#define PCI_HT_LFRER_1000 0x06 /* 1.0GHz */ +#define PCI_HT_LFRER_1200 0x07 /* 1.2GHz */ +#define PCI_HT_LFRER_1400 0x08 /* 1.4GHz */ +#define PCI_HT_LFRER_1600 0x09 /* 1.6GHz */ +#define PCI_HT_LFRER_VEND 0x0f /* Vendor-Specific */ +#define PCI_HT_LFRER_ERR 0xf0 /* Link Error */ +#define PCI_HT_LFRER_PROT 0x10 /* Protocol Error */ +#define PCI_HT_LFRER_OV 0x20 /* Overflow Error */ +#define PCI_HT_LFRER_EOC 0x40 /* End of Chain Error */ +#define PCI_HT_LFRER_CTLT 0x80 /* CTL Timeout */ + + /* Link Frequency Capability Register */ +#define PCI_HT_LFCAP_200 0x0001 /* 200MHz */ +#define PCI_HT_LFCAP_300 0x0002 /* 300MHz */ +#define PCI_HT_LFCAP_400 0x0004 /* 400MHz */ +#define PCI_HT_LFCAP_500 0x0008 /* 500MHz */ +#define PCI_HT_LFCAP_600 0x0010 /* 600MHz */ +#define PCI_HT_LFCAP_800 0x0020 /* 800MHz */ +#define PCI_HT_LFCAP_1000 0x0040 /* 1.0GHz */ +#define PCI_HT_LFCAP_1200 0x0080 /* 1.2GHz */ +#define PCI_HT_LFCAP_1400 0x0100 /* 1.4GHz */ +#define PCI_HT_LFCAP_1600 0x0200 /* 1.6GHz */ +#define PCI_HT_LFCAP_VEND 0x8000 /* Vendor-Specific */ + + /* Feature Register */ +#define PCI_HT_FTR_ISOCFC 0x0001 /* Isochronous Flow Control Mode */ +#define PCI_HT_FTR_LDTSTOP 0x0002 /* LDTSTOP# Supported */ +#define PCI_HT_FTR_CRCTM 0x0004 /* CRC Test Mode */ +#define PCI_HT_FTR_ECTLT 0x0008 /* Extended CTL Time Required */ +#define PCI_HT_FTR_64BA 0x0010 /* 64-bit Addressing */ +#define PCI_HT_FTR_UIDRD 0x0020 /* UnitID Reorder Disable */ + + /* Error Handling Register */ +#define PCI_HT_EH_PFLE 0x0001 /* Protocol Error Flood Enable */ +#define PCI_HT_EH_OFLE 0x0002 /* Overflow Error Flood Enable */ +#define PCI_HT_EH_PFE 0x0004 /* Protocol Error Fatal Enable */ +#define PCI_HT_EH_OFE 0x0008 /* Overflow Error Fatal Enable */ +#define PCI_HT_EH_EOCFE 0x0010 /* End of Chain Error Fatal Enable */ +#define PCI_HT_EH_RFE 0x0020 /* Response Error Fatal Enable */ +#define PCI_HT_EH_CRCFE 0x0040 /* CRC Error Fatal Enable */ +#define PCI_HT_EH_SERRFE 0x0080 /* System Error Fatal Enable (B */ +#define PCI_HT_EH_CF 0x0100 /* Chain Fail */ +#define PCI_HT_EH_RE 0x0200 /* Response Error */ +#define PCI_HT_EH_PNFE 0x0400 /* Protocol Error Nonfatal Enable */ +#define PCI_HT_EH_ONFE 0x0800 /* Overflow Error Nonfatal Enable */ +#define PCI_HT_EH_EOCNFE 0x1000 /* End of Chain Error Nonfatal Enable */ +#define PCI_HT_EH_RNFE 0x2000 /* Response Error Nonfatal Enable */ +#define PCI_HT_EH_CRCNFE 0x4000 /* CRC Error Nonfatal Enable */ +#define PCI_HT_EH_SERRNFE 0x8000 /* System Error Nonfatal Enable */ + +/* HyperTransport: Slave or Primary Interface */ +#define PCI_HT_PRI_CMD 2 /* Command Register */ +#define PCI_HT_PRI_CMD_BUID 0x001f /* Base UnitID */ +#define PCI_HT_PRI_CMD_UC 0x03e0 /* Unit Count */ +#define PCI_HT_PRI_CMD_MH 0x0400 /* Master Host */ +#define PCI_HT_PRI_CMD_DD 0x0800 /* Default Direction */ +#define PCI_HT_PRI_CMD_DUL 0x1000 /* Drop on Uninitialized Link */ + +#define PCI_HT_PRI_LCTR0 4 /* Link Control 0 Register */ +#define PCI_HT_PRI_LCNF0 6 /* Link Config 0 Register */ +#define PCI_HT_PRI_LCTR1 8 /* Link Control 1 Register */ +#define PCI_HT_PRI_LCNF1 10 /* Link Config 1 Register */ +#define PCI_HT_PRI_RID 12 /* Revision ID Register */ +#define PCI_HT_PRI_LFRER0 13 /* Link Frequency/Error 0 Register */ +#define PCI_HT_PRI_LFCAP0 14 /* Link Frequency Capability 0 Register */ +#define PCI_HT_PRI_FTR 16 /* Feature Register */ +#define PCI_HT_PRI_LFRER1 17 /* Link Frequency/Error 1 Register */ +#define PCI_HT_PRI_LFCAP1 18 /* Link Frequency Capability 1 Register */ +#define PCI_HT_PRI_ES 20 /* Enumeration Scratchpad Register */ +#define PCI_HT_PRI_EH 22 /* Error Handling Register */ +#define PCI_HT_PRI_MBU 24 /* Memory Base Upper Register */ +#define PCI_HT_PRI_MLU 25 /* Memory Limit Upper Register */ +#define PCI_HT_PRI_BN 26 /* Bus Number Register */ +#define PCI_HT_PRI_SIZEOF 28 + +/* HyperTransport: Host or Secondary Interface */ +#define PCI_HT_SEC_CMD 2 /* Command Register */ +#define PCI_HT_SEC_CMD_WR 0x0001 /* Warm Reset */ +#define PCI_HT_SEC_CMD_DE 0x0002 /* Double-Ended */ +#define PCI_HT_SEC_CMD_DN 0x0076 /* Device Number */ +#define PCI_HT_SEC_CMD_CS 0x0080 /* Chain Side */ +#define PCI_HT_SEC_CMD_HH 0x0100 /* Host Hide */ +#define PCI_HT_SEC_CMD_AS 0x0400 /* Act as Slave */ +#define PCI_HT_SEC_CMD_HIECE 0x0800 /* Host Inbound End of Chain Error */ +#define PCI_HT_SEC_CMD_DUL 0x1000 /* Drop on Uninitialized Link */ + +#define PCI_HT_SEC_LCTR 4 /* Link Control Register */ +#define PCI_HT_SEC_LCNF 6 /* Link Config Register */ +#define PCI_HT_SEC_RID 8 /* Revision ID Register */ +#define PCI_HT_SEC_LFRER 9 /* Link Frequency/Error Register */ +#define PCI_HT_SEC_LFCAP 10 /* Link Frequency Capability Register */ +#define PCI_HT_SEC_FTR 12 /* Feature Register */ +#define PCI_HT_SEC_FTR_EXTRS 0x0100 /* Extended Register Set */ +#define PCI_HT_SEC_FTR_UCNFE 0x0200 /* Upstream Configuration Enable */ +#define PCI_HT_SEC_ES 16 /* Enumeration Scratchpad Register */ +#define PCI_HT_SEC_EH 18 /* Error Handling Register */ +#define PCI_HT_SEC_MBU 20 /* Memory Base Upper Register */ +#define PCI_HT_SEC_MLU 21 /* Memory Limit Upper Register */ +#define PCI_HT_SEC_SIZEOF 24 + +/* HyperTransport: Switch */ +#define PCI_HT_SW_CMD 2 /* Switch Command Register */ +#define PCI_HT_SW_CMD_VIBERR 0x0080 /* VIB Error */ +#define PCI_HT_SW_CMD_VIBFL 0x0100 /* VIB Flood */ +#define PCI_HT_SW_CMD_VIBFT 0x0200 /* VIB Fatal */ +#define PCI_HT_SW_CMD_VIBNFT 0x0400 /* VIB Nonfatal */ +#define PCI_HT_SW_PMASK 4 /* Partition Mask Register */ +#define PCI_HT_SW_SWINF 8 /* Switch Info Register */ +#define PCI_HT_SW_SWINF_DP 0x0000001f /* Default Port */ +#define PCI_HT_SW_SWINF_EN 0x00000020 /* Enable Decode */ +#define PCI_HT_SW_SWINF_CR 0x00000040 /* Cold Reset */ +#define PCI_HT_SW_SWINF_PCIDX 0x00000f00 /* Performance Counter Index */ +#define PCI_HT_SW_SWINF_BLRIDX 0x0003f000 /* Base/Limit Range Index */ +#define PCI_HT_SW_SWINF_SBIDX 0x00002000 /* Secondary Base Range Index */ +#define PCI_HT_SW_SWINF_HP 0x00040000 /* Hot Plug */ +#define PCI_HT_SW_SWINF_HIDE 0x00080000 /* Hide Port */ +#define PCI_HT_SW_PCD 12 /* Performance Counter Data Register */ +#define PCI_HT_SW_BLRD 16 /* Base/Limit Range Data Register */ +#define PCI_HT_SW_SBD 20 /* Secondary Base Data Register */ +#define PCI_HT_SW_SIZEOF 24 + + /* Counter indices */ +#define PCI_HT_SW_PC_PCR 0x0 /* Posted Command Receive */ +#define PCI_HT_SW_PC_NPCR 0x1 /* Nonposted Command Receive */ +#define PCI_HT_SW_PC_RCR 0x2 /* Response Command Receive */ +#define PCI_HT_SW_PC_PDWR 0x3 /* Posted DW Receive */ +#define PCI_HT_SW_PC_NPDWR 0x4 /* Nonposted DW Receive */ +#define PCI_HT_SW_PC_RDWR 0x5 /* Response DW Receive */ +#define PCI_HT_SW_PC_PCT 0x6 /* Posted Command Transmit */ +#define PCI_HT_SW_PC_NPCT 0x7 /* Nonposted Command Transmit */ +#define PCI_HT_SW_PC_RCT 0x8 /* Response Command Transmit */ +#define PCI_HT_SW_PC_PDWT 0x9 /* Posted DW Transmit */ +#define PCI_HT_SW_PC_NPDWT 0xa /* Nonposted DW Transmit */ +#define PCI_HT_SW_PC_RDWT 0xb /* Response DW Transmit */ + + /* Base/Limit Range indices */ +#define PCI_HT_SW_BLR_BASE0_LO 0x0 /* Base 0[31:1], Enable */ +#define PCI_HT_SW_BLR_BASE0_HI 0x1 /* Base 0 Upper */ +#define PCI_HT_SW_BLR_LIM0_LO 0x2 /* Limit 0 Lower */ +#define PCI_HT_SW_BLR_LIM0_HI 0x3 /* Limit 0 Upper */ + + /* Secondary Base indices */ +#define PCI_HT_SW_SB_LO 0x0 /* Secondary Base[31:1], Enable */ +#define PCI_HT_SW_S0_HI 0x1 /* Secondary Base Upper */ + +/* HyperTransport: Interrupt Discovery and Configuration */ +#define PCI_HT_IDC_IDX 2 /* Index Register */ +#define PCI_HT_IDC_DATA 4 /* Data Register */ +#define PCI_HT_IDC_SIZEOF 8 + + /* Register indices */ +#define PCI_HT_IDC_IDX_LINT 0x01 /* Last Interrupt Register */ +#define PCI_HT_IDC_LINT 0x00ff0000 /* Last interrupt definition */ +#define PCI_HT_IDC_IDX_IDR 0x10 /* Interrupt Definition Registers */ + /* Low part (at index) */ +#define PCI_HT_IDC_IDR_MASK 0x10000001 /* Mask */ +#define PCI_HT_IDC_IDR_POL 0x10000002 /* Polarity */ +#define PCI_HT_IDC_IDR_II_2 0x1000001c /* IntrInfo[4:2]: Message Type */ +#define PCI_HT_IDC_IDR_II_5 0x10000020 /* IntrInfo[5]: Request EOI */ +#define PCI_HT_IDC_IDR_II_6 0x00ffffc0 /* IntrInfo[23:6] */ +#define PCI_HT_IDC_IDR_II_24 0xff000000 /* IntrInfo[31:24] */ + /* High part (at index + 1) */ +#define PCI_HT_IDC_IDR_II_32 0x00ffffff /* IntrInfo[55:32] */ +#define PCI_HT_IDC_IDR_PASSPW 0x40000000 /* PassPW setting for messages */ +#define PCI_HT_IDC_IDR_WEOI 0x80000000 /* Waiting for EOI */ + +/* HyperTransport: Revision ID */ +#define PCI_HT_RID_RID 2 /* Revision Register */ +#define PCI_HT_RID_SIZEOF 4 + +/* HyperTransport: UnitID Clumping */ +#define PCI_HT_UIDC_CS 4 /* Clumping Support Register */ +#define PCI_HT_UIDC_CE 8 /* Clumping Enable Register */ +#define PCI_HT_UIDC_SIZEOF 12 + +/* HyperTransport: Extended Configuration Space Access */ +#define PCI_HT_ECSA_ADDR 4 /* Configuration Address Register */ +#define PCI_HT_ECSA_ADDR_REG 0x00000ffc /* Register */ +#define PCI_HT_ECSA_ADDR_FUN 0x00007000 /* Function */ +#define PCI_HT_ECSA_ADDR_DEV 0x000f1000 /* Device */ +#define PCI_HT_ECSA_ADDR_BUS 0x0ff00000 /* Bus Number */ +#define PCI_HT_ECSA_ADDR_TYPE 0x10000000 /* Access Type */ +#define PCI_HT_ECSA_DATA 8 /* Configuration Data Register */ +#define PCI_HT_ECSA_SIZEOF 12 + +/* HyperTransport: Address Mapping */ +#define PCI_HT_AM_CMD 2 /* Command Register */ +#define PCI_HT_AM_CMD_NDMA 0x000f /* Number of DMA Mappings */ +#define PCI_HT_AM_CMD_IOSIZ 0x01f0 /* I/O Size */ +#define PCI_HT_AM_CMD_MT 0x0600 /* Map Type */ +#define PCI_HT_AM_CMD_MT_40B 0x0000 /* 40-bit */ +#define PCI_HT_AM_CMD_MT_64B 0x0200 /* 64-bit */ + + /* Window Control Register bits */ +#define PCI_HT_AM_SBW_CTR_COMP 0x1 /* Compat */ +#define PCI_HT_AM_SBW_CTR_NCOH 0x2 /* NonCoherent */ +#define PCI_HT_AM_SBW_CTR_ISOC 0x4 /* Isochronous */ +#define PCI_HT_AM_SBW_CTR_EN 0x8 /* Enable */ + +/* HyperTransport: 40-bit Address Mapping */ +#define PCI_HT_AM40_SBNPW 4 /* Secondary Bus Non-Prefetchable Window Register */ +#define PCI_HT_AM40_SBW_BASE 0x000fffff /* Window Base */ +#define PCI_HT_AM40_SBW_CTR 0xf0000000 /* Window Control */ +#define PCI_HT_AM40_SBPW 8 /* Secondary Bus Prefetchable Window Register */ +#define PCI_HT_AM40_DMA_PBASE0 12 /* DMA Window Primary Base 0 Register */ +#define PCI_HT_AM40_DMA_CTR0 15 /* DMA Window Control 0 Register */ +#define PCI_HT_AM40_DMA_CTR_CTR 0xf0 /* Window Control */ +#define PCI_HT_AM40_DMA_SLIM0 16 /* DMA Window Secondary Limit 0 Register */ +#define PCI_HT_AM40_DMA_SBASE0 18 /* DMA Window Secondary Base 0 Register */ +#define PCI_HT_AM40_SIZEOF 12 /* size is variable: 12 + 8 * NDMA */ + +/* HyperTransport: 64-bit Address Mapping */ +#define PCI_HT_AM64_IDX 4 /* Index Register */ +#define PCI_HT_AM64_DATA_LO 8 /* Data Lower Register */ +#define PCI_HT_AM64_DATA_HI 12 /* Data Upper Register */ +#define PCI_HT_AM64_SIZEOF 16 + + /* Register indices */ +#define PCI_HT_AM64_IDX_SBNPW 0x00 /* Secondary Bus Non-Prefetchable Window Register */ +#define PCI_HT_AM64_W_BASE_LO 0xfff00000 /* Window Base Lower */ +#define PCI_HT_AM64_W_CTR 0x0000000f /* Window Control */ +#define PCI_HT_AM64_IDX_SBPW 0x01 /* Secondary Bus Prefetchable Window Register */ +#define PCI_HT_AM64_IDX_PBNPW 0x02 /* Primary Bus Non-Prefetchable Window Register */ +#define PCI_HT_AM64_IDX_DMAPB0 0x04 /* DMA Window Primary Base 0 Register */ +#define PCI_HT_AM64_IDX_DMASB0 0x05 /* DMA Window Secondary Base 0 Register */ +#define PCI_HT_AM64_IDX_DMASL0 0x06 /* DMA Window Secondary Limit 0 Register */ + +/* HyperTransport: MSI Mapping */ +#define PCI_HT_MSIM_CMD 2 /* Command Register */ +#define PCI_HT_MSIM_CMD_EN 0x0001 /* Mapping Active */ +#define PCI_HT_MSIM_CMD_FIXD 0x0002 /* MSI Mapping Address Fixed */ +#define PCI_HT_MSIM_ADDR_LO 4 /* MSI Mapping Address Lower Register */ +#define PCI_HT_MSIM_ADDR_HI 8 /* MSI Mapping Address Upper Register */ +#define PCI_HT_MSIM_SIZEOF 12 + +/* HyperTransport: DirectRoute */ +#define PCI_HT_DR_CMD 2 /* Command Register */ +#define PCI_HT_DR_CMD_NDRS 0x000f /* Number of DirectRoute Spaces */ +#define PCI_HT_DR_CMD_IDX 0x01f0 /* Index */ +#define PCI_HT_DR_EN 4 /* Enable Vector Register */ +#define PCI_HT_DR_DATA 8 /* Data Register */ +#define PCI_HT_DR_SIZEOF 12 + + /* Register indices */ +#define PCI_HT_DR_IDX_BASE_LO 0x00 /* DirectRoute Base Lower Register */ +#define PCI_HT_DR_OTNRD 0x00000001 /* Opposite to Normal Request Direction */ +#define PCI_HT_DR_BL_LO 0xffffff00 /* Base/Limit Lower */ +#define PCI_HT_DR_IDX_BASE_HI 0x01 /* DirectRoute Base Upper Register */ +#define PCI_HT_DR_IDX_LIMIT_LO 0x02 /* DirectRoute Limit Lower Register */ +#define PCI_HT_DR_IDX_LIMIT_HI 0x03 /* DirectRoute Limit Upper Register */ + +/* HyperTransport: VCSet */ +#define PCI_HT_VCS_SUP 4 /* VCSets Supported Register */ +#define PCI_HT_VCS_L1EN 5 /* Link 1 VCSets Enabled Register */ +#define PCI_HT_VCS_L0EN 6 /* Link 0 VCSets Enabled Register */ +#define PCI_HT_VCS_SBD 8 /* Stream Bucket Depth Register */ +#define PCI_HT_VCS_SINT 9 /* Stream Interval Register */ +#define PCI_HT_VCS_SSUP 10 /* Number of Streaming VCs Supported Register */ +#define PCI_HT_VCS_SSUP_0 0x00 /* Streaming VC 0 */ +#define PCI_HT_VCS_SSUP_3 0x01 /* Streaming VCs 0-3 */ +#define PCI_HT_VCS_SSUP_15 0x02 /* Streaming VCs 0-15 */ +#define PCI_HT_VCS_NFCBD 12 /* Non-FC Bucket Depth Register */ +#define PCI_HT_VCS_NFCINT 13 /* Non-FC Bucket Interval Register */ +#define PCI_HT_VCS_SIZEOF 16 + +/* HyperTransport: Retry Mode */ +#define PCI_HT_RM_CTR0 4 /* Control 0 Register */ +#define PCI_HT_RM_CTR_LRETEN 0x01 /* Link Retry Enable */ +#define PCI_HT_RM_CTR_FSER 0x02 /* Force Single Error */ +#define PCI_HT_RM_CTR_ROLNEN 0x04 /* Rollover Nonfatal Enable */ +#define PCI_HT_RM_CTR_FSS 0x08 /* Force Single Stomp */ +#define PCI_HT_RM_CTR_RETNEN 0x10 /* Retry Nonfatal Enable */ +#define PCI_HT_RM_CTR_RETFEN 0x20 /* Retry Fatal Enable */ +#define PCI_HT_RM_CTR_AA 0xc0 /* Allowed Attempts */ +#define PCI_HT_RM_STS0 5 /* Status 0 Register */ +#define PCI_HT_RM_STS_RETSNT 0x01 /* Retry Sent */ +#define PCI_HT_RM_STS_CNTROL 0x02 /* Count Rollover */ +#define PCI_HT_RM_STS_SRCV 0x04 /* Stomp Received */ +#define PCI_HT_RM_CTR1 6 /* Control 1 Register */ +#define PCI_HT_RM_STS1 7 /* Status 1 Register */ +#define PCI_HT_RM_CNT0 8 /* Retry Count 0 Register */ +#define PCI_HT_RM_CNT1 10 /* Retry Count 1 Register */ +#define PCI_HT_RM_SIZEOF 12 + +/* PCI Express */ +#define PCI_EXP_FLAGS 0x2 /* Capabilities register */ +#define PCI_EXP_FLAGS_VERS 0x000f /* Capability version */ +#define PCI_EXP_FLAGS_TYPE 0x00f0 /* Device/Port type */ +#define PCI_EXP_TYPE_ENDPOINT 0x0 /* Express Endpoint */ +#define PCI_EXP_TYPE_LEG_END 0x1 /* Legacy Endpoint */ +#define PCI_EXP_TYPE_ROOT_PORT 0x4 /* Root Port */ +#define PCI_EXP_TYPE_UPSTREAM 0x5 /* Upstream Port */ +#define PCI_EXP_TYPE_DOWNSTREAM 0x6 /* Downstream Port */ +#define PCI_EXP_TYPE_PCI_BRIDGE 0x7 /* PCI/PCI-X Bridge */ +#define PCI_EXP_TYPE_PCIE_BRIDGE 0x8 /* PCI/PCI-X to PCIE Bridge */ +#define PCI_EXP_TYPE_ROOT_INT_EP 0x9 /* Root Complex Integrated Endpoint */ +#define PCI_EXP_TYPE_ROOT_EC 0xa /* Root Complex Event Collector */ +#define PCI_EXP_FLAGS_SLOT 0x0100 /* Slot implemented */ +#define PCI_EXP_FLAGS_IRQ 0x3e00 /* Interrupt message number */ +#define PCI_EXP_DEVCAP 0x4 /* Device capabilities */ +#define PCI_EXP_DEVCAP_PAYLOAD 0x07 /* Max_Payload_Size */ +#define PCI_EXP_DEVCAP_PHANTOM 0x18 /* Phantom functions */ +#define PCI_EXP_DEVCAP_EXT_TAG 0x20 /* Extended tags */ +#define PCI_EXP_DEVCAP_L0S 0x1c0 /* L0s Acceptable Latency */ +#define PCI_EXP_DEVCAP_L1 0xe00 /* L1 Acceptable Latency */ +#define PCI_EXP_DEVCAP_ATN_BUT 0x1000 /* Attention Button Present */ +#define PCI_EXP_DEVCAP_ATN_IND 0x2000 /* Attention Indicator Present */ +#define PCI_EXP_DEVCAP_PWR_IND 0x4000 /* Power Indicator Present */ +#define PCI_EXP_DEVCAP_RBE 0x8000 /* Role-Based Error Reporting */ +#define PCI_EXP_DEVCAP_PWR_VAL 0x3fc0000 /* Slot Power Limit Value */ +#define PCI_EXP_DEVCAP_PWR_SCL 0xc000000 /* Slot Power Limit Scale */ +#define PCI_EXP_DEVCAP_FLRESET 0x10000000 /* Function-Level Reset */ +#define PCI_EXP_DEVCTL 0x8 /* Device Control */ +#define PCI_EXP_DEVCTL_CERE 0x0001 /* Correctable Error Reporting En. */ +#define PCI_EXP_DEVCTL_NFERE 0x0002 /* Non-Fatal Error Reporting Enable */ +#define PCI_EXP_DEVCTL_FERE 0x0004 /* Fatal Error Reporting Enable */ +#define PCI_EXP_DEVCTL_URRE 0x0008 /* Unsupported Request Reporting En. */ +#define PCI_EXP_DEVCTL_RELAXED 0x0010 /* Enable Relaxed Ordering */ +#define PCI_EXP_DEVCTL_PAYLOAD 0x00e0 /* Max_Payload_Size */ +#define PCI_EXP_DEVCTL_EXT_TAG 0x0100 /* Extended Tag Field Enable */ +#define PCI_EXP_DEVCTL_PHANTOM 0x0200 /* Phantom Functions Enable */ +#define PCI_EXP_DEVCTL_AUX_PME 0x0400 /* Auxiliary Power PM Enable */ +#define PCI_EXP_DEVCTL_NOSNOOP 0x0800 /* Enable No Snoop */ +#define PCI_EXP_DEVCTL_READRQ 0x7000 /* Max_Read_Request_Size */ +#define PCI_EXP_DEVCTL_BCRE 0x8000 /* Bridge Configuration Retry Enable */ +#define PCI_EXP_DEVCTL_FLRESET 0x8000 /* Function-Level Reset [bit shared with BCRE] */ +#define PCI_EXP_DEVSTA 0xa /* Device Status */ +#define PCI_EXP_DEVSTA_CED 0x01 /* Correctable Error Detected */ +#define PCI_EXP_DEVSTA_NFED 0x02 /* Non-Fatal Error Detected */ +#define PCI_EXP_DEVSTA_FED 0x04 /* Fatal Error Detected */ +#define PCI_EXP_DEVSTA_URD 0x08 /* Unsupported Request Detected */ +#define PCI_EXP_DEVSTA_AUXPD 0x10 /* AUX Power Detected */ +#define PCI_EXP_DEVSTA_TRPND 0x20 /* Transactions Pending */ +#define PCI_EXP_LNKCAP 0xc /* Link Capabilities */ +#define PCI_EXP_LNKCAP_SPEED 0x0000f /* Maximum Link Speed */ +#define PCI_EXP_LNKCAP_WIDTH 0x003f0 /* Maximum Link Width */ +#define PCI_EXP_LNKCAP_ASPM 0x00c00 /* Active State Power Management */ +#define PCI_EXP_LNKCAP_L0S 0x07000 /* L0s Acceptable Latency */ +#define PCI_EXP_LNKCAP_L1 0x38000 /* L1 Acceptable Latency */ +#define PCI_EXP_LNKCAP_CLOCKPM 0x40000 /* Clock Power Management */ +#define PCI_EXP_LNKCAP_SURPRISE 0x80000 /* Surprise Down Error Reporting */ +#define PCI_EXP_LNKCAP_DLLA 0x100000 /* Data Link Layer Active Reporting */ +#define PCI_EXP_LNKCAP_LBNC 0x200000 /* Link Bandwidth Notification Capability */ +#define PCI_EXP_LNKCAP_PORT 0xff000000 /* Port Number */ +#define PCI_EXP_LNKCTL 0x10 /* Link Control */ +#define PCI_EXP_LNKCTL_ASPM 0x0003 /* ASPM Control */ +#define PCI_EXP_LNKCTL_RCB 0x0008 /* Read Completion Boundary */ +#define PCI_EXP_LNKCTL_DISABLE 0x0010 /* Link Disable */ +#define PCI_EXP_LNKCTL_RETRAIN 0x0020 /* Retrain Link */ +#define PCI_EXP_LNKCTL_CLOCK 0x0040 /* Common Clock Configuration */ +#define PCI_EXP_LNKCTL_XSYNCH 0x0080 /* Extended Synch */ +#define PCI_EXP_LNKCTL_CLOCKPM 0x0100 /* Clock Power Management */ +#define PCI_EXP_LNKCTL_HWAUTWD 0x0200 /* Hardware Autonomous Width Disable */ +#define PCI_EXP_LNKCTL_BWMIE 0x0400 /* Bandwidth Mgmt Interrupt Enable */ +#define PCI_EXP_LNKCTL_AUTBWIE 0x0800 /* Autonomous Bandwidth Mgmt Interrupt Enable */ +#define PCI_EXP_LNKSTA 0x12 /* Link Status */ +#define PCI_EXP_LNKSTA_SPEED 0x000f /* Negotiated Link Speed */ +#define PCI_EXP_LNKSTA_WIDTH 0x03f0 /* Negotiated Link Width */ +#define PCI_EXP_LNKSTA_TR_ERR 0x0400 /* Training Error (obsolete) */ +#define PCI_EXP_LNKSTA_TRAIN 0x0800 /* Link Training */ +#define PCI_EXP_LNKSTA_SL_CLK 0x1000 /* Slot Clock Configuration */ +#define PCI_EXP_LNKSTA_DL_ACT 0x2000 /* Data Link Layer in DL_Active State */ +#define PCI_EXP_LNKSTA_BWMGMT 0x4000 /* Bandwidth Mgmt Status */ +#define PCI_EXP_LNKSTA_AUTBW 0x8000 /* Autonomous Bandwidth Mgmt Status */ +#define PCI_EXP_SLTCAP 0x14 /* Slot Capabilities */ +#define PCI_EXP_SLTCAP_ATNB 0x0001 /* Attention Button Present */ +#define PCI_EXP_SLTCAP_PWRC 0x0002 /* Power Controller Present */ +#define PCI_EXP_SLTCAP_MRL 0x0004 /* MRL Sensor Present */ +#define PCI_EXP_SLTCAP_ATNI 0x0008 /* Attention Indicator Present */ +#define PCI_EXP_SLTCAP_PWRI 0x0010 /* Power Indicator Present */ +#define PCI_EXP_SLTCAP_HPS 0x0020 /* Hot-Plug Surprise */ +#define PCI_EXP_SLTCAP_HPC 0x0040 /* Hot-Plug Capable */ +#define PCI_EXP_SLTCAP_PWR_VAL 0x00007f80 /* Slot Power Limit Value */ +#define PCI_EXP_SLTCAP_PWR_SCL 0x00018000 /* Slot Power Limit Scale */ +#define PCI_EXP_SLTCAP_INTERLOCK 0x020000 /* Electromechanical Interlock Present */ +#define PCI_EXP_SLTCAP_NOCMDCOMP 0x040000 /* No Command Completed Support */ +#define PCI_EXP_SLTCAP_PSN 0xfff80000 /* Physical Slot Number */ +#define PCI_EXP_SLTCTL 0x18 /* Slot Control */ +#define PCI_EXP_SLTCTL_ATNB 0x0001 /* Attention Button Pressed Enable */ +#define PCI_EXP_SLTCTL_PWRF 0x0002 /* Power Fault Detected Enable */ +#define PCI_EXP_SLTCTL_MRLS 0x0004 /* MRL Sensor Changed Enable */ +#define PCI_EXP_SLTCTL_PRSD 0x0008 /* Presence Detect Changed Enable */ +#define PCI_EXP_SLTCTL_CMDC 0x0010 /* Command Completed Interrupt Enable */ +#define PCI_EXP_SLTCTL_HPIE 0x0020 /* Hot-Plug Interrupt Enable */ +#define PCI_EXP_SLTCTL_ATNI 0x00c0 /* Attention Indicator Control */ +#define PCI_EXP_SLTCTL_PWRI 0x0300 /* Power Indicator Control */ +#define PCI_EXP_SLTCTL_PWRC 0x0400 /* Power Controller Control */ +#define PCI_EXP_SLTCTL_INTERLOCK 0x0800 /* Electromechanical Interlock Control */ +#define PCI_EXP_SLTCTL_LLCHG 0x1000 /* Data Link Layer State Changed Enable */ +#define PCI_EXP_SLTSTA 0x1a /* Slot Status */ +#define PCI_EXP_SLTSTA_ATNB 0x0001 /* Attention Button Pressed */ +#define PCI_EXP_SLTSTA_PWRF 0x0002 /* Power Fault Detected */ +#define PCI_EXP_SLTSTA_MRLS 0x0004 /* MRL Sensor Changed */ +#define PCI_EXP_SLTSTA_PRSD 0x0008 /* Presence Detect Changed */ +#define PCI_EXP_SLTSTA_CMDC 0x0010 /* Command Completed */ +#define PCI_EXP_SLTSTA_MRL_ST 0x0020 /* MRL Sensor State */ +#define PCI_EXP_SLTSTA_PRES 0x0040 /* Presence Detect State */ +#define PCI_EXP_SLTSTA_INTERLOCK 0x0080 /* Electromechanical Interlock Status */ +#define PCI_EXP_SLTSTA_LLCHG 0x0100 /* Data Link Layer State Changed */ +#define PCI_EXP_RTCTL 0x1c /* Root Control */ +#define PCI_EXP_RTCTL_SECEE 0x0001 /* System Error on Correctable Error */ +#define PCI_EXP_RTCTL_SENFEE 0x0002 /* System Error on Non-Fatal Error */ +#define PCI_EXP_RTCTL_SEFEE 0x0004 /* System Error on Fatal Error */ +#define PCI_EXP_RTCTL_PMEIE 0x0008 /* PME Interrupt Enable */ +#define PCI_EXP_RTCTL_CRSVIS 0x0010 /* Configuration Request Retry Status Visible to SW */ +#define PCI_EXP_RTCAP 0x1e /* Root Capabilities */ +#define PCI_EXP_RTCAP_CRSVIS 0x0010 /* Configuration Request Retry Status Visible to SW */ +#define PCI_EXP_RTSTA 0x20 /* Root Status */ +#define PCI_EXP_RTSTA_PME_REQID 0x0000ffff /* PME Requester ID */ +#define PCI_EXP_RTSTA_PME_STATUS 0x00010000 /* PME Status */ +#define PCI_EXP_RTSTA_PME_PENDING 0x00020000 /* PME is Pending */ + +/* MSI-X */ +#define PCI_MSIX_ENABLE 0x8000 +#define PCI_MSIX_MASK 0x4000 +#define PCI_MSIX_TABSIZE 0x03ff +#define PCI_MSIX_TABLE 4 +#define PCI_MSIX_PBA 8 +#define PCI_MSIX_BIR 0x7 + +/* Subsystem vendor/device ID for PCI bridges */ +#define PCI_SSVID_VENDOR 4 +#define PCI_SSVID_DEVICE 6 + +/* Advanced Error Reporting */ +#define PCI_ERR_UNCOR_STATUS 4 /* Uncorrectable Error Status */ +#define PCI_ERR_UNC_TRAIN 0x00000001 /* Training */ +#define PCI_ERR_UNC_DLP 0x00000010 /* Data Link Protocol */ +#define PCI_ERR_UNC_POISON_TLP 0x00001000 /* Poisoned TLP */ +#define PCI_ERR_UNC_FCP 0x00002000 /* Flow Control Protocol */ +#define PCI_ERR_UNC_COMP_TIME 0x00004000 /* Completion Timeout */ +#define PCI_ERR_UNC_COMP_ABORT 0x00008000 /* Completer Abort */ +#define PCI_ERR_UNC_UNX_COMP 0x00010000 /* Unexpected Completion */ +#define PCI_ERR_UNC_RX_OVER 0x00020000 /* Receiver Overflow */ +#define PCI_ERR_UNC_MALF_TLP 0x00040000 /* Malformed TLP */ +#define PCI_ERR_UNC_ECRC 0x00080000 /* ECRC Error Status */ +#define PCI_ERR_UNC_UNSUP 0x00100000 /* Unsupported Request */ +#define PCI_ERR_UNCOR_MASK 8 /* Uncorrectable Error Mask */ + /* Same bits as above */ +#define PCI_ERR_UNCOR_SEVER 12 /* Uncorrectable Error Severity */ + /* Same bits as above */ +#define PCI_ERR_COR_STATUS 16 /* Correctable Error Status */ +#define PCI_ERR_COR_RCVR 0x00000001 /* Receiver Error Status */ +#define PCI_ERR_COR_BAD_TLP 0x00000040 /* Bad TLP Status */ +#define PCI_ERR_COR_BAD_DLLP 0x00000080 /* Bad DLLP Status */ +#define PCI_ERR_COR_REP_ROLL 0x00000100 /* REPLAY_NUM Rollover */ +#define PCI_ERR_COR_REP_TIMER 0x00001000 /* Replay Timer Timeout */ +#define PCI_ERR_COR_MASK 20 /* Correctable Error Mask */ + /* Same bits as above */ +#define PCI_ERR_CAP 24 /* Advanced Error Capabilities */ +#define PCI_ERR_CAP_FEP(x) ((x) & 31) /* First Error Pointer */ +#define PCI_ERR_CAP_ECRC_GENC 0x00000020 /* ECRC Generation Capable */ +#define PCI_ERR_CAP_ECRC_GENE 0x00000040 /* ECRC Generation Enable */ +#define PCI_ERR_CAP_ECRC_CHKC 0x00000080 /* ECRC Check Capable */ +#define PCI_ERR_CAP_ECRC_CHKE 0x00000100 /* ECRC Check Enable */ +#define PCI_ERR_HEADER_LOG 28 /* Header Log Register (16 bytes) */ +#define PCI_ERR_ROOT_COMMAND 44 /* Root Error Command */ +#define PCI_ERR_ROOT_STATUS 48 +#define PCI_ERR_ROOT_COR_SRC 52 +#define PCI_ERR_ROOT_SRC 54 + +/* Virtual Channel */ +#define PCI_VC_PORT_REG1 4 +#define PCI_VC_PORT_REG2 8 +#define PCI_VC_PORT_CTRL 12 +#define PCI_VC_PORT_STATUS 14 +#define PCI_VC_RES_CAP 16 +#define PCI_VC_RES_CTRL 20 +#define PCI_VC_RES_STATUS 26 + +/* Power Budgeting */ +#define PCI_PWR_DSR 4 /* Data Select Register */ +#define PCI_PWR_DATA 8 /* Data Register */ +#define PCI_PWR_DATA_BASE(x) ((x) & 0xff) /* Base Power */ +#define PCI_PWR_DATA_SCALE(x) (((x) >> 8) & 3) /* Data Scale */ +#define PCI_PWR_DATA_PM_SUB(x) (((x) >> 10) & 7) /* PM Sub State */ +#define PCI_PWR_DATA_PM_STATE(x) (((x) >> 13) & 3) /* PM State */ +#define PCI_PWR_DATA_TYPE(x) (((x) >> 15) & 7) /* Type */ +#define PCI_PWR_DATA_RAIL(x) (((x) >> 18) & 7) /* Power Rail */ +#define PCI_PWR_CAP 12 /* Capability */ +#define PCI_PWR_CAP_BUDGET(x) ((x) & 1) /* Included in system budget */ + +/* + * The PCI interface treats multi-function devices as independent + * devices. The slot/function address of each device is encoded + * in a single byte as follows: + * + * 7:3 = slot + * 2:0 = function + */ +#define PCI_DEVFN(slot,func) ((((slot) & 0x1f) << 3) | ((func) & 0x07)) +#define PCI_SLOT(devfn) (((devfn) >> 3) & 0x1f) +#define PCI_FUNC(devfn) ((devfn) & 0x07) + +/* Device classes and subclasses */ + +#define PCI_CLASS_NOT_DEFINED 0x0000 +#define PCI_CLASS_NOT_DEFINED_VGA 0x0001 + +#define PCI_BASE_CLASS_STORAGE 0x01 +#define PCI_CLASS_STORAGE_SCSI 0x0100 +#define PCI_CLASS_STORAGE_IDE 0x0101 +#define PCI_CLASS_STORAGE_FLOPPY 0x0102 +#define PCI_CLASS_STORAGE_IPI 0x0103 +#define PCI_CLASS_STORAGE_RAID 0x0104 +#define PCI_CLASS_STORAGE_ATA 0x0105 +#define PCI_CLASS_STORAGE_SATA 0x0106 +#define PCI_CLASS_STORAGE_SAS 0x0107 +#define PCI_CLASS_STORAGE_OTHER 0x0180 + +#define PCI_BASE_CLASS_NETWORK 0x02 +#define PCI_CLASS_NETWORK_ETHERNET 0x0200 +#define PCI_CLASS_NETWORK_TOKEN_RING 0x0201 +#define PCI_CLASS_NETWORK_FDDI 0x0202 +#define PCI_CLASS_NETWORK_ATM 0x0203 +#define PCI_CLASS_NETWORK_ISDN 0x0204 +#define PCI_CLASS_NETWORK_OTHER 0x0280 + +#define PCI_BASE_CLASS_DISPLAY 0x03 +#define PCI_CLASS_DISPLAY_VGA 0x0300 +#define PCI_CLASS_DISPLAY_XGA 0x0301 +#define PCI_CLASS_DISPLAY_3D 0x0302 +#define PCI_CLASS_DISPLAY_OTHER 0x0380 + +#define PCI_BASE_CLASS_MULTIMEDIA 0x04 +#define PCI_CLASS_MULTIMEDIA_VIDEO 0x0400 +#define PCI_CLASS_MULTIMEDIA_AUDIO 0x0401 +#define PCI_CLASS_MULTIMEDIA_PHONE 0x0402 +#define PCI_CLASS_MULTIMEDIA_AUDIO_DEV 0x0403 +#define PCI_CLASS_MULTIMEDIA_OTHER 0x0480 + +#define PCI_BASE_CLASS_MEMORY 0x05 +#define PCI_CLASS_MEMORY_RAM 0x0500 +#define PCI_CLASS_MEMORY_FLASH 0x0501 +#define PCI_CLASS_MEMORY_OTHER 0x0580 + +#define PCI_BASE_CLASS_BRIDGE 0x06 +#define PCI_CLASS_BRIDGE_HOST 0x0600 +#define PCI_CLASS_BRIDGE_ISA 0x0601 +#define PCI_CLASS_BRIDGE_EISA 0x0602 +#define PCI_CLASS_BRIDGE_MC 0x0603 +#define PCI_CLASS_BRIDGE_PCI 0x0604 +#define PCI_CLASS_BRIDGE_PCMCIA 0x0605 +#define PCI_CLASS_BRIDGE_NUBUS 0x0606 +#define PCI_CLASS_BRIDGE_CARDBUS 0x0607 +#define PCI_CLASS_BRIDGE_RACEWAY 0x0608 +#define PCI_CLASS_BRIDGE_PCI_SEMI 0x0609 +#define PCI_CLASS_BRIDGE_IB_TO_PCI 0x060a +#define PCI_CLASS_BRIDGE_OTHER 0x0680 + +#define PCI_BASE_CLASS_COMMUNICATION 0x07 +#define PCI_CLASS_COMMUNICATION_SERIAL 0x0700 +#define PCI_CLASS_COMMUNICATION_PARALLEL 0x0701 +#define PCI_CLASS_COMMUNICATION_MSERIAL 0x0702 +#define PCI_CLASS_COMMUNICATION_MODEM 0x0703 +#define PCI_CLASS_COMMUNICATION_OTHER 0x0780 + +#define PCI_BASE_CLASS_SYSTEM 0x08 +#define PCI_CLASS_SYSTEM_PIC 0x0800 +#define PCI_CLASS_SYSTEM_DMA 0x0801 +#define PCI_CLASS_SYSTEM_TIMER 0x0802 +#define PCI_CLASS_SYSTEM_RTC 0x0803 +#define PCI_CLASS_SYSTEM_PCI_HOTPLUG 0x0804 +#define PCI_CLASS_SYSTEM_OTHER 0x0880 + +#define PCI_BASE_CLASS_INPUT 0x09 +#define PCI_CLASS_INPUT_KEYBOARD 0x0900 +#define PCI_CLASS_INPUT_PEN 0x0901 +#define PCI_CLASS_INPUT_MOUSE 0x0902 +#define PCI_CLASS_INPUT_SCANNER 0x0903 +#define PCI_CLASS_INPUT_GAMEPORT 0x0904 +#define PCI_CLASS_INPUT_OTHER 0x0980 + +#define PCI_BASE_CLASS_DOCKING 0x0a +#define PCI_CLASS_DOCKING_GENERIC 0x0a00 +#define PCI_CLASS_DOCKING_OTHER 0x0a80 + +#define PCI_BASE_CLASS_PROCESSOR 0x0b +#define PCI_CLASS_PROCESSOR_386 0x0b00 +#define PCI_CLASS_PROCESSOR_486 0x0b01 +#define PCI_CLASS_PROCESSOR_PENTIUM 0x0b02 +#define PCI_CLASS_PROCESSOR_ALPHA 0x0b10 +#define PCI_CLASS_PROCESSOR_POWERPC 0x0b20 +#define PCI_CLASS_PROCESSOR_MIPS 0x0b30 +#define PCI_CLASS_PROCESSOR_CO 0x0b40 + +#define PCI_BASE_CLASS_SERIAL 0x0c +#define PCI_CLASS_SERIAL_FIREWIRE 0x0c00 +#define PCI_CLASS_SERIAL_ACCESS 0x0c01 +#define PCI_CLASS_SERIAL_SSA 0x0c02 +#define PCI_CLASS_SERIAL_USB 0x0c03 +#define PCI_CLASS_SERIAL_FIBER 0x0c04 +#define PCI_CLASS_SERIAL_SMBUS 0x0c05 +#define PCI_CLASS_SERIAL_INFINIBAND 0x0c06 + +#define PCI_BASE_CLASS_WIRELESS 0x0d +#define PCI_CLASS_WIRELESS_IRDA 0x0d00 +#define PCI_CLASS_WIRELESS_CONSUMER_IR 0x0d01 +#define PCI_CLASS_WIRELESS_RF 0x0d10 +#define PCI_CLASS_WIRELESS_OTHER 0x0d80 + +#define PCI_BASE_CLASS_INTELLIGENT 0x0e +#define PCI_CLASS_INTELLIGENT_I2O 0x0e00 + +#define PCI_BASE_CLASS_SATELLITE 0x0f +#define PCI_CLASS_SATELLITE_TV 0x0f00 +#define PCI_CLASS_SATELLITE_AUDIO 0x0f01 +#define PCI_CLASS_SATELLITE_VOICE 0x0f03 +#define PCI_CLASS_SATELLITE_DATA 0x0f04 + +#define PCI_BASE_CLASS_CRYPT 0x10 +#define PCI_CLASS_CRYPT_NETWORK 0x1000 +#define PCI_CLASS_CRYPT_ENTERTAINMENT 0x1010 +#define PCI_CLASS_CRYPT_OTHER 0x1080 + +#define PCI_BASE_CLASS_SIGNAL 0x11 +#define PCI_CLASS_SIGNAL_DPIO 0x1100 +#define PCI_CLASS_SIGNAL_PERF_CTR 0x1101 +#define PCI_CLASS_SIGNAL_SYNCHRONIZER 0x1110 +#define PCI_CLASS_SIGNAL_OTHER 0x1180 + +#define PCI_CLASS_OTHERS 0xff + +/* Several ID's we need in the library */ + +#define PCI_VENDOR_ID_INTEL 0x8086 +#define PCI_VENDOR_ID_COMPAQ 0x0e11 diff --git a/lib/i386-io-hurd.h b/lib/i386-io-hurd.h new file mode 100644 index 0000000..b61d656 --- /dev/null +++ b/lib/i386-io-hurd.h @@ -0,0 +1,27 @@ +/* + * The PCI Library -- Access to i386 I/O ports on GNU Hurd + * + * Copyright (c) 2003 Marco Gerards + * Copyright (c) 2003 Martin Mares + * Copyright (c) 2006 Samuel Thibault and + * Thomas Schwinge + * Copyright (c) 2007 Thomas Schwinge + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include + +static inline int +intel_setup_io(struct pci_access *a UNUSED) +{ + return (ioperm (0, 65535, 1) == -1) ? 0 : 1; +} + +static inline int +intel_cleanup_io(struct pci_access *a UNUSED) +{ + ioperm (0, 65535, 0); + + return -1; +} diff --git a/lib/i386-io-linux.h b/lib/i386-io-linux.h new file mode 100644 index 0000000..672897f --- /dev/null +++ b/lib/i386-io-linux.h @@ -0,0 +1,26 @@ +/* + * The PCI Library -- Access to i386 I/O ports on Linux + * + * Copyright (c) 1997--2006 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#ifdef __GLIBC__ +#include +#else +#include +#endif + +static int +intel_setup_io(struct pci_access *a UNUSED) +{ + return (iopl(3) < 0) ? 0 : 1; +} + +static inline int +intel_cleanup_io(struct pci_access *a UNUSED) +{ + iopl(3); + return -1; +} diff --git a/lib/i386-io-sunos.h b/lib/i386-io-sunos.h new file mode 100644 index 0000000..3e08e73 --- /dev/null +++ b/lib/i386-io-sunos.h @@ -0,0 +1,66 @@ +/* + * The PCI Library -- Access to i386 I/O ports on Solaris + * + * Copyright (c) 2003 Bill Moore + * Copyright (c) 2003--2006 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include +#include + +static int +intel_setup_io(struct pci_access *a UNUSED) +{ + return (sysi86(SI86V86, V86SC_IOPL, PS_IOPL) < 0) ? 0 : 1; +} + +static inline int +intel_cleanup_io(struct pci_access *a UNUSED) +{ + /* FIXME: How to switch off I/O port access? */ + return 1; +} + +static inline u8 +inb (u16 port) +{ + u8 v; + __asm__ __volatile__ ("inb (%w1)":"=a" (v):"Nd" (port)); + return v; +} + +static inline u16 +inw (u16 port) +{ + u16 v; + __asm__ __volatile__ ("inw (%w1)":"=a" (v):"Nd" (port)); + return v; +} + +static inline u32 +inl (u16 port) +{ + u32 v; + __asm__ __volatile__ ("inl (%w1)":"=a" (v):"Nd" (port)); + return v; +} + +static inline void +outb (u8 value, u16 port) +{ + __asm__ __volatile__ ("outb (%w1)": :"a" (value), "Nd" (port)); +} + +static inline void +outw (u16 value, u16 port) +{ + __asm__ __volatile__ ("outw (%w1)": :"a" (value), "Nd" (port)); +} + +static inline void +outl (u32 value, u16 port) +{ + __asm__ __volatile__ ("outl (%w1)": :"a" (value), "Nd" (port)); +} diff --git a/lib/i386-io-windows.h b/lib/i386-io-windows.h new file mode 100644 index 0000000..6e3dec0 --- /dev/null +++ b/lib/i386-io-windows.h @@ -0,0 +1,69 @@ +/* + * The PCI Library -- Access to i386 I/O ports on Windows + * + * Copyright (c) 2004 Alexander Stock + * Copyright (c) 2006 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include +#include + +#ifndef __GNUC__ +#include +#else +int _outp(unsigned short port, int databyte); +unsigned short _outpw(unsigned short port, unsigned short dataword); +unsigned long _outpd(unsigned short port, unsigned long dataword); +int _inp(unsigned short port); +unsigned short _inpw(unsigned short port); +unsigned long _inpd(unsigned short port); +#endif + +#define outb(x,y) _outp(y,x) +#define outw(x,y) _outpw(y,x) +#define outl(x,y) _outpd(y,x) + +#define inb(x) _inp(x) +#define inw(x) _inpw(x) +#define inl(x) _inpd(x) + +static int +intel_setup_io(struct pci_access *a) +{ + typedef int (*MYPROC)(void); + MYPROC InitializeWinIo; + HMODULE lib; + + lib = LoadLibrary("WinIo.dll"); + if (!lib) + { + a->warning("i386-io-windows: Couldn't load WinIo.dll."); + return 0; + } + /* XXX: Is this really needed? --mj */ + GetProcAddress(lib, "InitializeWinIo"); + + InitializeWinIo = (MYPROC) GetProcAddress(lib, "InitializeWinIo"); + if (!InitializeWinIo) + { + a->warning("i386-io-windows: Couldn't find InitializeWinIo function."); + return 0; + } + + if (!InitializeWinIo()) + { + a->warning("i386-io-windows: InitializeWinIo() failed."); + return 0; + } + + return 1; +} + +static inline int +intel_cleanup_io(struct pci_access *a UNUSED) +{ + //TODO: DeInitializeWinIo! + return 1; +} diff --git a/lib/i386-ports.c b/lib/i386-ports.c new file mode 100644 index 0000000..041e47f --- /dev/null +++ b/lib/i386-ports.c @@ -0,0 +1,283 @@ +/* + * The PCI Library -- Direct Configuration access via i386 Ports + * + * Copyright (c) 1997--2006 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#define _GNU_SOURCE + +#include "internal.h" + +#include + +#if defined(PCI_OS_LINUX) +#include "i386-io-linux.h" +#elif defined(PCI_OS_GNU) +#include "i386-io-hurd.h" +#elif defined(PCI_OS_SUNOS) +#include "i386-io-sunos.h" +#elif defined(PCI_OS_WINDOWS) +#include "i386-io-windows.h" +#else +#error Do not know how to access I/O ports on this OS. +#endif + +static int conf12_io_enabled = -1; /* -1=haven't tried, 0=failed, 1=succeeded */ + +static int +conf12_setup_io(struct pci_access *a) +{ + if (conf12_io_enabled < 0) + conf12_io_enabled = intel_setup_io(a); + return conf12_io_enabled; +} + +static void +conf12_init(struct pci_access *a) +{ + if (!conf12_setup_io(a)) + a->error("No permission to access I/O ports (you probably have to be root)."); +} + +static void +conf12_cleanup(struct pci_access *a UNUSED) +{ + if (conf12_io_enabled > 0) + conf12_io_enabled = intel_cleanup_io(a); +} + +/* + * Before we decide to use direct hardware access mechanisms, we try to do some + * trivial checks to ensure it at least _seems_ to be working -- we just test + * whether bus 00 contains a host bridge (this is similar to checking + * techniques used in XFree86, but ours should be more reliable since we + * attempt to make use of direct access hints provided by the PCI BIOS). + * + * This should be close to trivial, but it isn't, because there are buggy + * chipsets (yes, you guessed it, by Intel and Compaq) that have no class ID. + */ + +static int +intel_sanity_check(struct pci_access *a, struct pci_methods *m) +{ + struct pci_dev d; + + a->debug("...sanity check"); + d.bus = 0; + d.func = 0; + for(d.dev = 0; d.dev < 32; d.dev++) + { + u16 class, vendor; + if (m->read(&d, PCI_CLASS_DEVICE, (byte *) &class, sizeof(class)) && + (class == cpu_to_le16(PCI_CLASS_BRIDGE_HOST) || class == cpu_to_le16(PCI_CLASS_DISPLAY_VGA)) || + m->read(&d, PCI_VENDOR_ID, (byte *) &vendor, sizeof(vendor)) && + (vendor == cpu_to_le16(PCI_VENDOR_ID_INTEL) || vendor == cpu_to_le16(PCI_VENDOR_ID_COMPAQ))) + { + a->debug("...outside the Asylum at 0/%02x/0", d.dev); + return 1; + } + } + a->debug("...insane"); + return 0; +} + +/* + * Configuration type 1 + */ + +#define CONFIG_CMD(bus, device_fn, where) (0x80000000 | (bus << 16) | (device_fn << 8) | (where & ~3)) + +static int +conf1_detect(struct pci_access *a) +{ + unsigned int tmp; + int res = 0; + + if (!conf12_setup_io(a)) + { + a->debug("...no I/O permission"); + return 0; + } + outb (0x01, 0xCFB); + tmp = inl (0xCF8); + outl (0x80000000, 0xCF8); + if (inl (0xCF8) == 0x80000000) + res = 1; + outl (tmp, 0xCF8); + if (res) + res = intel_sanity_check(a, &pm_intel_conf1); + return res; +} + +static int +conf1_read(struct pci_dev *d, int pos, byte *buf, int len) +{ + int addr = 0xcfc + (pos&3); + + if (pos >= 256) + return 0; + + outl(0x80000000 | ((d->bus & 0xff) << 16) | (PCI_DEVFN(d->dev, d->func) << 8) | (pos&~3), 0xcf8); + + switch (len) + { + case 1: + buf[0] = inb(addr); + break; + case 2: + ((u16 *) buf)[0] = cpu_to_le16(inw(addr)); + break; + case 4: + ((u32 *) buf)[0] = cpu_to_le32(inl(addr)); + break; + default: + return pci_generic_block_read(d, pos, buf, len); + } + return 1; +} + +static int +conf1_write(struct pci_dev *d, int pos, byte *buf, int len) +{ + int addr = 0xcfc + (pos&3); + + if (pos >= 256) + return 0; + + outl(0x80000000 | ((d->bus & 0xff) << 16) | (PCI_DEVFN(d->dev, d->func) << 8) | (pos&~3), 0xcf8); + + switch (len) + { + case 1: + outb(buf[0], addr); + break; + case 2: + outw(le16_to_cpu(((u16 *) buf)[0]), addr); + break; + case 4: + outl(le32_to_cpu(((u32 *) buf)[0]), addr); + break; + default: + return pci_generic_block_write(d, pos, buf, len); + } + return 1; +} + +/* + * Configuration type 2. Obsolete and brain-damaged, but existing. + */ + +static int +conf2_detect(struct pci_access *a) +{ + if (!conf12_setup_io(a)) + { + a->debug("...no I/O permission"); + return 0; + } + + /* This is ugly and tends to produce false positives. Beware. */ + + outb(0x00, 0xCFB); + outb(0x00, 0xCF8); + outb(0x00, 0xCFA); + if (inb(0xCF8) == 0x00 && inb(0xCFA) == 0x00) + return intel_sanity_check(a, &pm_intel_conf2); + else + return 0; +} + +static int +conf2_read(struct pci_dev *d, int pos, byte *buf, int len) +{ + int addr = 0xc000 | (d->dev << 8) | pos; + + if (pos >= 256) + return 0; + + if (d->dev >= 16) + /* conf2 supports only 16 devices per bus */ + return 0; + outb((d->func << 1) | 0xf0, 0xcf8); + outb(d->bus, 0xcfa); + switch (len) + { + case 1: + buf[0] = inb(addr); + break; + case 2: + ((u16 *) buf)[0] = cpu_to_le16(inw(addr)); + break; + case 4: + ((u32 *) buf)[0] = cpu_to_le32(inl(addr)); + break; + default: + outb(0, 0xcf8); + return pci_generic_block_read(d, pos, buf, len); + } + outb(0, 0xcf8); + return 1; +} + +static int +conf2_write(struct pci_dev *d, int pos, byte *buf, int len) +{ + int addr = 0xc000 | (d->dev << 8) | pos; + + if (pos >= 256) + return 0; + + if (d->dev >= 16) + d->access->error("conf2_write: only first 16 devices exist."); + outb((d->func << 1) | 0xf0, 0xcf8); + outb(d->bus, 0xcfa); + switch (len) + { + case 1: + outb(buf[0], addr); + break; + case 2: + outw(le16_to_cpu(* (u16 *) buf), addr); + break; + case 4: + outl(le32_to_cpu(* (u32 *) buf), addr); + break; + default: + outb(0, 0xcf8); + return pci_generic_block_write(d, pos, buf, len); + } + outb(0, 0xcf8); + return 1; +} + +struct pci_methods pm_intel_conf1 = { + "intel-conf1", + "Raw I/O port access using Intel conf1 interface", + NULL, /* config */ + conf1_detect, + conf12_init, + conf12_cleanup, + pci_generic_scan, + pci_generic_fill_info, + conf1_read, + conf1_write, + NULL, /* init_dev */ + NULL /* cleanup_dev */ +}; + +struct pci_methods pm_intel_conf2 = { + "intel-conf2", + "Raw I/O port access using Intel conf2 interface", + NULL, /* config */ + conf2_detect, + conf12_init, + conf12_cleanup, + pci_generic_scan, + pci_generic_fill_info, + conf2_read, + conf2_write, + NULL, /* init_dev */ + NULL /* cleanup_dev */ +}; diff --git a/lib/init.c b/lib/init.c new file mode 100644 index 0000000..be45f81 --- /dev/null +++ b/lib/init.c @@ -0,0 +1,224 @@ +/* + * The PCI Library -- Initialization and related things + * + * Copyright (c) 1997--2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include +#include +#include +#include + +#include "internal.h" + +static struct pci_methods *pci_methods[PCI_ACCESS_MAX] = { + NULL, +#ifdef PCI_HAVE_PM_LINUX_SYSFS + &pm_linux_sysfs, +#else + NULL, +#endif +#ifdef PCI_HAVE_PM_LINUX_PROC + &pm_linux_proc, +#else + NULL, +#endif +#ifdef PCI_HAVE_PM_INTEL_CONF + &pm_intel_conf1, + &pm_intel_conf2, +#else + NULL, + NULL, +#endif +#ifdef PCI_HAVE_PM_FBSD_DEVICE + &pm_fbsd_device, +#else + NULL, +#endif +#ifdef PCI_HAVE_PM_AIX_DEVICE + &pm_aix_device, +#else + NULL, +#endif +#ifdef PCI_HAVE_PM_NBSD_LIBPCI + &pm_nbsd_libpci, +#else + NULL, +#endif +#ifdef PCI_HAVE_PM_OBSD_DEVICE + &pm_obsd_device, +#else + NULL, +#endif +#ifdef PCI_HAVE_PM_DUMP + &pm_dump, +#else + NULL, +#endif +}; + +void * +pci_malloc(struct pci_access *a, int size) +{ + void *x = malloc(size); + + if (!x) + a->error("Out of memory (allocation of %d bytes failed)", size); + return x; +} + +void +pci_mfree(void *x) +{ + if (x) + free(x); +} + +char * +pci_strdup(struct pci_access *a, char *s) +{ + int len = strlen(s) + 1; + char *t = pci_malloc(a, len); + memcpy(t, s, len); + return t; +} + +static void +pci_generic_error(char *msg, ...) +{ + va_list args; + + va_start(args, msg); + fputs("pcilib: ", stderr); + vfprintf(stderr, msg, args); + fputc('\n', stderr); + exit(1); +} + +static void +pci_generic_warn(char *msg, ...) +{ + va_list args; + + va_start(args, msg); + fputs("pcilib: ", stderr); + vfprintf(stderr, msg, args); + fputc('\n', stderr); +} + +static void +pci_generic_debug(char *msg, ...) +{ + va_list args; + + va_start(args, msg); + vfprintf(stdout, msg, args); + va_end(args); +} + +static void +pci_null_debug(char *msg UNUSED, ...) +{ +} + +int +pci_lookup_method(char *name) +{ + int i; + + for (i=0; iname, name)) + return i; + return -1; +} + +char * +pci_get_method_name(int index) +{ + if (index < 0 || index >= PCI_ACCESS_MAX) + return NULL; + else if (!pci_methods[index]) + return ""; + else + return pci_methods[index]->name; +} + +struct pci_access * +pci_alloc(void) +{ + struct pci_access *a = malloc(sizeof(struct pci_access)); + int i; + + memset(a, 0, sizeof(*a)); + pci_set_name_list_path(a, PCI_PATH_IDS_DIR "/" PCI_IDS, 0); +#ifdef PCI_USE_DNS + pci_define_param(a, "net.domain", PCI_ID_DOMAIN, "DNS domain used for resolving of ID's"); + pci_define_param(a, "net.cache_name", "~/.pciids-cache", "Name of the ID cache file"); + a->id_lookup_mode = PCI_LOOKUP_CACHE; +#endif + for(i=0; iconfig) + pci_methods[i]->config(a); + return a; +} + +void +pci_init(struct pci_access *a) +{ + if (!a->error) + a->error = pci_generic_error; + if (!a->warning) + a->warning = pci_generic_warn; + if (!a->debug) + a->debug = pci_generic_debug; + if (!a->debugging) + a->debug = pci_null_debug; + + if (a->method) + { + if (a->method >= PCI_ACCESS_MAX || !pci_methods[a->method]) + a->error("This access method is not supported."); + a->methods = pci_methods[a->method]; + } + else + { + unsigned int i; + for(i=0; idebug("Trying method %d...", i); + if (pci_methods[i]->detect(a)) + { + a->debug("...OK\n"); + a->methods = pci_methods[i]; + a->method = i; + break; + } + a->debug("...No.\n"); + } + if (!a->methods) + a->error("Cannot find any working access method."); + } + a->debug("Decided to use %s\n", a->methods->name); + a->methods->init(a); +} + +void +pci_cleanup(struct pci_access *a) +{ + struct pci_dev *d, *e; + + for(d=a->devices; d; d=e) + { + e = d->next; + pci_free_dev(d); + } + if (a->methods) + a->methods->cleanup(a); + pci_free_name_list(a); + pci_free_params(a); + pci_set_name_list_path(a, NULL, 0); + pci_mfree(a); +} diff --git a/lib/internal.h b/lib/internal.h new file mode 100644 index 0000000..81b2b83 --- /dev/null +++ b/lib/internal.h @@ -0,0 +1,50 @@ +/* + * The PCI Library -- Internal Stuff + * + * Copyright (c) 1997--2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#ifdef __GNUC__ +#define PCI_ABI __attribute__((visibility("default"))) +#endif + +#include "pci.h" +#include "sysdep.h" + +struct pci_methods { + char *name; + char *help; + void (*config)(struct pci_access *); + int (*detect)(struct pci_access *); + void (*init)(struct pci_access *); + void (*cleanup)(struct pci_access *); + void (*scan)(struct pci_access *); + int (*fill_info)(struct pci_dev *, int flags); + int (*read)(struct pci_dev *, int pos, byte *buf, int len); + int (*write)(struct pci_dev *, int pos, byte *buf, int len); + void (*init_dev)(struct pci_dev *); + void (*cleanup_dev)(struct pci_dev *); +}; + +void pci_generic_scan_bus(struct pci_access *, byte *busmap, int bus); +void pci_generic_scan(struct pci_access *); +int pci_generic_fill_info(struct pci_dev *, int flags); +int pci_generic_block_read(struct pci_dev *, int pos, byte *buf, int len); +int pci_generic_block_write(struct pci_dev *, int pos, byte *buf, int len); + +void *pci_malloc(struct pci_access *, int); +void pci_mfree(void *); +char *pci_strdup(struct pci_access *a, char *s); + +struct pci_dev *pci_alloc_dev(struct pci_access *); +int pci_link_dev(struct pci_access *, struct pci_dev *); + +void pci_define_param(struct pci_access *acc, char *param, char *val, char *help); +int pci_set_param_internal(struct pci_access *acc, char *param, char *val, int copy); +void pci_free_params(struct pci_access *acc); + +extern struct pci_methods pm_intel_conf1, pm_intel_conf2, pm_linux_proc, + pm_fbsd_device, pm_aix_device, pm_nbsd_libpci, pm_obsd_device, + pm_dump, pm_linux_sysfs; diff --git a/lib/libpci.pc.in b/lib/libpci.pc.in new file mode 100644 index 0000000..f43f498 --- /dev/null +++ b/lib/libpci.pc.in @@ -0,0 +1,10 @@ +prefix=@PREFIX@ +includedir=@INCDIR@ +libdir=@LIBDIR@ +idsdir=@IDSDIR@ + +Name: libpci +Description: libpci +Version: @VERSION@ +Libs: -L${libdir} -lpci @LDLIBS@ +Cflags: -I${includedir} diff --git a/lib/libpci.ver b/lib/libpci.ver new file mode 100644 index 0000000..a1b7252 --- /dev/null +++ b/lib/libpci.ver @@ -0,0 +1,12 @@ +/* Version script for the libpci */ + +/* + * Visibility declarations in the source take precedence over this script, + * so we can boldly declare pci_* as public and still keep the internal + * functions properly hidden. + */ + +LIBPCI_3.0 { + global: pci_*; + local: *; +}; diff --git a/lib/names-cache.c b/lib/names-cache.c new file mode 100644 index 0000000..059311a --- /dev/null +++ b/lib/names-cache.c @@ -0,0 +1,203 @@ +/* + * The PCI Library -- ID to Name Cache + * + * Copyright (c) 2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include "internal.h" +#include "names.h" + +#ifdef PCI_USE_DNS + +static const char cache_version[] = "#PCI-CACHE-1.0"; + +static char *get_cache_name(struct pci_access *a) +{ + char *name, *buf; + + name = pci_get_param(a, "net.cache_name"); + if (!name || !name[0]) + return NULL; + if (strncmp(name, "~/", 2)) + return name; + + uid_t uid = getuid(); + struct passwd *pw = getpwuid(uid); + if (!pw) + return name; + + buf = pci_malloc(a, strlen(pw->pw_dir) + strlen(name+1) + 1); + sprintf(buf, "%s%s", pw->pw_dir, name+1); + pci_set_param_internal(a, "net.cache_name", buf, 0); + return buf; +} + +int +pci_id_cache_load(struct pci_access *a, int flags) +{ + char *name; + char line[MAX_LINE]; + FILE *f; + int lino; + + a->id_cache_status = 1; + name = get_cache_name(a); + if (!name) + return 0; + a->debug("Using cache %s\n", name); + if (flags & PCI_LOOKUP_REFRESH_CACHE) + { + a->debug("Not loading cache, will refresh everything\n"); + a->id_cache_status = 2; + return 0; + } + + f = fopen(name, "rb"); + if (!f) + { + a->debug("Cache file does not exist\n"); + return 0; + } + /* FIXME: Compare timestamp with the pci.ids file? */ + + lino = 0; + while (fgets(line, sizeof(line), f)) + { + char *p = strchr(line, '\n'); + lino++; + if (p) + { + *p = 0; + if (lino == 1) + { + if (strcmp(line, cache_version)) + { + a->debug("Unrecognized cache version %s, ignoring\n", line); + break; + } + continue; + } + else + { + int cat, id1, id2, id3, id4, cnt; + if (sscanf(line, "%d%x%x%x%x%n", &cat, &id1, &id2, &id3, &id4, &cnt) >= 5) + { + p = line + cnt; + while (*p && *p == ' ') + p++; + pci_id_insert(a, cat, id1, id2, id3, id4, p, SRC_CACHE); + continue; + } + } + } + a->warning("Malformed cache file %s (line %d), ignoring", name, lino); + break; + } + + if (ferror(f)) + a->warning("Error while reading %s", name); + fclose(f); + return 1; +} + +void +pci_id_cache_flush(struct pci_access *a) +{ + int orig_status = a->id_cache_status; + FILE *f; + unsigned int h; + struct id_entry *e, *e2; + char hostname[256], *tmpname, *name; + int this_pid; + + a->id_cache_status = 0; + if (orig_status < 2) + return; + name = get_cache_name(a); + if (!name) + return; + + this_pid = getpid(); + if (gethostname(hostname, sizeof(hostname)) < 0) + hostname[0] = 0; + else + hostname[sizeof(hostname)-1] = 0; + tmpname = pci_malloc(a, strlen(name) + strlen(hostname) + 64); + sprintf(tmpname, "%s.tmp-%s-%d", name, hostname, this_pid); + + f = fopen(tmpname, "wb"); + if (!f) + { + a->warning("Cannot write to %s: %s", name, strerror(errno)); + pci_mfree(tmpname); + return; + } + a->debug("Writing cache to %s\n", name); + fprintf(f, "%s\n", cache_version); + + for (h=0; hid_hash[h]; e; e=e->next) + if (e->src == SRC_CACHE || e->src == SRC_NET) + { + /* Negative entries are not written */ + if (!e->name[0]) + continue; + + /* Verify that every entry is written at most once */ + for (e2=a->id_hash[h]; e2 != e; e2=e2->next) + if ((e2->src == SRC_CACHE || e2->src == SRC_NET) && + e2->cat == e->cat && + e2->id12 == e->id12 && e2->id34 == e->id34) + break; + if (e2 == e) + fprintf(f, "%d %x %x %x %x %s\n", + e->cat, + pair_first(e->id12), pair_second(e->id12), + pair_first(e->id34), pair_second(e->id34), + e->name); + } + + fflush(f); + if (ferror(f)) + a->warning("Error writing %s", name); + fclose(f); + + if (rename(tmpname, name) < 0) + { + a->warning("Cannot rename %s to %s: %s", tmpname, name, strerror(errno)); + unlink(tmpname); + } + pci_mfree(tmpname); +} + +#else + +int pci_id_cache_load(struct pci_access *a UNUSED, int flags UNUSED) +{ + a->id_cache_status = 1; + return 0; +} + +void pci_id_cache_flush(struct pci_access *a) +{ + a->id_cache_status = 0; +} + +#endif + +void +pci_id_cache_dirty(struct pci_access *a) +{ + if (a->id_cache_status >= 1) + a->id_cache_status = 2; +} diff --git a/lib/names-hash.c b/lib/names-hash.c new file mode 100644 index 0000000..33f3c11 --- /dev/null +++ b/lib/names-hash.c @@ -0,0 +1,126 @@ +/* + * The PCI Library -- ID to Name Hash + * + * Copyright (c) 1997--2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include + +#include "internal.h" +#include "names.h" + +struct id_bucket { + struct id_bucket *next; + unsigned int full; +}; + +#ifdef __GNUC__ +#define BUCKET_ALIGNMENT __alignof__(struct id_bucket) +#else +union id_align { + struct id_bucket *next; + unsigned int full; +}; +#define BUCKET_ALIGNMENT sizeof(union id_align) +#endif +#define BUCKET_ALIGN(n) ((n)+BUCKET_ALIGNMENT-(n)%BUCKET_ALIGNMENT) + +static void *id_alloc(struct pci_access *a, unsigned int size) +{ + struct id_bucket *buck = a->current_id_bucket; + unsigned int pos; + + if (!a->id_hash) + { + a->id_hash = pci_malloc(a, sizeof(struct id_entry *) * HASH_SIZE); + memset(a->id_hash, 0, sizeof(struct id_entry *) * HASH_SIZE); + } + + if (!buck || buck->full + size > BUCKET_SIZE) + { + buck = pci_malloc(a, BUCKET_SIZE); + buck->next = a->current_id_bucket; + a->current_id_bucket = buck; + buck->full = BUCKET_ALIGN(sizeof(struct id_bucket)); + } + pos = buck->full; + buck->full = BUCKET_ALIGN(buck->full + size); + return (byte *)buck + pos; +} + +static inline unsigned int id_hash(int cat, u32 id12, u32 id34) +{ + unsigned int h; + + h = id12 ^ (id34 << 3) ^ (cat << 5); + return h % HASH_SIZE; +} + +int +pci_id_insert(struct pci_access *a, int cat, int id1, int id2, int id3, int id4, char *text, enum id_entry_src src) +{ + u32 id12 = id_pair(id1, id2); + u32 id34 = id_pair(id3, id4); + unsigned int h = id_hash(cat, id12, id34); + struct id_entry *n = a->id_hash ? a->id_hash[h] : NULL; + int len = strlen(text); + + while (n && (n->id12 != id12 || n->id34 != id34 || n->cat != cat)) + n = n->next; + if (n) + return 1; + n = id_alloc(a, sizeof(struct id_entry) + len); + n->id12 = id12; + n->id34 = id34; + n->cat = cat; + n->src = src; + memcpy(n->name, text, len+1); + n->next = a->id_hash[h]; + a->id_hash[h] = n; + return 0; +} + +char +*pci_id_lookup(struct pci_access *a, int flags, int cat, int id1, int id2, int id3, int id4) +{ + struct id_entry *n, *best; + u32 id12 = id_pair(id1, id2); + u32 id34 = id_pair(id3, id4); + + if (a->id_hash) + { + n = a->id_hash[id_hash(cat, id12, id34)]; + best = NULL; + for (; n; n=n->next) + { + if (n->id12 != id12 || n->id34 != id34 || n->cat != cat) + continue; + if (n->src == SRC_LOCAL && (flags & PCI_LOOKUP_SKIP_LOCAL)) + continue; + if (n->src == SRC_NET && !(flags & PCI_LOOKUP_NETWORK)) + continue; + if (n->src == SRC_CACHE && !(flags & PCI_LOOKUP_CACHE)) + continue; + if (!best || best->src < n->src) + best = n; + } + if (best) + return best->name; + } + return NULL; +} + +void +pci_id_hash_free(struct pci_access *a) +{ + pci_mfree(a->id_hash); + a->id_hash = NULL; + while (a->current_id_bucket) + { + struct id_bucket *buck = a->current_id_bucket; + a->current_id_bucket = buck->next; + pci_mfree(buck); + } +} diff --git a/lib/names-net.c b/lib/names-net.c new file mode 100644 index 0000000..d149491 --- /dev/null +++ b/lib/names-net.c @@ -0,0 +1,239 @@ +/* + * The PCI Library -- Resolving ID's via DNS + * + * Copyright (c) 2007--2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include +#include + +#include "internal.h" +#include "names.h" + +#ifdef PCI_USE_DNS + +#include +#include +#include + +/* + * Unfortunately, there are no portable functions for DNS RR parsing, + * so we will do the bit shuffling with our own bare hands. + */ + +#define GET16(x) do { if (p+2 > end) goto err; x = (p[0] << 8) | p[1]; p += 2; } while (0) +#define GET32(x) do { if (p+4 > end) goto err; x = (p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]; p += 4; } while (0) + +enum dns_section { + DNS_SEC_QUESTION, + DNS_SEC_ANSWER, + DNS_SEC_AUTHORITY, + DNS_SEC_ADDITIONAL, + DNS_NUM_SECTIONS +}; + +struct dns_state { + u16 counts[DNS_NUM_SECTIONS]; + byte *sections[DNS_NUM_SECTIONS+1]; + byte *sec_ptr, *sec_end; + + /* Result of dns_parse_rr(): */ + u16 rr_type; + u16 rr_class; + u32 rr_ttl; + u16 rr_len; + byte *rr_data; +}; + +static byte * +dns_skip_name(byte *p, byte *end) +{ + while (p < end) + { + unsigned int x = *p++; + if (!x) + return p; + switch (x & 0xc0) + { + case 0: /* Uncompressed: x = length */ + p += x; + break; + case 0xc0: /* Indirection: 1 byte more for offset */ + p++; + return (p < end) ? p : NULL; + default: /* RFU */ + return NULL; + } + } + return NULL; +} + +static int +dns_parse_packet(struct dns_state *s, byte *p, unsigned int plen) +{ + byte *end = p + plen; + unsigned int i, j, x, len; + +#if 0 + /* Dump the packet */ + for (i=0; icounts[i]); + for (i=0; isections[i] = p; + for (j=0; j < s->counts[i]; j++) + { + p = dns_skip_name(p, end); /* Name */ + if (!p) + goto err; + GET32(x); /* Type and class */ + if (i != DNS_SEC_QUESTION) + { + GET32(x); /* TTL */ + GET16(len); /* Length of data */ + p += len; + if (p > end) + goto err; + } + } + } + s->sections[i] = p; + return 0; + +err: + return -1; +} + +static void +dns_init_section(struct dns_state *s, int i) +{ + s->sec_ptr = s->sections[i]; + s->sec_end = s->sections[i+1]; +} + +static int +dns_parse_rr(struct dns_state *s) +{ + byte *p = s->sec_ptr; + byte *end = s->sec_end; + + if (p == end) + return 0; + p = dns_skip_name(p, end); + if (!p) + goto err; + GET16(s->rr_type); + GET16(s->rr_class); + GET32(s->rr_ttl); + GET16(s->rr_len); + s->rr_data = p; + s->sec_ptr = p + s->rr_len; + return 1; + +err: + return -1; +} + +char +*pci_id_net_lookup(struct pci_access *a, int cat, int id1, int id2, int id3, int id4) +{ + static int resolver_inited; + char name[256], dnsname[256], txt[256], *domain; + byte answer[4096]; + const byte *data; + int res, j, dlen; + struct dns_state ds; + + domain = pci_get_param(a, "net.domain"); + if (!domain || !domain[0]) + return NULL; + + switch (cat) + { + case ID_VENDOR: + sprintf(name, "%04x", id1); + break; + case ID_DEVICE: + sprintf(name, "%04x.%04x", id2, id1); + break; + case ID_SUBSYSTEM: + sprintf(name, "%04x.%04x.%04x.%04x", id4, id3, id2, id1); + break; + case ID_GEN_SUBSYSTEM: + sprintf(name, "%04x.%04x.s", id2, id1); + break; + case ID_CLASS: + sprintf(name, "%02x.c", id1); + break; + case ID_SUBCLASS: + sprintf(name, "%02x.%02x.c", id2, id1); + break; + case ID_PROGIF: + sprintf(name, "%02x.%02x.%02x.c", id3, id2, id1); + break; + default: + return NULL; + } + sprintf(dnsname, "%s.%s", name, domain); + + a->debug("Resolving %s\n", dnsname); + if (!resolver_inited) + { + resolver_inited = 1; + res_init(); + } + res = res_query(dnsname, ns_c_in, ns_t_txt, answer, sizeof(answer)); + if (res < 0) + { + a->debug("\tfailed, h_errno=%d\n", _res.res_h_errno); + return NULL; + } + if (dns_parse_packet(&ds, answer, res) < 0) + { + a->debug("\tMalformed DNS packet received\n"); + return NULL; + } + dns_init_section(&ds, DNS_SEC_ANSWER); + while (dns_parse_rr(&ds) > 0) + { + if (ds.rr_class != ns_c_in || ds.rr_type != ns_t_txt) + { + a->debug("\tUnexpected RR in answer: class %d, type %d\n", ds.rr_class, ds.rr_type); + continue; + } + data = ds.rr_data; + dlen = ds.rr_len; + j = 0; + while (j < dlen && j+1+data[j] <= dlen) + { + memcpy(txt, &data[j+1], data[j]); + txt[data[j]] = 0; + j += 1+data[j]; + a->debug("\t\"%s\"\n", txt); + if (txt[0] == 'i' && txt[1] == '=') + return strdup(txt+2); + } + } + + return NULL; +} + +#else + +char *pci_id_net_lookup(struct pci_access *a UNUSED, int cat UNUSED, int id1 UNUSED, int id2 UNUSED, int id3 UNUSED, int id4 UNUSED) +{ + return NULL; +} + +#endif diff --git a/lib/names-parse.c b/lib/names-parse.c new file mode 100644 index 0000000..58ab578 --- /dev/null +++ b/lib/names-parse.c @@ -0,0 +1,251 @@ +/* + * The PCI Library -- Parsing of the ID list + * + * Copyright (c) 1997--2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include +#include +#include +#include + +#include "internal.h" +#include "names.h" + +#ifdef PCI_COMPRESSED_IDS +#include +typedef gzFile pci_file; +#define pci_gets(f, l, s) gzgets(f, l, s) +#define pci_eof(f) gzeof(f) + +static pci_file pci_open(struct pci_access *a) +{ + pci_file result; + size_t len; + char *new_name; + + result = gzopen(a->id_file_name, "rb"); + if (result) + return result; + len = strlen(a->id_file_name); + if (len >= 3 && memcmp(a->id_file_name + len - 3, ".gz", 3) != 0) + return result; + new_name = malloc(len - 2); + memcpy(new_name, a->id_file_name, len - 3); + new_name[len - 3] = 0; + pci_set_name_list_path(a, new_name, 1); + return gzopen(a->id_file_name, "rb"); +} + +#define pci_close(f) gzclose(f) +#define PCI_ERROR(f, err) \ + if (!err) { \ + int errnum; \ + gzerror(f, &errnum); \ + if (errnum >= 0) err = NULL; \ + else if (errnum == Z_ERRNO) err = "I/O error"; \ + else err = zError(errnum); \ + } +#else +typedef FILE * pci_file; +#define pci_gets(f, l, s) fgets(l, s, f) +#define pci_eof(f) feof(f) +#define pci_open(a) fopen(a->id_file_name, "r") +#define pci_close(f) fclose(f) +#define PCI_ERROR(f, err) if (!err && ferror(f)) err = "I/O error"; +#endif + +static int id_hex(char *p, int cnt) +{ + int x = 0; + while (cnt--) + { + x <<= 4; + if (*p >= '0' && *p <= '9') + x += (*p - '0'); + else if (*p >= 'a' && *p <= 'f') + x += (*p - 'a' + 10); + else if (*p >= 'A' && *p <= 'F') + x += (*p - 'A' + 10); + else + return -1; + p++; + } + return x; +} + +static inline int id_white_p(int c) +{ + return (c == ' ') || (c == '\t'); +} + + +static const char *id_parse_list(struct pci_access *a, pci_file f, int *lino) +{ + char line[MAX_LINE]; + char *p; + int id1=0, id2=0, id3=0, id4=0; + int cat = -1; + int nest; + static const char parse_error[] = "Parse error"; + + *lino = 0; + while (pci_gets(f, line, sizeof(line))) + { + (*lino)++; + p = line; + while (*p && *p != '\n' && *p != '\r') + p++; + if (!*p && !pci_eof(f)) + return "Line too long"; + *p = 0; + if (p > line && (p[-1] == ' ' || p[-1] == '\t')) + *--p = 0; + + p = line; + while (id_white_p(*p)) + p++; + if (!*p || *p == '#') + continue; + + p = line; + while (*p == '\t') + p++; + nest = p - line; + + if (!nest) /* Top-level entries */ + { + if (p[0] == 'C' && p[1] == ' ') /* Class block */ + { + if ((id1 = id_hex(p+2, 2)) < 0 || !id_white_p(p[4])) + return parse_error; + cat = ID_CLASS; + p += 5; + } + else if (p[0] == 'S' && p[1] == ' ') + { /* Generic subsystem block */ + if ((id1 = id_hex(p+2, 4)) < 0 || p[6]) + return parse_error; + if (!pci_id_lookup(a, 0, ID_VENDOR, id1, 0, 0, 0)) + return "Vendor does not exist"; + cat = ID_GEN_SUBSYSTEM; + continue; + } + else if (p[0] >= 'A' && p[0] <= 'Z' && p[1] == ' ') + { /* Unrecognized block (RFU) */ + cat = ID_UNKNOWN; + continue; + } + else /* Vendor ID */ + { + if ((id1 = id_hex(p, 4)) < 0 || !id_white_p(p[4])) + return parse_error; + cat = ID_VENDOR; + p += 5; + } + id2 = id3 = id4 = 0; + } + else if (cat == ID_UNKNOWN) /* Nested entries in RFU blocks are skipped */ + continue; + else if (nest == 1) /* Nesting level 1 */ + switch (cat) + { + case ID_VENDOR: + case ID_DEVICE: + case ID_SUBSYSTEM: + if ((id2 = id_hex(p, 4)) < 0 || !id_white_p(p[4])) + return parse_error; + p += 5; + cat = ID_DEVICE; + id3 = id4 = 0; + break; + case ID_GEN_SUBSYSTEM: + if ((id2 = id_hex(p, 4)) < 0 || !id_white_p(p[4])) + return parse_error; + p += 5; + id3 = id4 = 0; + break; + case ID_CLASS: + case ID_SUBCLASS: + case ID_PROGIF: + if ((id2 = id_hex(p, 2)) < 0 || !id_white_p(p[2])) + return parse_error; + p += 3; + cat = ID_SUBCLASS; + id3 = id4 = 0; + break; + default: + return parse_error; + } + else if (nest == 2) /* Nesting level 2 */ + switch (cat) + { + case ID_DEVICE: + case ID_SUBSYSTEM: + if ((id3 = id_hex(p, 4)) < 0 || !id_white_p(p[4]) || (id4 = id_hex(p+5, 4)) < 0 || !id_white_p(p[9])) + return parse_error; + p += 10; + cat = ID_SUBSYSTEM; + break; + case ID_CLASS: + case ID_SUBCLASS: + case ID_PROGIF: + if ((id3 = id_hex(p, 2)) < 0 || !id_white_p(p[2])) + return parse_error; + p += 3; + cat = ID_PROGIF; + id4 = 0; + break; + default: + return parse_error; + } + else /* Nesting level 3 or more */ + return parse_error; + while (id_white_p(*p)) + p++; + if (!*p) + return parse_error; + if (pci_id_insert(a, cat, id1, id2, id3, id4, p, SRC_LOCAL)) + return "Duplicate entry"; + } + return NULL; +} + +int +pci_load_name_list(struct pci_access *a) +{ + pci_file f; + int lino; + const char *err; + + pci_free_name_list(a); + a->id_load_failed = 1; + if (!(f = pci_open(a))) + return 0; + err = id_parse_list(a, f, &lino); + PCI_ERROR(f, err); + pci_close(f); + if (err) + a->error("%s at %s, line %d\n", err, a->id_file_name, lino); + a->id_load_failed = 0; + return 1; +} + +void +pci_free_name_list(struct pci_access *a) +{ + pci_id_cache_flush(a); + pci_id_hash_free(a); + a->id_load_failed = 0; +} + +void +pci_set_name_list_path(struct pci_access *a, char *name, int to_be_freed) +{ + if (a->free_id_name) + free(a->id_file_name); + a->id_file_name = name; + a->free_id_name = to_be_freed; +} diff --git a/lib/names.c b/lib/names.c new file mode 100644 index 0000000..26de128 --- /dev/null +++ b/lib/names.c @@ -0,0 +1,205 @@ +/* + * The PCI Library -- ID to Name Translation + * + * Copyright (c) 1997--2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include +#include +#include + +#include "internal.h" +#include "names.h" + +static char *id_lookup(struct pci_access *a, int flags, int cat, int id1, int id2, int id3, int id4) +{ + char *name; + + while (!(name = pci_id_lookup(a, flags, cat, id1, id2, id3, id4))) + { + if ((flags & PCI_LOOKUP_CACHE) && !a->id_cache_status) + { + if (pci_id_cache_load(a, flags)) + continue; + } + if (flags & PCI_LOOKUP_NETWORK) + { + if (name = pci_id_net_lookup(a, cat, id1, id2, id3, id4)) + { + pci_id_insert(a, cat, id1, id2, id3, id4, name, SRC_NET); + pci_mfree(name); + pci_id_cache_dirty(a); + } + else + pci_id_insert(a, cat, id1, id2, id3, id4, "", SRC_NET); + /* We want to iterate the lookup to get the allocated ID entry from the hash */ + continue; + } + return NULL; + } + return (name[0] ? name : NULL); +} + +static char * +id_lookup_subsys(struct pci_access *a, int flags, int iv, int id, int isv, int isd) +{ + char *d = NULL; + if (iv > 0 && id > 0) /* Per-device lookup */ + d = id_lookup(a, flags, ID_SUBSYSTEM, iv, id, isv, isd); + if (!d) /* Generic lookup */ + d = id_lookup(a, flags, ID_GEN_SUBSYSTEM, isv, isd, 0, 0); + if (!d && iv == isv && id == isd) /* Check for subsystem == device */ + d = id_lookup(a, flags, ID_DEVICE, iv, id, 0, 0); + return d; +} + +static char * +format_name(char *buf, int size, int flags, char *name, char *num, char *unknown) +{ + int res; + if ((flags & PCI_LOOKUP_NO_NUMBERS) && !name) + return NULL; + else if (flags & PCI_LOOKUP_NUMERIC) + res = snprintf(buf, size, "%s", num); + else if (!name) + res = snprintf(buf, size, ((flags & PCI_LOOKUP_MIXED) ? "%s [%s]" : "%s %s"), unknown, num); + else if (!(flags & PCI_LOOKUP_MIXED)) + res = snprintf(buf, size, "%s", name); + else + res = snprintf(buf, size, "%s [%s]", name, num); + if (res < 0 || res >= size) + return ""; + else + return buf; +} + +static char * +format_name_pair(char *buf, int size, int flags, char *v, char *d, char *num) +{ + int res; + if ((flags & PCI_LOOKUP_NO_NUMBERS) && (!v || !d)) + return NULL; + if (flags & PCI_LOOKUP_NUMERIC) + res = snprintf(buf, size, "%s", num); + else if (flags & PCI_LOOKUP_MIXED) + { + if (v && d) + res = snprintf(buf, size, "%s %s [%s]", v, d, num); + else if (!v) + res = snprintf(buf, size, "Device [%s]", num); + else /* v && !d */ + res = snprintf(buf, size, "%s Device [%s]", v, num); + } + else + { + if (v && d) + res = snprintf(buf, size, "%s %s", v, d); + else if (!v) + res = snprintf(buf, size, "Device %s", num); + else /* v && !d */ + res = snprintf(buf, size, "%s Device %s", v, num+5); + } + if (res < 0 || res >= size) + return ""; + else + return buf; +} + +char * +pci_lookup_name(struct pci_access *a, char *buf, int size, int flags, ...) +{ + va_list args; + char *v, *d, *cls, *pif; + int iv, id, isv, isd, icls, ipif; + char numbuf[16], pifbuf[32]; + + va_start(args, flags); + + flags |= a->id_lookup_mode; + if (!(flags & PCI_LOOKUP_NO_NUMBERS)) + { + if (a->numeric_ids > 1) + flags |= PCI_LOOKUP_MIXED; + else if (a->numeric_ids) + flags |= PCI_LOOKUP_NUMERIC; + } + if (flags & PCI_LOOKUP_MIXED) + flags &= ~PCI_LOOKUP_NUMERIC; + + if (!a->id_hash && !(flags & (PCI_LOOKUP_NUMERIC | PCI_LOOKUP_SKIP_LOCAL)) && !a->id_load_failed) + pci_load_name_list(a); + + switch (flags & 0xffff) + { + case PCI_LOOKUP_VENDOR: + iv = va_arg(args, int); + sprintf(numbuf, "%04x", iv); + return format_name(buf, size, flags, id_lookup(a, flags, ID_VENDOR, iv, 0, 0, 0), numbuf, "Vendor"); + case PCI_LOOKUP_DEVICE: + iv = va_arg(args, int); + id = va_arg(args, int); + sprintf(numbuf, "%04x", id); + return format_name(buf, size, flags, id_lookup(a, flags, ID_DEVICE, iv, id, 0, 0), numbuf, "Device"); + case PCI_LOOKUP_VENDOR | PCI_LOOKUP_DEVICE: + iv = va_arg(args, int); + id = va_arg(args, int); + sprintf(numbuf, "%04x:%04x", iv, id); + v = id_lookup(a, flags, ID_VENDOR, iv, 0, 0, 0); + d = id_lookup(a, flags, ID_DEVICE, iv, id, 0, 0); + return format_name_pair(buf, size, flags, v, d, numbuf); + case PCI_LOOKUP_SUBSYSTEM | PCI_LOOKUP_VENDOR: + isv = va_arg(args, int); + sprintf(numbuf, "%04x", isv); + v = id_lookup(a, flags, ID_VENDOR, isv, 0, 0, 0); + return format_name(buf, size, flags, v, numbuf, "Unknown vendor"); + case PCI_LOOKUP_SUBSYSTEM | PCI_LOOKUP_DEVICE: + iv = va_arg(args, int); + id = va_arg(args, int); + isv = va_arg(args, int); + isd = va_arg(args, int); + sprintf(numbuf, "%04x", isd); + return format_name(buf, size, flags, id_lookup_subsys(a, flags, iv, id, isv, isd), numbuf, "Device"); + case PCI_LOOKUP_VENDOR | PCI_LOOKUP_DEVICE | PCI_LOOKUP_SUBSYSTEM: + iv = va_arg(args, int); + id = va_arg(args, int); + isv = va_arg(args, int); + isd = va_arg(args, int); + v = id_lookup(a, flags, ID_VENDOR, isv, 0, 0, 0); + d = id_lookup_subsys(a, flags, iv, id, isv, isd); + sprintf(numbuf, "%04x:%04x", isv, isd); + return format_name_pair(buf, size, flags, v, d, numbuf); + case PCI_LOOKUP_CLASS: + icls = va_arg(args, int); + sprintf(numbuf, "%04x", icls); + cls = id_lookup(a, flags, ID_SUBCLASS, icls >> 8, icls & 0xff, 0, 0); + if (!cls && (cls = id_lookup(a, flags, ID_CLASS, icls >> 8, 0, 0, 0))) + { + if (!(flags & PCI_LOOKUP_NUMERIC)) /* Include full class number */ + flags |= PCI_LOOKUP_MIXED; + } + return format_name(buf, size, flags, cls, numbuf, "Class"); + case PCI_LOOKUP_PROGIF: + icls = va_arg(args, int); + ipif = va_arg(args, int); + sprintf(numbuf, "%02x", ipif); + pif = id_lookup(a, flags, ID_PROGIF, icls >> 8, icls & 0xff, ipif, 0); + if (!pif && icls == 0x0101 && !(ipif & 0x70)) + { + /* IDE controllers have complex prog-if semantics */ + sprintf(pifbuf, "%s%s%s%s%s", + (ipif & 0x80) ? " Master" : "", + (ipif & 0x08) ? " SecP" : "", + (ipif & 0x04) ? " SecO" : "", + (ipif & 0x02) ? " PriP" : "", + (ipif & 0x01) ? " PriO" : ""); + pif = pifbuf; + if (*pif) + pif++; + } + return format_name(buf, size, flags, pif, numbuf, "ProgIf"); + default: + return ""; + } +} diff --git a/lib/names.h b/lib/names.h new file mode 100644 index 0000000..81c373f --- /dev/null +++ b/lib/names.h @@ -0,0 +1,69 @@ +/* + * The PCI Library -- ID to Name Translation + * + * Copyright (c) 1997--2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#define MAX_LINE 1024 + +/* names-hash.c */ + +struct id_entry { + struct id_entry *next; + u32 id12, id34; + byte cat; + byte src; + char name[1]; +}; + +enum id_entry_type { + ID_UNKNOWN, + ID_VENDOR, + ID_DEVICE, + ID_SUBSYSTEM, + ID_GEN_SUBSYSTEM, + ID_CLASS, + ID_SUBCLASS, + ID_PROGIF +}; + +enum id_entry_src { + SRC_UNKNOWN, + SRC_CACHE, + SRC_NET, + SRC_LOCAL, +}; + +#define BUCKET_SIZE 8192 +#define HASH_SIZE 4099 + +static inline u32 id_pair(unsigned int x, unsigned int y) +{ + return ((x << 16) | y); +} + +static inline unsigned int pair_first(unsigned int x) +{ + return (x >> 16) & 0xffff; +} + +static inline unsigned int pair_second(unsigned int x) +{ + return x & 0xffff; +} + +int pci_id_insert(struct pci_access *a, int cat, int id1, int id2, int id3, int id4, char *text, enum id_entry_src src); +char *pci_id_lookup(struct pci_access *a, int flags, int cat, int id1, int id2, int id3, int id4); + +/* names-cache.c */ + +int pci_id_cache_load(struct pci_access *a, int flags); +void pci_id_cache_dirty(struct pci_access *a); +void pci_id_cache_flush(struct pci_access *a); +void pci_id_hash_free(struct pci_access *a); + +/* names-dns.c */ + +char *pci_id_net_lookup(struct pci_access *a, int cat, int id1, int id2, int id3, int id4); diff --git a/lib/nbsd-libpci.c b/lib/nbsd-libpci.c new file mode 100644 index 0000000..2d24c4c --- /dev/null +++ b/lib/nbsd-libpci.c @@ -0,0 +1,156 @@ +/* + * The PCI Library -- NetBSD libpci access + * (based on FreeBSD /dev/pci access) + * + * Copyright (c) 1999 Jari Kirma + * Copyright (c) 2002 Quentin Garnier + * Copyright (c) 2002 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +/* + * Read functionality of this driver is briefly tested, and seems + * to supply basic information correctly, but I promise no more. + */ + +#include +#include +#include + +#include + +#include "internal.h" + +static void +nbsd_config(struct pci_access *a) +{ + pci_define_param(a, "nbsd.path", PCI_PATH_NBSD_DEVICE, "Path to the NetBSD PCI device"); +} + +static int +nbsd_detect(struct pci_access *a) +{ + char *name = pci_get_param(a, "nbsd.path"); + + if (access(name, R_OK)) + { + a->warning("Cannot open %s", name); + return 0; + } + + if (!access(name, W_OK)) + a->writeable = O_RDWR; + a->debug("...using %s", name); + return 1; +} + +static void +nbsd_init(struct pci_access *a) +{ + char *name = pci_get_param(a, "nbsd.path"); + int mode = a->writeable ? O_RDWR : O_RDONLY; + + a->fd = open(name, mode, 0); + if (a->fd < 0) + a->error("nbsd_init: %s open failed", name); +} + +static void +nbsd_cleanup(struct pci_access *a) +{ + close(a->fd); +} + +static int +nbsd_read(struct pci_dev *d, int pos, byte *buf, int len) +{ + pcireg_t val; + int shift; + + if (!(len == 1 || len == 2 || len == 4)) + return pci_generic_block_read(d, pos, buf, len); + + if (pos >= 256) + return 0; + + shift = 8*(pos % 4); + pos &= ~3; + + if (pcibus_conf_read(d->access->fd, d->bus, d->dev, d->func, pos, &val) < 0) + d->access->error("nbsd_read: pci_bus_conf_read() failed"); + + switch (len) + { + case 1: + *buf = val >> shift; + break; + case 2: + *(u16*)buf = cpu_to_le16(val >> shift); + break; + case 4: + *(u32*)buf = cpu_to_le32(val); + break; + } + return 1; +} + +static int +nbsd_write(struct pci_dev *d, int pos, byte *buf, int len) +{ + pcireg_t val = 0; + int shift; + + if (!(len == 1 || len == 2 || len == 4)) + return pci_generic_block_write(d, pos, buf, len); + + if (pos >= 256) + return 0; + + /* + * BEWARE: NetBSD seems to support only 32-bit access, so we have + * to emulate byte and word writes by read-modify-write, possibly + * causing troubles. + */ + + shift = 8*(pos % 4); + pos &= ~3; + if (len != 4) + { + if (pcibus_conf_read(d->access->fd, d->bus, d->dev, d->func, pos, &val) < 0) + d->access->error("nbsd_write: pci_bus_conf_read() failed"); + } + + switch (len) + { + case 1: + val = (val & ~(0xff << shift)) | (buf[0] << shift); + break; + case 2: + val = (val & ~(0xffff << shift)) | (le16_to_cpu(*(u16*)buf) << shift); + break; + case 4: + val = le32_to_cpu(*(u32*)buf); + break; + } + + if (pcibus_conf_write(d->access->fd, d->bus, d->dev, d->func, pos, val) < 0) + d->access->error("nbsd_write: pci_bus_conf_write() failed"); + + return 1; +} + +struct pci_methods pm_nbsd_libpci = { + "nbsd-libpci", + "NetBSD libpci", + nbsd_config, + nbsd_detect, + nbsd_init, + nbsd_cleanup, + pci_generic_scan, + pci_generic_fill_info, + nbsd_read, + nbsd_write, + NULL, /* dev_init */ + NULL /* dev_cleanup */ +}; diff --git a/lib/obsd-device.c b/lib/obsd-device.c new file mode 100644 index 0000000..62395b3 --- /dev/null +++ b/lib/obsd-device.c @@ -0,0 +1,151 @@ +/* + * The PCI Library -- OpenBSD /dev/pci access + * + * Adapted from fbsd-device.c by Matthieu Herrb , 2006 + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "internal.h" + +static void +obsd_config(struct pci_access *a) +{ + pci_define_param(a, "obsd.path", PCI_PATH_OBSD_DEVICE, "Path to the OpenBSD PCI device"); +} + +static int +obsd_detect(struct pci_access *a) +{ + char *name = pci_get_param(a, "obsd.path"); + + if (access(name, R_OK)) + { + a->warning("Cannot open %s", name); + return 0; + } + a->debug("...using %s", name); + return 1; +} + +static void +obsd_init(struct pci_access *a) +{ + char *name = pci_get_param(a, "obsd.path"); + + a->fd = open(name, O_RDWR, 0); + if (a->fd < 0) + a->error("obsd_init: %s open failed", name); +} + +static void +obsd_cleanup(struct pci_access *a) +{ + close(a->fd); +} + +static int +obsd_read(struct pci_dev *d, int pos, byte *buf, int len) +{ + struct pci_io pi; + union { + u_int32_t u32; + u_int16_t u16[2]; + u_int8_t u8[4]; + } u; + + if (!(len == 1 || len == 2 || len == 4)) + return pci_generic_block_read(d, pos, buf, len); + + if (pos >= 256) + return 0; + + pi.pi_sel.pc_bus = d->bus; + pi.pi_sel.pc_dev = d->dev; + pi.pi_sel.pc_func = d->func; + + pi.pi_reg = pos - (pos % 4); + pi.pi_width = 4; + + if (ioctl(d->access->fd, PCIOCREAD, &pi) < 0) { + if (errno == ENXIO) + pi.pi_data = 0xffffffff; + else + d->access->error("obsd_read: ioctl(PCIOCREAD) failed"); + } + u.u32 = pi.pi_data; + + switch (len) + { + case 1: + buf[0] = (u8) u.u8[pos % 4]; + break; + case 2: + ((u16 *) buf)[0] = letoh16(u.u16[(pos % 4) / 2]); + break; + case 4: + ((u32 *) buf)[0] = (u32) letoh32(pi.pi_data); + break; + } + return 1; +} + +static int +obsd_write(struct pci_dev *d, int pos, byte *buf, int len) +{ + struct pci_io pi; + + if (!(len == 1 || len == 2 || len == 4)) + return pci_generic_block_write(d, pos, buf, len); + + if (pos >= 256) + return 0; + + pi.pi_sel.pc_bus = d->bus; + pi.pi_sel.pc_dev = d->dev; + pi.pi_sel.pc_func = d->func; + + pi.pi_reg = pos; + pi.pi_width = len; + + switch (len) + { + case 1: + pi.pi_data = buf[0]; + break; + case 2: + pi.pi_data = ((u16 *) buf)[0]; + break; + case 4: + pi.pi_data = ((u32 *) buf)[0]; + break; + } + + if (ioctl(d->access->fd, PCIOCWRITE, &pi) < 0) + d->access->error("obsd_write: ioctl(PCIOCWRITE) failed"); + + return 1; +} + +struct pci_methods pm_obsd_device = { + "obsd-device", + "/dev/pci on OpenBSD", + obsd_config, + obsd_detect, + obsd_init, + obsd_cleanup, + pci_generic_scan, + pci_generic_fill_info, + obsd_read, + obsd_write, + NULL, /* dev_init */ + NULL /* dev_cleanup */ +}; diff --git a/lib/params.c b/lib/params.c new file mode 100644 index 0000000..0e6edbb --- /dev/null +++ b/lib/params.c @@ -0,0 +1,88 @@ +/* + * The PCI Library -- Parameters + * + * Copyright (c) 2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include +#include +#include + +#include "internal.h" + +char * +pci_get_param(struct pci_access *acc, char *param) +{ + struct pci_param *p; + + for (p=acc->params; p; p=p->next) + if (!strcmp(p->param, param)) + return p->value; + return NULL; +} + +void +pci_define_param(struct pci_access *acc, char *param, char *value, char *help) +{ + struct pci_param *p = pci_malloc(acc, sizeof(*p)); + + p->next = acc->params; + acc->params = p; + p->param = param; + p->value = value; + p->value_malloced = 0; + p->help = help; +} + +int +pci_set_param_internal(struct pci_access *acc, char *param, char *value, int copy) +{ + struct pci_param *p; + + for (p=acc->params; p; p=p->next) + if (!strcmp(p->param, param)) + { + if (p->value_malloced) + pci_mfree(p->value); + p->value_malloced = copy; + if (copy) + p->value = pci_strdup(acc, value); + else + p->value = value; + return 0; + } + return -1; +} + +int +pci_set_param(struct pci_access *acc, char *param, char *value) +{ + return pci_set_param_internal(acc, param, value, 1); +} + +void +pci_free_params(struct pci_access *acc) +{ + struct pci_param *p; + + while (p = acc->params) + { + acc->params = p->next; + if (p->value_malloced) + pci_mfree(p->value); + pci_mfree(p); + } +} + +struct pci_param * +pci_walk_params(struct pci_access *acc, struct pci_param *prev) +{ + /* So far, the params form a simple linked list, but this can change in the future */ + if (!prev) + return acc->params; + else + return prev->next; +} + diff --git a/lib/pci.h b/lib/pci.h new file mode 100644 index 0000000..747b762 --- /dev/null +++ b/lib/pci.h @@ -0,0 +1,213 @@ +/* + * The PCI Library + * + * Copyright (c) 1997--2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#ifndef _PCI_LIB_H +#define _PCI_LIB_H + +#include "config.h" +#include "header.h" +#include "types.h" + +#define PCI_LIB_VERSION 0x030000 + +#ifndef PCI_ABI +#define PCI_ABI +#endif + +/* + * PCI Access Structure + */ + +struct pci_methods; + +enum pci_access_type { + /* Known access methods, remember to update access.c as well */ + PCI_ACCESS_AUTO, /* Autodetection */ + PCI_ACCESS_SYS_BUS_PCI, /* Linux /sys/bus/pci */ + PCI_ACCESS_PROC_BUS_PCI, /* Linux /proc/bus/pci */ + PCI_ACCESS_I386_TYPE1, /* i386 ports, type 1 */ + PCI_ACCESS_I386_TYPE2, /* i386 ports, type 2 */ + PCI_ACCESS_FBSD_DEVICE, /* FreeBSD /dev/pci */ + PCI_ACCESS_AIX_DEVICE, /* /dev/pci0, /dev/bus0, etc. */ + PCI_ACCESS_NBSD_LIBPCI, /* NetBSD libpci */ + PCI_ACCESS_OBSD_DEVICE, /* OpenBSD /dev/pci */ + PCI_ACCESS_DUMP, /* Dump file */ + PCI_ACCESS_MAX +}; + +struct pci_access { + /* Options you can change: */ + unsigned int method; /* Access method */ + int writeable; /* Open in read/write mode */ + int buscentric; /* Bus-centric view of the world */ + + char *id_file_name; /* Name of ID list file (use pci_set_name_list_path()) */ + int free_id_name; /* Set if id_file_name is malloced */ + int numeric_ids; /* Enforce PCI_LOOKUP_NUMERIC (>1 => PCI_LOOKUP_MIXED) */ + + unsigned int id_lookup_mode; /* pci_lookup_mode flags which are set automatically */ + /* Default: PCI_LOOKUP_CACHE */ + + int debugging; /* Turn on debugging messages */ + + /* Functions you can override: */ + void (*error)(char *msg, ...) PCI_PRINTF(1,2); /* Write error message and quit */ + void (*warning)(char *msg, ...) PCI_PRINTF(1,2); /* Write a warning message */ + void (*debug)(char *msg, ...) PCI_PRINTF(1,2); /* Write a debugging message */ + + struct pci_dev *devices; /* Devices found on this bus */ + + /* Fields used internally: */ + struct pci_methods *methods; + struct pci_param *params; + struct id_entry **id_hash; /* names.c */ + struct id_bucket *current_id_bucket; + int id_load_failed; + int id_cache_status; /* 0=not read, 1=read, 2=dirty */ + int fd; /* proc: fd */ + int fd_rw; /* proc: fd opened read-write */ + struct pci_dev *cached_dev; /* proc: device the fd is for */ + int fd_pos; /* proc: current position */ +}; + +/* Initialize PCI access */ +struct pci_access *pci_alloc(void) PCI_ABI; +void pci_init(struct pci_access *) PCI_ABI; +void pci_cleanup(struct pci_access *) PCI_ABI; + +/* Scanning of devices */ +void pci_scan_bus(struct pci_access *acc) PCI_ABI; +struct pci_dev *pci_get_dev(struct pci_access *acc, int domain, int bus, int dev, int func) PCI_ABI; /* Raw access to specified device */ +void pci_free_dev(struct pci_dev *) PCI_ABI; + +/* Names of access methods */ +int pci_lookup_method(char *name) PCI_ABI; /* Returns -1 if not found */ +char *pci_get_method_name(int index) PCI_ABI; /* Returns "" if unavailable, NULL if index out of range */ + +/* + * Named parameters + */ + +struct pci_param { + struct pci_param *next; /* Please use pci_walk_params() for traversing the list */ + char *param; /* Name of the parameter */ + char *value; /* Value of the parameter */ + int value_malloced; /* used internally */ + char *help; /* Explanation of the parameter */ +}; + +char *pci_get_param(struct pci_access *acc, char *param) PCI_ABI; +int pci_set_param(struct pci_access *acc, char *param, char *value) PCI_ABI; /* 0 on success, -1 if no such parameter */ +/* To traverse the list, call pci_walk_params repeatedly, first with prev=NULL, and do not modify the parameters during traversal. */ +struct pci_param *pci_walk_params(struct pci_access *acc, struct pci_param *prev) PCI_ABI; + +/* + * Devices + */ + +struct pci_dev { + struct pci_dev *next; /* Next device in the chain */ + u16 domain; /* PCI domain (host bridge) */ + u8 bus, dev, func; /* Bus inside domain, device and function */ + + /* These fields are set by pci_fill_info() */ + int known_fields; /* Set of info fields already known */ + u16 vendor_id, device_id; /* Identity of the device */ + u16 device_class; /* PCI device class */ + int irq; /* IRQ number */ + pciaddr_t base_addr[6]; /* Base addresses */ + pciaddr_t size[6]; /* Region sizes */ + pciaddr_t rom_base_addr; /* Expansion ROM base address */ + pciaddr_t rom_size; /* Expansion ROM size */ + + /* Fields used internally: */ + struct pci_access *access; + struct pci_methods *methods; + u8 *cache; /* Cached config registers */ + int cache_len; + int hdrtype; /* Cached low 7 bits of header type, -1 if unknown */ + void *aux; /* Auxillary data */ +}; + +#define PCI_ADDR_IO_MASK (~(pciaddr_t) 0x3) +#define PCI_ADDR_MEM_MASK (~(pciaddr_t) 0xf) + +u8 pci_read_byte(struct pci_dev *, int pos) PCI_ABI; /* Access to configuration space */ +u16 pci_read_word(struct pci_dev *, int pos) PCI_ABI; +u32 pci_read_long(struct pci_dev *, int pos) PCI_ABI; +int pci_read_block(struct pci_dev *, int pos, u8 *buf, int len) PCI_ABI; +int pci_write_byte(struct pci_dev *, int pos, u8 data) PCI_ABI; +int pci_write_word(struct pci_dev *, int pos, u16 data) PCI_ABI; +int pci_write_long(struct pci_dev *, int pos, u32 data) PCI_ABI; +int pci_write_block(struct pci_dev *, int pos, u8 *buf, int len) PCI_ABI; + +int pci_fill_info(struct pci_dev *, int flags) PCI_ABI; /* Fill in device information */ + +#define PCI_FILL_IDENT 1 +#define PCI_FILL_IRQ 2 +#define PCI_FILL_BASES 4 +#define PCI_FILL_ROM_BASE 8 +#define PCI_FILL_SIZES 16 +#define PCI_FILL_CLASS 32 +#define PCI_FILL_RESCAN 0x10000 + +void pci_setup_cache(struct pci_dev *, u8 *cache, int len) PCI_ABI; + +/* + * Filters + */ + +struct pci_filter { + int domain, bus, slot, func; /* -1 = ANY */ + int vendor, device; +}; + +void pci_filter_init(struct pci_access *, struct pci_filter *) PCI_ABI; +char *pci_filter_parse_slot(struct pci_filter *, char *) PCI_ABI; +char *pci_filter_parse_id(struct pci_filter *, char *) PCI_ABI; +int pci_filter_match(struct pci_filter *, struct pci_dev *) PCI_ABI; + +/* + * Conversion of PCI ID's to names (according to the pci.ids file) + * + * Call pci_lookup_name() to identify different types of ID's: + * + * VENDOR (vendorID) -> vendor + * DEVICE (vendorID, deviceID) -> device + * VENDOR | DEVICE (vendorID, deviceID) -> combined vendor and device + * SUBSYSTEM | VENDOR (subvendorID) -> subsystem vendor + * SUBSYSTEM | DEVICE (vendorID, deviceID, subvendorID, subdevID) -> subsystem device + * SUBSYSTEM | VENDOR | DEVICE (vendorID, deviceID, subvendorID, subdevID) -> combined subsystem v+d + * SUBSYSTEM | ... (-1, -1, subvendorID, subdevID) -> generic subsystem + * CLASS (classID) -> class + * PROGIF (classID, progif) -> programming interface + */ + +char *pci_lookup_name(struct pci_access *a, char *buf, int size, int flags, ...) PCI_ABI; + +int pci_load_name_list(struct pci_access *a) PCI_ABI; /* Called automatically by pci_lookup_*() when needed; returns success */ +void pci_free_name_list(struct pci_access *a) PCI_ABI; /* Called automatically by pci_cleanup() */ +void pci_set_name_list_path(struct pci_access *a, char *name, int to_be_freed) PCI_ABI; +void pci_id_cache_flush(struct pci_access *a) PCI_ABI; + +enum pci_lookup_mode { + PCI_LOOKUP_VENDOR = 1, /* Vendor name (args: vendorID) */ + PCI_LOOKUP_DEVICE = 2, /* Device name (args: vendorID, deviceID) */ + PCI_LOOKUP_CLASS = 4, /* Device class (args: classID) */ + PCI_LOOKUP_SUBSYSTEM = 8, + PCI_LOOKUP_PROGIF = 16, /* Programming interface (args: classID, prog_if) */ + PCI_LOOKUP_NUMERIC = 0x10000, /* Want only formatted numbers; default if access->numeric_ids is set */ + PCI_LOOKUP_NO_NUMBERS = 0x20000, /* Return NULL if not found in the database; default is to print numerically */ + PCI_LOOKUP_MIXED = 0x40000, /* Include both numbers and names */ + PCI_LOOKUP_NETWORK = 0x80000, /* Try to resolve unknown ID's by DNS */ + PCI_LOOKUP_SKIP_LOCAL = 0x100000, /* Do not consult local database */ + PCI_LOOKUP_CACHE = 0x200000, /* Consult the local cache before using DNS */ + PCI_LOOKUP_REFRESH_CACHE = 0x400000, /* Forget all previously cached entries, but still allow updating the cache */ +}; + +#endif diff --git a/lib/pread.h b/lib/pread.h new file mode 100644 index 0000000..0e64326 --- /dev/null +++ b/lib/pread.h @@ -0,0 +1,66 @@ +/* + * The PCI Library -- Portable interface to pread() and pwrite() + * + * Copyright (c) 1997--2003 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +/* + * We'd like to use pread/pwrite for configuration space accesses, but + * unfortunately it isn't simple at all since all libc's until glibc 2.1 + * don't define it. + */ + +#if defined(__GLIBC__) && __GLIBC__ == 2 && __GLIBC_MINOR__ > 0 +/* glibc 2.1 or newer -> pread/pwrite supported automatically */ + +#elif defined(i386) && defined(__GLIBC__) +/* glibc 2.0 on i386 -> call syscalls directly */ +#include +#include +#ifndef SYS_pread +#define SYS_pread 180 +#endif +static int pread(unsigned int fd, void *buf, size_t size, loff_t where) +{ return syscall(SYS_pread, fd, buf, size, where); } +#ifndef SYS_pwrite +#define SYS_pwrite 181 +#endif +static int pwrite(unsigned int fd, void *buf, size_t size, loff_t where) +{ return syscall(SYS_pwrite, fd, buf, size, where); } + +#elif defined(i386) +/* old libc on i386 -> call syscalls directly the old way */ +#include +static _syscall5(int, pread, unsigned int, fd, void *, buf, size_t, size, u32, where_lo, u32, where_hi); +static _syscall5(int, pwrite, unsigned int, fd, void *, buf, size_t, size, u32, where_lo, u32, where_hi); +static int do_read(struct pci_dev *d UNUSED, int fd, void *buf, size_t size, int where) { return pread(fd, buf, size, where, 0); } +static int do_write(struct pci_dev *d UNUSED, int fd, void *buf, size_t size, int where) { return pwrite(fd, buf, size, where, 0); } +#define PCI_HAVE_DO_READ + +#else +/* In all other cases we use lseek/read/write instead to be safe */ +#define make_rw_glue(op) \ + static int do_##op(struct pci_dev *d, int fd, void *buf, size_t size, int where) \ + { \ + struct pci_access *a = d->access; \ + int r; \ + if (a->fd_pos != where && lseek(fd, where, SEEK_SET) < 0) \ + return -1; \ + r = op(fd, buf, size); \ + if (r < 0) \ + a->fd_pos = -1; \ + else \ + a->fd_pos = where + r; \ + return r; \ + } +make_rw_glue(read) +make_rw_glue(write) +#define PCI_HAVE_DO_READ +#endif + +#ifndef PCI_HAVE_DO_READ +#define do_read(d,f,b,l,p) pread(f,b,l,p) +#define do_write(d,f,b,l,p) pwrite(f,b,l,p) +#endif diff --git a/lib/proc.c b/lib/proc.c new file mode 100644 index 0000000..1b44b4e --- /dev/null +++ b/lib/proc.c @@ -0,0 +1,202 @@ +/* + * The PCI Library -- Configuration Access via /proc/bus/pci + * + * Copyright (c) 1997--2003 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#define _GNU_SOURCE + +#include +#include +#include +#include +#include +#include + +#include "internal.h" +#include "pread.h" + +static void +proc_config(struct pci_access *a) +{ + pci_define_param(a, "proc.path", PCI_PATH_PROC_BUS_PCI, "Path to the procfs bus tree"); +} + +static int +proc_detect(struct pci_access *a) +{ + char *name = pci_get_param(a, "proc.path"); + + if (access(name, R_OK)) + { + a->warning("Cannot open %s", name); + return 0; + } + a->debug("...using %s", name); + return 1; +} + +static void +proc_init(struct pci_access *a) +{ + a->fd = -1; +} + +static void +proc_cleanup(struct pci_access *a) +{ + if (a->fd >= 0) + { + close(a->fd); + a->fd = -1; + } +} + +static void +proc_scan(struct pci_access *a) +{ + FILE *f; + char buf[512]; + + if (snprintf(buf, sizeof(buf), "%s/devices", pci_get_param(a, "proc.path")) == sizeof(buf)) + a->error("File name too long"); + f = fopen(buf, "r"); + if (!f) + a->error("Cannot open %s", buf); + while (fgets(buf, sizeof(buf)-1, f)) + { + struct pci_dev *d = pci_alloc_dev(a); + unsigned int dfn, vend, cnt, known; + +#define F " " PCIADDR_T_FMT + cnt = sscanf(buf, "%x %x %x" F F F F F F F F F F F F F F, + &dfn, + &vend, + &d->irq, + &d->base_addr[0], + &d->base_addr[1], + &d->base_addr[2], + &d->base_addr[3], + &d->base_addr[4], + &d->base_addr[5], + &d->rom_base_addr, + &d->size[0], + &d->size[1], + &d->size[2], + &d->size[3], + &d->size[4], + &d->size[5], + &d->rom_size); +#undef F + if (cnt != 9 && cnt != 10 && cnt != 17) + a->error("proc: parse error (read only %d items)", cnt); + d->bus = dfn >> 8U; + d->dev = PCI_SLOT(dfn & 0xff); + d->func = PCI_FUNC(dfn & 0xff); + d->vendor_id = vend >> 16U; + d->device_id = vend & 0xffff; + known = PCI_FILL_IDENT; + if (!a->buscentric) + { + known |= PCI_FILL_IRQ | PCI_FILL_BASES; + if (cnt >= 10) + known |= PCI_FILL_ROM_BASE; + if (cnt >= 17) + known |= PCI_FILL_SIZES; + } + d->known_fields = known; + pci_link_dev(a, d); + } + fclose(f); +} + +static int +proc_setup(struct pci_dev *d, int rw) +{ + struct pci_access *a = d->access; + + if (a->cached_dev != d || a->fd_rw < rw) + { + char buf[1024]; + int e; + if (a->fd >= 0) + close(a->fd); + e = snprintf(buf, sizeof(buf), "%s/%02x/%02x.%d", + pci_get_param(a, "proc.path"), + d->bus, d->dev, d->func); + if (e < 0 || e >= (int) sizeof(buf)) + a->error("File name too long"); + a->fd_rw = a->writeable || rw; + a->fd = open(buf, a->fd_rw ? O_RDWR : O_RDONLY); + if (a->fd < 0) + a->warning("Cannot open %s", buf); + a->cached_dev = d; + a->fd_pos = 0; + } + return a->fd; +} + +static int +proc_read(struct pci_dev *d, int pos, byte *buf, int len) +{ + int fd = proc_setup(d, 0); + int res; + + if (fd < 0) + return 0; + res = do_read(d, fd, buf, len, pos); + if (res < 0) + { + d->access->warning("proc_read: read failed: %s", strerror(errno)); + return 0; + } + else if (res != len) + return 0; + return 1; +} + +static int +proc_write(struct pci_dev *d, int pos, byte *buf, int len) +{ + int fd = proc_setup(d, 1); + int res; + + if (fd < 0) + return 0; + res = do_write(d, fd, buf, len, pos); + if (res < 0) + { + d->access->warning("proc_write: write failed: %s", strerror(errno)); + return 0; + } + else if (res != len) + { + d->access->warning("proc_write: tried to write %d bytes at %d, but only %d succeeded", len, pos, res); + return 0; + } + return 1; +} + +static void +proc_cleanup_dev(struct pci_dev *d) +{ + if (d->access->cached_dev == d) + d->access->cached_dev = NULL; +} + +struct pci_methods pm_linux_proc = { + "linux-proc", + "The proc file system on Linux", + proc_config, + proc_detect, + proc_init, + proc_cleanup, + proc_scan, + pci_generic_fill_info, + proc_read, + proc_write, + NULL, /* init_dev */ + proc_cleanup_dev +}; diff --git a/lib/sysdep.h b/lib/sysdep.h new file mode 100644 index 0000000..2a25c93 --- /dev/null +++ b/lib/sysdep.h @@ -0,0 +1,88 @@ +/* + * The PCI Library -- System-Dependent Stuff + * + * Copyright (c) 1997--2004 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#ifdef __GNUC__ +#define UNUSED __attribute__((unused)) +#define NONRET __attribute__((noreturn)) +#else +#define UNUSED +#define NONRET +#define inline +#endif + +typedef u8 byte; +typedef u16 word; + +#ifdef PCI_OS_WINDOWS +#define strcasecmp strcmpi +#endif + +#ifdef PCI_HAVE_LINUX_BYTEORDER_H + +#include +#define cpu_to_le16 __cpu_to_le16 +#define cpu_to_le32 __cpu_to_le32 +#define le16_to_cpu __le16_to_cpu +#define le32_to_cpu __le32_to_cpu + +#else + +#ifdef PCI_OS_LINUX +#include +#define BYTE_ORDER __BYTE_ORDER +#define BIG_ENDIAN __BIG_ENDIAN +#endif + +#ifdef PCI_OS_SUNOS +#include +#define BIG_ENDIAN 4321 +#ifdef _LITTLE_ENDIAN +#define BYTE_ORDER 1234 +#else +#define BYTE_ORDER 4321 +#endif +#endif + +#ifdef PCI_OS_WINDOWS +#ifdef __MINGW32__ + #include +#else + #include + #define BIG_ENDIAN 4321 + #define LITTLE_ENDIAN 1234 + #define BYTE_ORDER LITTLE_ENDIAN + #define snprintf _snprintf +#endif +#endif + +#if BYTE_ORDER == BIG_ENDIAN +#define cpu_to_le16 swab16 +#define cpu_to_le32 swab32 +#define le16_to_cpu swab16 +#define le32_to_cpu swab32 + +static inline word swab16(word w) +{ + return (w << 8) | ((w >> 8) & 0xff); +} + +static inline u32 swab32(u32 w) +{ + return ((w & 0xff000000) >> 24) | + ((w & 0x00ff0000) >> 8) | + ((w & 0x0000ff00) << 8) | + ((w & 0x000000ff) << 24); +} +#else +#define cpu_to_le16(x) (x) +#define cpu_to_le32(x) (x) +#define le16_to_cpu(x) (x) +#define le32_to_cpu(x) (x) +#endif + +#endif diff --git a/lib/sysfs.c b/lib/sysfs.c new file mode 100644 index 0000000..ea386fa --- /dev/null +++ b/lib/sysfs.c @@ -0,0 +1,265 @@ +/* + * The PCI Library -- Configuration Access via /sys/bus/pci + * + * Copyright (c) 2003 Matthew Wilcox + * Copyright (c) 1997--2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#define _GNU_SOURCE + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "internal.h" +#include "pread.h" + +static void +sysfs_config(struct pci_access *a) +{ + pci_define_param(a, "sysfs.path", PCI_PATH_SYS_BUS_PCI, "Path to the sysfs device tree"); +} + +static inline char * +sysfs_name(struct pci_access *a) +{ + return pci_get_param(a, "sysfs.path"); +} + +static int +sysfs_detect(struct pci_access *a) +{ + if (access(sysfs_name(a), R_OK)) + { + a->debug("...cannot open %s", sysfs_name(a)); + return 0; + } + a->debug("...using %s", sysfs_name(a)); + return 1; +} + +static void +sysfs_init(struct pci_access *a) +{ + a->fd = -1; +} + +static void +sysfs_cleanup(struct pci_access *a) +{ + if (a->fd >= 0) + { + close(a->fd); + a->fd = -1; + } +} + +#define OBJNAMELEN 1024 +static void +sysfs_obj_name(struct pci_dev *d, char *object, char *buf) +{ + int n = snprintf(buf, OBJNAMELEN, "%s/devices/%04x:%02x:%02x.%d/%s", + sysfs_name(d->access), d->domain, d->bus, d->dev, d->func, object); + if (n < 0 || n >= OBJNAMELEN) + d->access->error("File name too long"); +} + +static int +sysfs_get_value(struct pci_dev *d, char *object) +{ + struct pci_access *a = d->access; + int fd, n; + char namebuf[OBJNAMELEN], buf[256]; + + sysfs_obj_name(d, object, namebuf); + fd = open(namebuf, O_RDONLY); + if (fd < 0) + a->error("Cannot open %s: %s", namebuf, strerror(errno)); + n = read(fd, buf, sizeof(buf)); + close(fd); + if (n < 0) + a->error("Error reading %s: %s", namebuf, strerror(errno)); + if (n >= (int) sizeof(buf)) + a->error("Value in %s too long", namebuf); + buf[n] = 0; + return strtol(buf, NULL, 0); +} + +static void +sysfs_get_resources(struct pci_dev *d) +{ + struct pci_access *a = d->access; + char namebuf[OBJNAMELEN], buf[256]; + FILE *file; + int i; + + sysfs_obj_name(d, "resource", namebuf); + file = fopen(namebuf, "r"); + if (!file) + a->error("Cannot open %s: %s", namebuf, strerror(errno)); + for (i = 0; i < 7; i++) + { + unsigned long long start, end, size; + if (!fgets(buf, sizeof(buf), file)) + break; + if (sscanf(buf, "%llx %llx", &start, &end) != 2) + a->error("Syntax error in %s", namebuf); + if (start) + size = end - start + 1; + else + size = 0; + if (i < 6) + { + d->base_addr[i] = start; + d->size[i] = size; + } + else + { + d->rom_base_addr = start; + d->rom_size = size; + } + } + fclose(file); +} + +static void sysfs_scan(struct pci_access *a) +{ + char dirname[1024]; + DIR *dir; + struct dirent *entry; + int n; + + n = snprintf(dirname, sizeof(dirname), "%s/devices", sysfs_name(a)); + if (n < 0 || n >= (int) sizeof(dirname)) + a->error("Directory name too long"); + dir = opendir(dirname); + if (!dir) + a->error("Cannot open %s", dirname); + while ((entry = readdir(dir))) + { + struct pci_dev *d; + unsigned int dom, bus, dev, func; + + /* ".", ".." or a special non-device perhaps */ + if (entry->d_name[0] == '.') + continue; + + d = pci_alloc_dev(a); + if (sscanf(entry->d_name, "%x:%x:%x.%d", &dom, &bus, &dev, &func) < 4) + a->error("sysfs_scan: Couldn't parse entry name %s", entry->d_name); + d->domain = dom; + d->bus = bus; + d->dev = dev; + d->func = func; + if (!a->buscentric) + { + sysfs_get_resources(d); + d->irq = sysfs_get_value(d, "irq"); + /* + * We could read these faster from the config registers, but we want to give + * the kernel a chance to fix up ID's and especially classes of broken devices. + */ + d->vendor_id = sysfs_get_value(d, "vendor"); + d->device_id = sysfs_get_value(d, "device"); + d->device_class = sysfs_get_value(d, "class") >> 8; + d->known_fields = PCI_FILL_IDENT | PCI_FILL_CLASS | PCI_FILL_IRQ | PCI_FILL_BASES | PCI_FILL_ROM_BASE | PCI_FILL_SIZES; + } + pci_link_dev(a, d); + } + closedir(dir); +} + +static int +sysfs_setup(struct pci_dev *d, int rw) +{ + struct pci_access *a = d->access; + + if (a->cached_dev != d || a->fd_rw < rw) + { + char namebuf[OBJNAMELEN]; + if (a->fd >= 0) + close(a->fd); + sysfs_obj_name(d, "config", namebuf); + a->fd_rw = a->writeable || rw; + a->fd = open(namebuf, a->fd_rw ? O_RDWR : O_RDONLY); + if (a->fd < 0) + a->warning("Cannot open %s", namebuf); + a->cached_dev = d; + a->fd_pos = 0; + } + return a->fd; +} + +static int sysfs_read(struct pci_dev *d, int pos, byte *buf, int len) +{ + int fd = sysfs_setup(d, 0); + int res; + + if (fd < 0) + return 0; + res = do_read(d, fd, buf, len, pos); + if (res < 0) + { + d->access->warning("sysfs_read: read failed: %s", strerror(errno)); + return 0; + } + else if (res != len) + return 0; + return 1; +} + +static int sysfs_write(struct pci_dev *d, int pos, byte *buf, int len) +{ + int fd = sysfs_setup(d, 1); + int res; + + if (fd < 0) + return 0; + res = do_write(d, fd, buf, len, pos); + if (res < 0) + { + d->access->warning("sysfs_write: write failed: %s", strerror(errno)); + return 0; + } + else if (res != len) + { + d->access->warning("sysfs_write: tried to write %d bytes at %d, but only %d succeeded", len, pos, res); + return 0; + } + return 1; +} + +static void sysfs_cleanup_dev(struct pci_dev *d) +{ + struct pci_access *a = d->access; + + if (a->cached_dev == d) + { + a->cached_dev = NULL; + close(a->fd); + a->fd = -1; + } +} + +struct pci_methods pm_linux_sysfs = { + "linux-sysfs", + "The sys filesystem on Linux", + sysfs_config, + sysfs_detect, + sysfs_init, + sysfs_cleanup, + sysfs_scan, + pci_generic_fill_info, + sysfs_read, + sysfs_write, + NULL, /* init_dev */ + sysfs_cleanup_dev +}; diff --git a/lib/types.h b/lib/types.h new file mode 100644 index 0000000..3e0e5c3 --- /dev/null +++ b/lib/types.h @@ -0,0 +1,65 @@ +/* + * The PCI Library -- Types and Format Strings + * + * Copyright (c) 1997--2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include + +#ifndef PCI_HAVE_Uxx_TYPES + +#ifdef PCI_OS_WINDOWS +#include +typedef BYTE u8; +typedef WORD u16; +typedef DWORD u32; +#elif defined(PCI_HAVE_STDINT_H) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) +#include +typedef uint8_t u8; +typedef uint16_t u16; +typedef uint32_t u32; +#else +typedef u_int8_t u8; +typedef u_int16_t u16; +typedef u_int32_t u32; +#endif + +#ifdef PCI_HAVE_64BIT_ADDRESS +#include +#if ULONG_MAX > 0xffffffff +typedef unsigned long u64; +#define PCI_U64_FMT "l" +#else +typedef unsigned long long u64; +#define PCI_U64_FMT "ll" +#endif +#endif + +#endif /* PCI_HAVE_Uxx_TYPES */ + +#ifdef PCI_HAVE_64BIT_ADDRESS +typedef u64 pciaddr_t; +#define PCIADDR_T_FMT "%08" PCI_U64_FMT "x" +#define PCIADDR_PORT_FMT "%04" PCI_U64_FMT "x" +#else +typedef u32 pciaddr_t; +#define PCIADDR_T_FMT "%08x" +#define PCIADDR_PORT_FMT "%04x" +#endif + +#ifdef PCI_ARCH_SPARC64 +/* On sparc64 Linux the kernel reports remapped port addresses and IRQ numbers */ +#undef PCIADDR_PORT_FMT +#define PCIADDR_PORT_FMT PCIADDR_T_FMT +#define PCIIRQ_FMT "%08x" +#else +#define PCIIRQ_FMT "%d" +#endif + +#ifdef __GNUC__ +#define PCI_PRINTF(x,y) __attribute__((format(printf, x, y))) +#else +#define PCI_PRINTF(x,y) +#endif diff --git a/lspci.c b/lspci.c new file mode 100644 index 0000000..0515fcd --- /dev/null +++ b/lspci.c @@ -0,0 +1,2801 @@ +/* + * The PCI Utilities -- List All PCI Devices + * + * Copyright (c) 1997--2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include +#include +#include +#include +#include + +#define PCIUTILS_LSPCI +#include "pciutils.h" + +/* Options */ + +static int verbose; /* Show detailed information */ +static int opt_buscentric; /* Show bus addresses/IRQ's instead of CPU-visible ones */ +static int opt_hex; /* Show contents of config space as hexadecimal numbers */ +static struct pci_filter filter; /* Device filter */ +static int opt_tree; /* Show bus tree */ +static int opt_machine; /* Generate machine-readable output */ +static int opt_map_mode; /* Bus mapping mode enabled */ +static int opt_domains; /* Show domain numbers (0=disabled, 1=auto-detected, 2=requested) */ +static int opt_kernel; /* Show kernel drivers */ +static int opt_query_dns; /* Query the DNS (0=disabled, 1=enabled, 2=refresh cache) */ +static int opt_query_all; /* Query the DNS for all entries */ +static char *opt_pcimap; /* Override path to Linux modules.pcimap */ + +const char program_name[] = "lspci"; + +static char options[] = "nvbxs:d:ti:mgp:qkMDQ" GENERIC_OPTIONS ; + +static char help_msg[] = +"Usage: lspci []\n" +"\n" +"Basic display modes:\n" +"-mm\t\tProduce machine-readable output (single -m for an obsolete format)\n" +"-t\t\tShow bus tree\n" +"\n" +"Display options:\n" +"-v\t\tBe verbose (-vv for very verbose)\n" +#ifdef PCI_OS_LINUX +"-k\t\tShow kernel drivers handling each device\n" +#endif +"-x\t\tShow hex-dump of the standard part of the config space\n" +"-xxx\t\tShow hex-dump of the whole config space (dangerous; root only)\n" +"-xxxx\t\tShow hex-dump of the 4096-byte extended config space (root only)\n" +"-b\t\tBus-centric view (addresses and IRQ's as seen by the bus)\n" +"-D\t\tAlways show domain numbers\n" +"\n" +"Resolving of device ID's to names:\n" +"-n\t\tShow numeric ID's\n" +"-nn\t\tShow both textual and numeric ID's (names & numbers)\n" +#ifdef PCI_USE_DNS +"-q\t\tQuery the PCI ID database for unknown ID's via DNS\n" +"-qq\t\tAs above, but re-query locally cached entries\n" +"-Q\t\tQuery the PCI ID database for all ID's via DNS\n" +#endif +"\n" +"Selection of devices:\n" +"-s [[[[]:]]:][][.[]]\tShow only devices in selected slots\n" +"-d []:[]\t\t\tShow only devices with specified ID's\n" +"\n" +"Other options:\n" +"-i \tUse specified ID database instead of %s\n" +#ifdef PCI_OS_LINUX +"-p \tLook up kernel modules in a given file instead of default modules.pcimap\n" +#endif +"-M\t\tEnable `bus mapping' mode (dangerous; root only)\n" +"\n" +"PCI access options:\n" +GENERIC_HELP +; + +/*** Communication with libpci ***/ + +static struct pci_access *pacc; + +/* + * If we aren't being compiled by GCC, use xmalloc() instead of alloca(). + * This increases our memory footprint, but only slightly since we don't + * use alloca() much. + */ +#if defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) || defined (__DragonFly__) +/* alloca() is defined in stdlib.h */ +#elif defined(__GNUC__) && !defined(PCI_OS_WINDOWS) +#include +#else +#undef alloca +#define alloca xmalloc +#endif + +/*** Our view of the PCI bus ***/ + +struct device { + struct device *next; + struct pci_dev *dev; + unsigned int config_cached, config_bufsize; + byte *config; /* Cached configuration space data */ + byte *present; /* Maps which configuration bytes are present */ +}; + +static struct device *first_dev; +static int seen_errors; + +static int +config_fetch(struct device *d, unsigned int pos, unsigned int len) +{ + unsigned int end = pos+len; + int result; + + while (pos < d->config_bufsize && len && d->present[pos]) + pos++, len--; + while (pos+len <= d->config_bufsize && len && d->present[pos+len-1]) + len--; + if (!len) + return 1; + + if (end > d->config_bufsize) + { + int orig_size = d->config_bufsize; + while (end > d->config_bufsize) + d->config_bufsize *= 2; + d->config = xrealloc(d->config, d->config_bufsize); + d->present = xrealloc(d->present, d->config_bufsize); + memset(d->present + orig_size, 0, d->config_bufsize - orig_size); + } + result = pci_read_block(d->dev, pos, d->config + pos, len); + if (result) + memset(d->present + pos, 1, len); + return result; +} + +static struct device * +scan_device(struct pci_dev *p) +{ + struct device *d; + + if (p->domain && !opt_domains) + opt_domains = 1; + if (!pci_filter_match(&filter, p)) + return NULL; + d = xmalloc(sizeof(struct device)); + memset(d, 0, sizeof(*d)); + d->dev = p; + d->config_cached = d->config_bufsize = 64; + d->config = xmalloc(64); + d->present = xmalloc(64); + memset(d->present, 1, 64); + if (!pci_read_block(p, 0, d->config, 64)) + { + fprintf(stderr, "lspci: Unable to read the standard configuration space header of device %04x:%02x:%02x.%d\n", + p->domain, p->bus, p->dev, p->func); + seen_errors++; + return NULL; + } + if ((d->config[PCI_HEADER_TYPE] & 0x7f) == PCI_HEADER_TYPE_CARDBUS) + { + /* For cardbus bridges, we need to fetch 64 bytes more to get the + * full standard header... */ + if (config_fetch(d, 64, 64)) + d->config_cached += 64; + } + pci_setup_cache(p, d->config, d->config_cached); + pci_fill_info(p, PCI_FILL_IDENT | PCI_FILL_CLASS | PCI_FILL_IRQ | PCI_FILL_BASES | PCI_FILL_ROM_BASE | PCI_FILL_SIZES); + return d; +} + +static void +scan_devices(void) +{ + struct device *d; + struct pci_dev *p; + + pci_scan_bus(pacc); + for(p=pacc->devices; p; p=p->next) + if (d = scan_device(p)) + { + d->next = first_dev; + first_dev = d; + } +} + +/*** Config space accesses ***/ + +static void +check_conf_range(struct device *d, unsigned int pos, unsigned int len) +{ + while (len) + if (!d->present[pos]) + die("Internal bug: Accessing non-read configuration byte at position %x", pos); + else + pos++, len--; +} + +static inline byte +get_conf_byte(struct device *d, unsigned int pos) +{ + check_conf_range(d, pos, 1); + return d->config[pos]; +} + +static word +get_conf_word(struct device *d, unsigned int pos) +{ + check_conf_range(d, pos, 2); + return d->config[pos] | (d->config[pos+1] << 8); +} + +static u32 +get_conf_long(struct device *d, unsigned int pos) +{ + check_conf_range(d, pos, 4); + return d->config[pos] | + (d->config[pos+1] << 8) | + (d->config[pos+2] << 16) | + (d->config[pos+3] << 24); +} + +/*** Sorting ***/ + +static int +compare_them(const void *A, const void *B) +{ + const struct pci_dev *a = (*(const struct device **)A)->dev; + const struct pci_dev *b = (*(const struct device **)B)->dev; + + if (a->domain < b->domain) + return -1; + if (a->domain > b->domain) + return 1; + if (a->bus < b->bus) + return -1; + if (a->bus > b->bus) + return 1; + if (a->dev < b->dev) + return -1; + if (a->dev > b->dev) + return 1; + if (a->func < b->func) + return -1; + if (a->func > b->func) + return 1; + return 0; +} + +static void +sort_them(void) +{ + struct device **index, **h, **last_dev; + int cnt; + struct device *d; + + cnt = 0; + for(d=first_dev; d; d=d->next) + cnt++; + h = index = alloca(sizeof(struct device *) * cnt); + for(d=first_dev; d; d=d->next) + *h++ = d; + qsort(index, cnt, sizeof(struct device *), compare_them); + last_dev = &first_dev; + h = index; + while (cnt--) + { + *last_dev = *h; + last_dev = &(*h)->next; + h++; + } + *last_dev = NULL; +} + +/*** Normal output ***/ + +#define FLAG(x,y) ((x & y) ? '+' : '-') + +static void +show_slot_name(struct device *d) +{ + struct pci_dev *p = d->dev; + + if (!opt_machine ? opt_domains : (p->domain || opt_domains >= 2)) + printf("%04x:", p->domain); + printf("%02x:%02x.%d", p->bus, p->dev, p->func); +} + +static void +show_terse(struct device *d) +{ + int c; + struct pci_dev *p = d->dev; + char classbuf[128], devbuf[128]; + + show_slot_name(d); + printf(" %s: %s", + pci_lookup_name(pacc, classbuf, sizeof(classbuf), + PCI_LOOKUP_CLASS, + p->device_class), + pci_lookup_name(pacc, devbuf, sizeof(devbuf), + PCI_LOOKUP_VENDOR | PCI_LOOKUP_DEVICE, + p->vendor_id, p->device_id)); + if (c = get_conf_byte(d, PCI_REVISION_ID)) + printf(" (rev %02x)", c); + if (verbose) + { + char *x; + c = get_conf_byte(d, PCI_CLASS_PROG); + x = pci_lookup_name(pacc, devbuf, sizeof(devbuf), + PCI_LOOKUP_PROGIF | PCI_LOOKUP_NO_NUMBERS, + p->device_class, c); + if (c || x) + { + printf(" (prog-if %02x", c); + if (x) + printf(" [%s]", x); + putchar(')'); + } + } + putchar('\n'); +} + +static void +get_subid(struct device *d, word *subvp, word *subdp) +{ + byte htype = get_conf_byte(d, PCI_HEADER_TYPE) & 0x7f; + + if (htype == PCI_HEADER_TYPE_NORMAL) + { + *subvp = get_conf_word(d, PCI_SUBSYSTEM_VENDOR_ID); + *subdp = get_conf_word(d, PCI_SUBSYSTEM_ID); + } + else if (htype == PCI_HEADER_TYPE_CARDBUS && d->config_cached >= 128) + { + *subvp = get_conf_word(d, PCI_CB_SUBSYSTEM_VENDOR_ID); + *subdp = get_conf_word(d, PCI_CB_SUBSYSTEM_ID); + } + else + *subvp = *subdp = 0xffff; +} + +/*** Capabilities ***/ + +static void +cap_pm(struct device *d, int where, int cap) +{ + int t, b; + static int pm_aux_current[8] = { 0, 55, 100, 160, 220, 270, 320, 375 }; + + printf("Power Management version %d\n", cap & PCI_PM_CAP_VER_MASK); + if (verbose < 2) + return; + printf("\t\tFlags: PMEClk%c DSI%c D1%c D2%c AuxCurrent=%dmA PME(D0%c,D1%c,D2%c,D3hot%c,D3cold%c)\n", + FLAG(cap, PCI_PM_CAP_PME_CLOCK), + FLAG(cap, PCI_PM_CAP_DSI), + FLAG(cap, PCI_PM_CAP_D1), + FLAG(cap, PCI_PM_CAP_D2), + pm_aux_current[(cap >> 6) & 7], + FLAG(cap, PCI_PM_CAP_PME_D0), + FLAG(cap, PCI_PM_CAP_PME_D1), + FLAG(cap, PCI_PM_CAP_PME_D2), + FLAG(cap, PCI_PM_CAP_PME_D3_HOT), + FLAG(cap, PCI_PM_CAP_PME_D3_COLD)); + if (!config_fetch(d, where + PCI_PM_CTRL, PCI_PM_SIZEOF - PCI_PM_CTRL)) + return; + t = get_conf_word(d, where + PCI_PM_CTRL); + printf("\t\tStatus: D%d PME-Enable%c DSel=%d DScale=%d PME%c\n", + t & PCI_PM_CTRL_STATE_MASK, + FLAG(t, PCI_PM_CTRL_PME_ENABLE), + (t & PCI_PM_CTRL_DATA_SEL_MASK) >> 9, + (t & PCI_PM_CTRL_DATA_SCALE_MASK) >> 13, + FLAG(t, PCI_PM_CTRL_PME_STATUS)); + b = get_conf_byte(d, where + PCI_PM_PPB_EXTENSIONS); + if (b) + printf("\t\tBridge: PM%c B3%c\n", + FLAG(t, PCI_PM_BPCC_ENABLE), + FLAG(~t, PCI_PM_PPB_B2_B3)); +} + +static void +format_agp_rate(int rate, char *buf, int agp3) +{ + char *c = buf; + int i; + + for(i=0; i<=2; i++) + if (rate & (1 << i)) + { + if (c != buf) + *c++ = ','; + c += sprintf(c, "x%d", 1 << (i + 2*agp3)); + } + if (c != buf) + *c = 0; + else + strcpy(buf, ""); +} + +static void +cap_agp(struct device *d, int where, int cap) +{ + u32 t; + char rate[16]; + int ver, rev; + int agp3 = 0; + + ver = (cap >> 4) & 0x0f; + rev = cap & 0x0f; + printf("AGP version %x.%x\n", ver, rev); + if (verbose < 2) + return; + if (!config_fetch(d, where + PCI_AGP_STATUS, PCI_AGP_SIZEOF - PCI_AGP_STATUS)) + return; + t = get_conf_long(d, where + PCI_AGP_STATUS); + if (ver >= 3 && (t & PCI_AGP_STATUS_AGP3)) + agp3 = 1; + format_agp_rate(t & 7, rate, agp3); + printf("\t\tStatus: RQ=%d Iso%c ArqSz=%d Cal=%d SBA%c ITACoh%c GART64%c HTrans%c 64bit%c FW%c AGP3%c Rate=%s\n", + ((t & PCI_AGP_STATUS_RQ_MASK) >> 24U) + 1, + FLAG(t, PCI_AGP_STATUS_ISOCH), + ((t & PCI_AGP_STATUS_ARQSZ_MASK) >> 13), + ((t & PCI_AGP_STATUS_CAL_MASK) >> 10), + FLAG(t, PCI_AGP_STATUS_SBA), + FLAG(t, PCI_AGP_STATUS_ITA_COH), + FLAG(t, PCI_AGP_STATUS_GART64), + FLAG(t, PCI_AGP_STATUS_HTRANS), + FLAG(t, PCI_AGP_STATUS_64BIT), + FLAG(t, PCI_AGP_STATUS_FW), + FLAG(t, PCI_AGP_STATUS_AGP3), + rate); + t = get_conf_long(d, where + PCI_AGP_COMMAND); + format_agp_rate(t & 7, rate, agp3); + printf("\t\tCommand: RQ=%d ArqSz=%d Cal=%d SBA%c AGP%c GART64%c 64bit%c FW%c Rate=%s\n", + ((t & PCI_AGP_COMMAND_RQ_MASK) >> 24U) + 1, + ((t & PCI_AGP_COMMAND_ARQSZ_MASK) >> 13), + ((t & PCI_AGP_COMMAND_CAL_MASK) >> 10), + FLAG(t, PCI_AGP_COMMAND_SBA), + FLAG(t, PCI_AGP_COMMAND_AGP), + FLAG(t, PCI_AGP_COMMAND_GART64), + FLAG(t, PCI_AGP_COMMAND_64BIT), + FLAG(t, PCI_AGP_COMMAND_FW), + rate); +} + +static void +cap_pcix_nobridge(struct device *d, int where) +{ + u16 command; + u32 status; + static const byte max_outstanding[8] = { 1, 2, 3, 4, 8, 12, 16, 32 }; + + printf("PCI-X non-bridge device\n"); + + if (verbose < 2) + return; + + if (!config_fetch(d, where + PCI_PCIX_STATUS, 4)) + return; + + command = get_conf_word(d, where + PCI_PCIX_COMMAND); + status = get_conf_long(d, where + PCI_PCIX_STATUS); + printf("\t\tCommand: DPERE%c ERO%c RBC=%d OST=%d\n", + FLAG(command, PCI_PCIX_COMMAND_DPERE), + FLAG(command, PCI_PCIX_COMMAND_ERO), + 1 << (9 + ((command & PCI_PCIX_COMMAND_MAX_MEM_READ_BYTE_COUNT) >> 2U)), + max_outstanding[(command & PCI_PCIX_COMMAND_MAX_OUTSTANDING_SPLIT_TRANS) >> 4U]); + printf("\t\tStatus: Dev=%02x:%02x.%d 64bit%c 133MHz%c SCD%c USC%c DC=%s DMMRBC=%u DMOST=%u DMCRS=%u RSCEM%c 266MHz%c 533MHz%c\n", + ((status >> 8) & 0xff), + ((status >> 3) & 0x1f), + (status & PCI_PCIX_STATUS_FUNCTION), + FLAG(status, PCI_PCIX_STATUS_64BIT), + FLAG(status, PCI_PCIX_STATUS_133MHZ), + FLAG(status, PCI_PCIX_STATUS_SC_DISCARDED), + FLAG(status, PCI_PCIX_STATUS_UNEXPECTED_SC), + ((status & PCI_PCIX_STATUS_DEVICE_COMPLEXITY) ? "bridge" : "simple"), + 1 << (9 + ((status >> 21) & 3U)), + max_outstanding[(status >> 23) & 7U], + 1 << (3 + ((status >> 26) & 7U)), + FLAG(status, PCI_PCIX_STATUS_RCVD_SC_ERR_MESS), + FLAG(status, PCI_PCIX_STATUS_266MHZ), + FLAG(status, PCI_PCIX_STATUS_533MHZ)); +} + +static void +cap_pcix_bridge(struct device *d, int where) +{ + static const char * const sec_clock_freq[8] = { "conv", "66MHz", "100MHz", "133MHz", "?4", "?5", "?6", "?7" }; + u16 secstatus; + u32 status, upstcr, downstcr; + + printf("PCI-X bridge device\n"); + + if (verbose < 2) + return; + + if (!config_fetch(d, where + PCI_PCIX_BRIDGE_STATUS, 12)) + return; + + secstatus = get_conf_word(d, where + PCI_PCIX_BRIDGE_SEC_STATUS); + printf("\t\tSecondary Status: 64bit%c 133MHz%c SCD%c USC%c SCO%c SRD%c Freq=%s\n", + FLAG(secstatus, PCI_PCIX_BRIDGE_SEC_STATUS_64BIT), + FLAG(secstatus, PCI_PCIX_BRIDGE_SEC_STATUS_133MHZ), + FLAG(secstatus, PCI_PCIX_BRIDGE_SEC_STATUS_SC_DISCARDED), + FLAG(secstatus, PCI_PCIX_BRIDGE_SEC_STATUS_UNEXPECTED_SC), + FLAG(secstatus, PCI_PCIX_BRIDGE_SEC_STATUS_SC_OVERRUN), + FLAG(secstatus, PCI_PCIX_BRIDGE_SEC_STATUS_SPLIT_REQUEST_DELAYED), + sec_clock_freq[(secstatus >> 6) & 7]); + status = get_conf_long(d, where + PCI_PCIX_BRIDGE_STATUS); + printf("\t\tStatus: Dev=%02x:%02x.%d 64bit%c 133MHz%c SCD%c USC%c SCO%c SRD%c\n", + ((status >> 8) & 0xff), + ((status >> 3) & 0x1f), + (status & PCI_PCIX_BRIDGE_STATUS_FUNCTION), + FLAG(status, PCI_PCIX_BRIDGE_STATUS_64BIT), + FLAG(status, PCI_PCIX_BRIDGE_STATUS_133MHZ), + FLAG(status, PCI_PCIX_BRIDGE_STATUS_SC_DISCARDED), + FLAG(status, PCI_PCIX_BRIDGE_STATUS_UNEXPECTED_SC), + FLAG(status, PCI_PCIX_BRIDGE_STATUS_SC_OVERRUN), + FLAG(status, PCI_PCIX_BRIDGE_STATUS_SPLIT_REQUEST_DELAYED)); + upstcr = get_conf_long(d, where + PCI_PCIX_BRIDGE_UPSTREAM_SPLIT_TRANS_CTRL); + printf("\t\tUpstream: Capacity=%u CommitmentLimit=%u\n", + (upstcr & PCI_PCIX_BRIDGE_STR_CAPACITY), + (upstcr >> 16) & 0xffff); + downstcr = get_conf_long(d, where + PCI_PCIX_BRIDGE_DOWNSTREAM_SPLIT_TRANS_CTRL); + printf("\t\tDownstream: Capacity=%u CommitmentLimit=%u\n", + (downstcr & PCI_PCIX_BRIDGE_STR_CAPACITY), + (downstcr >> 16) & 0xffff); +} + +static void +cap_pcix(struct device *d, int where) +{ + switch (get_conf_byte(d, PCI_HEADER_TYPE) & 0x7f) + { + case PCI_HEADER_TYPE_NORMAL: + cap_pcix_nobridge(d, where); + break; + case PCI_HEADER_TYPE_BRIDGE: + cap_pcix_bridge(d, where); + break; + } +} + +static inline char * +ht_link_width(unsigned width) +{ + static char * const widths[8] = { "8bit", "16bit", "[2]", "32bit", "2bit", "4bit", "[6]", "N/C" }; + return widths[width]; +} + +static inline char * +ht_link_freq(unsigned freq) +{ + static char * const freqs[16] = { "200MHz", "300MHz", "400MHz", "500MHz", "600MHz", "800MHz", "1.0GHz", "1.2GHz", + "1.4GHz", "1.6GHz", "[a]", "[b]", "[c]", "[d]", "[e]", "Vend" }; + return freqs[freq]; +} + +static void +cap_ht_pri(struct device *d, int where, int cmd) +{ + u16 lctr0, lcnf0, lctr1, lcnf1, eh; + u8 rid, lfrer0, lfcap0, ftr, lfrer1, lfcap1, mbu, mlu, bn; + char *fmt; + + printf("HyperTransport: Slave or Primary Interface\n"); + if (verbose < 2) + return; + + if (!config_fetch(d, where + PCI_HT_PRI_LCTR0, PCI_HT_PRI_SIZEOF - PCI_HT_PRI_LCTR0)) + return; + rid = get_conf_byte(d, where + PCI_HT_PRI_RID); + if (rid < 0x23 && rid > 0x11) + printf("\t\t!!! Possibly incomplete decoding\n"); + + if (rid >= 0x23) + fmt = "\t\tCommand: BaseUnitID=%u UnitCnt=%u MastHost%c DefDir%c DUL%c\n"; + else + fmt = "\t\tCommand: BaseUnitID=%u UnitCnt=%u MastHost%c DefDir%c\n"; + printf(fmt, + (cmd & PCI_HT_PRI_CMD_BUID), + (cmd & PCI_HT_PRI_CMD_UC) >> 5, + FLAG(cmd, PCI_HT_PRI_CMD_MH), + FLAG(cmd, PCI_HT_PRI_CMD_DD), + FLAG(cmd, PCI_HT_PRI_CMD_DUL)); + lctr0 = get_conf_word(d, where + PCI_HT_PRI_LCTR0); + if (rid >= 0x23) + fmt = "\t\tLink Control 0: CFlE%c CST%c CFE%c > 8, + FLAG(lctr0, PCI_HT_LCTR_ISOCEN), + FLAG(lctr0, PCI_HT_LCTR_LSEN), + FLAG(lctr0, PCI_HT_LCTR_EXTCTL), + FLAG(lctr0, PCI_HT_LCTR_64B)); + lcnf0 = get_conf_word(d, where + PCI_HT_PRI_LCNF0); + if (rid >= 0x23) + fmt = "\t\tLink Config 0: MLWI=%1$s DwFcIn%5$c MLWO=%2$s DwFcOut%6$c LWI=%3$s DwFcInEn%7$c LWO=%4$s DwFcOutEn%8$c\n"; + else + fmt = "\t\tLink Config 0: MLWI=%s MLWO=%s LWI=%s LWO=%s\n"; + printf(fmt, + ht_link_width(lcnf0 & PCI_HT_LCNF_MLWI), + ht_link_width((lcnf0 & PCI_HT_LCNF_MLWO) >> 4), + ht_link_width((lcnf0 & PCI_HT_LCNF_LWI) >> 8), + ht_link_width((lcnf0 & PCI_HT_LCNF_LWO) >> 12), + FLAG(lcnf0, PCI_HT_LCNF_DFI), + FLAG(lcnf0, PCI_HT_LCNF_DFO), + FLAG(lcnf0, PCI_HT_LCNF_DFIE), + FLAG(lcnf0, PCI_HT_LCNF_DFOE)); + lctr1 = get_conf_word(d, where + PCI_HT_PRI_LCTR1); + if (rid >= 0x23) + fmt = "\t\tLink Control 1: CFlE%c CST%c CFE%c > 8, + FLAG(lctr1, PCI_HT_LCTR_ISOCEN), + FLAG(lctr1, PCI_HT_LCTR_LSEN), + FLAG(lctr1, PCI_HT_LCTR_EXTCTL), + FLAG(lctr1, PCI_HT_LCTR_64B)); + lcnf1 = get_conf_word(d, where + PCI_HT_PRI_LCNF1); + if (rid >= 0x23) + fmt = "\t\tLink Config 1: MLWI=%1$s DwFcIn%5$c MLWO=%2$s DwFcOut%6$c LWI=%3$s DwFcInEn%7$c LWO=%4$s DwFcOutEn%8$c\n"; + else + fmt = "\t\tLink Config 1: MLWI=%s MLWO=%s LWI=%s LWO=%s\n"; + printf(fmt, + ht_link_width(lcnf1 & PCI_HT_LCNF_MLWI), + ht_link_width((lcnf1 & PCI_HT_LCNF_MLWO) >> 4), + ht_link_width((lcnf1 & PCI_HT_LCNF_LWI) >> 8), + ht_link_width((lcnf1 & PCI_HT_LCNF_LWO) >> 12), + FLAG(lcnf1, PCI_HT_LCNF_DFI), + FLAG(lcnf1, PCI_HT_LCNF_DFO), + FLAG(lcnf1, PCI_HT_LCNF_DFIE), + FLAG(lcnf1, PCI_HT_LCNF_DFOE)); + printf("\t\tRevision ID: %u.%02u\n", + (rid & PCI_HT_RID_MAJ) >> 5, (rid & PCI_HT_RID_MIN)); + if (rid < 0x23) + return; + lfrer0 = get_conf_byte(d, where + PCI_HT_PRI_LFRER0); + printf("\t\tLink Frequency 0: %s\n", ht_link_freq(lfrer0 & PCI_HT_LFRER_FREQ)); + printf("\t\tLink Error 0: 0x11) + printf("\t\t!!! Possibly incomplete decoding\n"); + + if (rid >= 0x23) + fmt = "\t\tCommand: WarmRst%c DblEnd%c DevNum=%u ChainSide%c HostHide%c Slave%c > 2, + FLAG(cmd, PCI_HT_SEC_CMD_CS), + FLAG(cmd, PCI_HT_SEC_CMD_HH), + FLAG(cmd, PCI_HT_SEC_CMD_AS), + FLAG(cmd, PCI_HT_SEC_CMD_HIECE), + FLAG(cmd, PCI_HT_SEC_CMD_DUL)); + lctr = get_conf_word(d, where + PCI_HT_SEC_LCTR); + if (rid >= 0x23) + fmt = "\t\tLink Control: CFlE%c CST%c CFE%c > 8, + FLAG(lctr, PCI_HT_LCTR_ISOCEN), + FLAG(lctr, PCI_HT_LCTR_LSEN), + FLAG(lctr, PCI_HT_LCTR_EXTCTL), + FLAG(lctr, PCI_HT_LCTR_64B)); + lcnf = get_conf_word(d, where + PCI_HT_SEC_LCNF); + if (rid >= 0x23) + fmt = "\t\tLink Config: MLWI=%1$s DwFcIn%5$c MLWO=%2$s DwFcOut%6$c LWI=%3$s DwFcInEn%7$c LWO=%4$s DwFcOutEn%8$c\n"; + else + fmt = "\t\tLink Config: MLWI=%s MLWO=%s LWI=%s LWO=%s\n"; + printf(fmt, + ht_link_width(lcnf & PCI_HT_LCNF_MLWI), + ht_link_width((lcnf & PCI_HT_LCNF_MLWO) >> 4), + ht_link_width((lcnf & PCI_HT_LCNF_LWI) >> 8), + ht_link_width((lcnf & PCI_HT_LCNF_LWO) >> 12), + FLAG(lcnf, PCI_HT_LCNF_DFI), + FLAG(lcnf, PCI_HT_LCNF_DFO), + FLAG(lcnf, PCI_HT_LCNF_DFIE), + FLAG(lcnf, PCI_HT_LCNF_DFOE)); + printf("\t\tRevision ID: %u.%02u\n", + (rid & PCI_HT_RID_MAJ) >> 5, (rid & PCI_HT_RID_MIN)); + if (rid < 0x23) + return; + lfrer = get_conf_byte(d, where + PCI_HT_SEC_LFRER); + printf("\t\tLink Frequency: %s\n", ht_link_freq(lfrer & PCI_HT_LFRER_FREQ)); + printf("\t\tLink Error: > 5, (cmd & PCI_HT_RID_MIN)); + break; + case PCI_HT_CMD_TYP_UIDC: + printf("HyperTransport: UnitID Clumping\n"); + break; + case PCI_HT_CMD_TYP_ECSA: + printf("HyperTransport: Extended Configuration Space Access\n"); + break; + case PCI_HT_CMD_TYP_AM: + printf("HyperTransport: Address Mapping\n"); + break; + case PCI_HT_CMD_TYP_MSIM: + printf("HyperTransport: MSI Mapping Enable%c Fixed%c\n", + FLAG(cmd, PCI_HT_MSIM_CMD_EN), + FLAG(cmd, PCI_HT_MSIM_CMD_FIXD)); + if (verbose >= 2 && !(cmd & PCI_HT_MSIM_CMD_FIXD)) + { + u32 offl, offh; + if (!config_fetch(d, where + PCI_HT_MSIM_ADDR_LO, 8)) + break; + offl = get_conf_long(d, where + PCI_HT_MSIM_ADDR_LO); + offh = get_conf_long(d, where + PCI_HT_MSIM_ADDR_HI); + printf("\t\tMapping Address Base: %016llx\n", ((unsigned long long)offh << 32) | (offl & ~0xfffff)); + } + break; + case PCI_HT_CMD_TYP_DR: + printf("HyperTransport: DirectRoute\n"); + break; + case PCI_HT_CMD_TYP_VCS: + printf("HyperTransport: VCSet\n"); + break; + case PCI_HT_CMD_TYP_RM: + printf("HyperTransport: Retry Mode\n"); + break; + case PCI_HT_CMD_TYP_X86: + printf("HyperTransport: X86 (reserved)\n"); + break; + default: + printf("HyperTransport: #%02x\n", type >> 11); + } +} + +static void +cap_msi(struct device *d, int where, int cap) +{ + int is64; + u32 t; + u16 w; + + printf("Message Signalled Interrupts: Mask%c 64bit%c Queue=%d/%d Enable%c\n", + FLAG(cap, PCI_MSI_FLAGS_MASK_BIT), + FLAG(cap, PCI_MSI_FLAGS_64BIT), + (cap & PCI_MSI_FLAGS_QSIZE) >> 4, + (cap & PCI_MSI_FLAGS_QMASK) >> 1, + FLAG(cap, PCI_MSI_FLAGS_ENABLE)); + if (verbose < 2) + return; + is64 = cap & PCI_MSI_FLAGS_64BIT; + if (!config_fetch(d, where + PCI_MSI_ADDRESS_LO, (is64 ? PCI_MSI_DATA_64 : PCI_MSI_DATA_32) + 2 - PCI_MSI_ADDRESS_LO)) + return; + printf("\t\tAddress: "); + if (is64) + { + t = get_conf_long(d, where + PCI_MSI_ADDRESS_HI); + w = get_conf_word(d, where + PCI_MSI_DATA_64); + printf("%08x", t); + } + else + w = get_conf_word(d, where + PCI_MSI_DATA_32); + t = get_conf_long(d, where + PCI_MSI_ADDRESS_LO); + printf("%08x Data: %04x\n", t, w); + if (cap & PCI_MSI_FLAGS_MASK_BIT) + { + u32 mask, pending; + + if (is64) + { + if (!config_fetch(d, where + PCI_MSI_MASK_BIT_64, 8)) + return; + mask = get_conf_long(d, where + PCI_MSI_MASK_BIT_64); + pending = get_conf_long(d, where + PCI_MSI_PENDING_64); + } + else + { + if (!config_fetch(d, where + PCI_MSI_MASK_BIT_32, 8)) + return; + mask = get_conf_long(d, where + PCI_MSI_MASK_BIT_32); + pending = get_conf_long(d, where + PCI_MSI_PENDING_32); + } + printf("\t\tMasking: %08x Pending: %08x\n", mask, pending); + } +} + +static float power_limit(int value, int scale) +{ + static const float scales[4] = { 1.0, 0.1, 0.01, 0.001 }; + return value * scales[scale]; +} + +static const char *latency_l0s(int value) +{ + static const char *latencies[] = { "<64ns", "<128ns", "<256ns", "<512ns", "<1us", "<2us", "<4us", "unlimited" }; + return latencies[value]; +} + +static const char *latency_l1(int value) +{ + static const char *latencies[] = { "<1us", "<2us", "<4us", "<8us", "<16us", "<32us", "<64us", "unlimited" }; + return latencies[value]; +} + +static void cap_express_dev(struct device *d, int where, int type) +{ + u32 t; + u16 w; + + t = get_conf_long(d, where + PCI_EXP_DEVCAP); + printf("\t\tDevCap:\tMaxPayload %d bytes, PhantFunc %d, Latency L0s %s, L1 %s\n", + 128 << (t & PCI_EXP_DEVCAP_PAYLOAD), + (1 << ((t & PCI_EXP_DEVCAP_PHANTOM) >> 3)) - 1, + latency_l0s((t & PCI_EXP_DEVCAP_L0S) >> 6), + latency_l1((t & PCI_EXP_DEVCAP_L1) >> 9)); + printf("\t\t\tExtTag%c", FLAG(t, PCI_EXP_DEVCAP_EXT_TAG)); + if ((type == PCI_EXP_TYPE_ENDPOINT) || (type == PCI_EXP_TYPE_LEG_END) || + (type == PCI_EXP_TYPE_UPSTREAM) || (type == PCI_EXP_TYPE_PCI_BRIDGE)) + printf(" AttnBtn%c AttnInd%c PwrInd%c", + FLAG(t, PCI_EXP_DEVCAP_ATN_BUT), + FLAG(t, PCI_EXP_DEVCAP_ATN_IND), FLAG(t, PCI_EXP_DEVCAP_PWR_IND)); + printf(" RBE%c FLReset%c", + FLAG(t, PCI_EXP_DEVCAP_RBE), + FLAG(t, PCI_EXP_DEVCAP_FLRESET)); + if (type == PCI_EXP_TYPE_UPSTREAM) + printf("SlotPowerLimit %fW", + power_limit((t & PCI_EXP_DEVCAP_PWR_VAL) >> 18, + (t & PCI_EXP_DEVCAP_PWR_SCL) >> 26)); + printf("\n"); + + w = get_conf_word(d, where + PCI_EXP_DEVCTL); + printf("\t\tDevCtl:\tReport errors: Correctable%c Non-Fatal%c Fatal%c Unsupported%c\n", + FLAG(w, PCI_EXP_DEVCTL_CERE), + FLAG(w, PCI_EXP_DEVCTL_NFERE), + FLAG(w, PCI_EXP_DEVCTL_FERE), + FLAG(w, PCI_EXP_DEVCTL_URRE)); + printf("\t\t\tRlxdOrd%c ExtTag%c PhantFunc%c AuxPwr%c NoSnoop%c", + FLAG(w, PCI_EXP_DEVCTL_RELAXED), + FLAG(w, PCI_EXP_DEVCTL_EXT_TAG), + FLAG(w, PCI_EXP_DEVCTL_PHANTOM), + FLAG(w, PCI_EXP_DEVCTL_AUX_PME), + FLAG(w, PCI_EXP_DEVCTL_NOSNOOP)); + if (type == PCI_EXP_TYPE_PCI_BRIDGE || type == PCI_EXP_TYPE_PCIE_BRIDGE) + printf(" BrConfRtry%c", FLAG(w, PCI_EXP_DEVCTL_BCRE)); + if (type == PCI_EXP_TYPE_ENDPOINT && (t & PCI_EXP_DEVCAP_FLRESET)) + printf(" FLReset%c", FLAG(w, PCI_EXP_DEVCTL_FLRESET)); + printf("\n\t\t\tMaxPayload %d bytes, MaxReadReq %d bytes\n", + 128 << ((w & PCI_EXP_DEVCTL_PAYLOAD) >> 5), + 128 << ((w & PCI_EXP_DEVCTL_READRQ) >> 12)); + + w = get_conf_word(d, where + PCI_EXP_DEVSTA); + printf("\t\tDevSta:\tCorrErr%c UncorrErr%c FatalErr%c UnsuppReq%c AuxPwr%c TransPend%c\n", + FLAG(w, PCI_EXP_DEVSTA_CED), + FLAG(w, PCI_EXP_DEVSTA_NFED), + FLAG(w, PCI_EXP_DEVSTA_FED), + FLAG(w, PCI_EXP_DEVSTA_URD), + FLAG(w, PCI_EXP_DEVSTA_AUXPD), + FLAG(w, PCI_EXP_DEVSTA_TRPND)); + + /* FIXME: Second set of control/status registers is not supported yet. */ +} + +static char *link_speed(int speed) +{ + switch (speed) + { + case 1: + return "2.5GT/s"; + case 2: + return "5GT/s"; + default: + return "unknown"; + } +} + +static char *aspm_support(int code) +{ + switch (code) + { + case 1: + return "L0s"; + case 3: + return "L0s L1"; + default: + return "unknown"; + } +} + +static const char *aspm_enabled(int code) +{ + static const char *desc[] = { "Disabled", "L0s Enabled", "L1 Enabled", "L0s L1 Enabled" }; + return desc[code]; +} + +static void cap_express_link(struct device *d, int where, int type) +{ + u32 t; + u16 w; + + t = get_conf_long(d, where + PCI_EXP_LNKCAP); + printf("\t\tLnkCap:\tPort #%d, Speed %s, Width x%d, ASPM %s, Latency L0 %s, L1 %s\n", + t >> 24, + link_speed(t & PCI_EXP_LNKCAP_SPEED), (t & PCI_EXP_LNKCAP_WIDTH) >> 4, + aspm_support((t & PCI_EXP_LNKCAP_ASPM) >> 10), + latency_l0s((t & PCI_EXP_LNKCAP_L0S) >> 12), + latency_l1((t & PCI_EXP_LNKCAP_L1) >> 15)); + printf("\t\t\tClockPM%c Suprise%c LLActRep%c BwNot%c\n", + FLAG(t, PCI_EXP_LNKCAP_CLOCKPM), + FLAG(t, PCI_EXP_LNKCAP_SURPRISE), + FLAG(t, PCI_EXP_LNKCAP_DLLA), + FLAG(t, PCI_EXP_LNKCAP_LBNC)); + + w = get_conf_word(d, where + PCI_EXP_LNKCTL); + printf("\t\tLnkCtl:\tASPM %s;", aspm_enabled(w & PCI_EXP_LNKCTL_ASPM)); + if ((type == PCI_EXP_TYPE_ROOT_PORT) || (type == PCI_EXP_TYPE_ENDPOINT) || + (type == PCI_EXP_TYPE_LEG_END)) + printf(" RCB %d bytes", w & PCI_EXP_LNKCTL_RCB ? 128 : 64); + printf(" Disabled%c Retrain%c CommClk%c\n\t\t\tExtSynch%c ClockPM%c AutWidDis%c BWInt%c AutBWInt%c\n", + FLAG(w, PCI_EXP_LNKCTL_DISABLE), + FLAG(w, PCI_EXP_LNKCTL_RETRAIN), + FLAG(w, PCI_EXP_LNKCTL_CLOCK), + FLAG(w, PCI_EXP_LNKCTL_XSYNCH), + FLAG(w, PCI_EXP_LNKCTL_CLOCKPM), + FLAG(w, PCI_EXP_LNKCTL_HWAUTWD), + FLAG(w, PCI_EXP_LNKCTL_BWMIE), + FLAG(w, PCI_EXP_LNKCTL_AUTBWIE)); + + w = get_conf_word(d, where + PCI_EXP_LNKSTA); + printf("\t\tLnkSta:\tSpeed %s, Width x%d, TrErr%c Train%c SlotClk%c DLActive%c BWMgmt%c ABWMgmt%c\n", + link_speed(w & PCI_EXP_LNKSTA_SPEED), + (w & PCI_EXP_LNKSTA_WIDTH) >> 4, + FLAG(w, PCI_EXP_LNKSTA_TR_ERR), + FLAG(w, PCI_EXP_LNKSTA_TRAIN), + FLAG(w, PCI_EXP_LNKSTA_SL_CLK), + FLAG(w, PCI_EXP_LNKSTA_DL_ACT), + FLAG(w, PCI_EXP_LNKSTA_BWMGMT), + FLAG(w, PCI_EXP_LNKSTA_AUTBW)); +} + +static const char *indicator(int code) +{ + static const char *names[] = { "Unknown", "On", "Blink", "Off" }; + return names[code]; +} + +static void cap_express_slot(struct device *d, int where) +{ + u32 t; + u16 w; + + t = get_conf_long(d, where + PCI_EXP_SLTCAP); + printf("\t\tSltCap:\tAttnBtn%c PwrCtrl%c MRL%c AttnInd%c PwrInd%c HotPlug%c Surpise%c\n", + FLAG(t, PCI_EXP_SLTCAP_ATNB), + FLAG(t, PCI_EXP_SLTCAP_PWRC), + FLAG(t, PCI_EXP_SLTCAP_MRL), + FLAG(t, PCI_EXP_SLTCAP_ATNI), + FLAG(t, PCI_EXP_SLTCAP_PWRI), + FLAG(t, PCI_EXP_SLTCAP_HPC), + FLAG(t, PCI_EXP_SLTCAP_HPS)); + printf("\t\t\tSlot #%3x, PowerLimit %f; Interlock%c NoCompl%c\n", + t >> 19, + power_limit((t & PCI_EXP_SLTCAP_PWR_VAL) >> 7, (t & PCI_EXP_SLTCAP_PWR_SCL) >> 15), + FLAG(t, PCI_EXP_SLTCAP_INTERLOCK), + FLAG(t, PCI_EXP_SLTCAP_NOCMDCOMP)); + + w = get_conf_word(d, where + PCI_EXP_SLTCTL); + printf("\t\tSltCtl:\tEnable: AttnBtn%c PwrFlt%c MRL%c PresDet%c CmdCplt%c HPIrq%c LinkChg%c\n", + FLAG(w, PCI_EXP_SLTCTL_ATNB), + FLAG(w, PCI_EXP_SLTCTL_PWRF), + FLAG(w, PCI_EXP_SLTCTL_MRLS), + FLAG(w, PCI_EXP_SLTCTL_PRSD), + FLAG(w, PCI_EXP_SLTCTL_CMDC), + FLAG(w, PCI_EXP_SLTCTL_HPIE), + FLAG(w, PCI_EXP_SLTCTL_LLCHG)); + printf("\t\t\tControl: AttnInd %s, PwrInd %s, Power%c Interlock%c\n", + indicator((w & PCI_EXP_SLTCTL_ATNI) >> 6), + indicator((w & PCI_EXP_SLTCTL_PWRI) >> 8), + FLAG(w, PCI_EXP_SLTCTL_PWRC), + FLAG(w, PCI_EXP_SLTCTL_INTERLOCK)); + + w = get_conf_word(d, where + PCI_EXP_SLTSTA); + printf("\t\tSltSta:\tStatus: AttnBtn%c PowerFlt%c MRL%c CmdCplt%c PresDet%c Interlock%c\n", + FLAG(w, PCI_EXP_SLTSTA_ATNB), + FLAG(w, PCI_EXP_SLTSTA_PWRF), + FLAG(w, PCI_EXP_SLTSTA_MRL_ST), + FLAG(w, PCI_EXP_SLTSTA_CMDC), + FLAG(w, PCI_EXP_SLTSTA_PRES), + FLAG(w, PCI_EXP_SLTSTA_INTERLOCK)); + printf("\t\t\tChanged: MRL%c PresDet%c LinkState%c\n", + FLAG(w, PCI_EXP_SLTSTA_MRLS), + FLAG(w, PCI_EXP_SLTSTA_PRSD), + FLAG(w, PCI_EXP_SLTSTA_LLCHG)); +} + +static void cap_express_root(struct device *d, int where) +{ + u32 w = get_conf_word(d, where + PCI_EXP_RTCTL); + printf("\t\tRootCtl: ErrCorrectable%c ErrNon-Fatal%c ErrFatal%c PMEIntEna%c CRSVisible%c\n", + FLAG(w, PCI_EXP_RTCTL_SECEE), + FLAG(w, PCI_EXP_RTCTL_SENFEE), + FLAG(w, PCI_EXP_RTCTL_SEFEE), + FLAG(w, PCI_EXP_RTCTL_PMEIE), + FLAG(w, PCI_EXP_RTCTL_CRSVIS)); + + w = get_conf_word(d, where + PCI_EXP_RTCAP); + printf("\t\tRootCap: CRSVisible%c\n", + FLAG(w, PCI_EXP_RTCAP_CRSVIS)); + + w = get_conf_word(d, where + PCI_EXP_RTSTA); + printf("\t\tRootSta: PME ReqID %04x, PMEStatus%c PMEPending%c\n", + w & PCI_EXP_RTSTA_PME_REQID, + FLAG(w, PCI_EXP_RTSTA_PME_STATUS), + FLAG(w, PCI_EXP_RTSTA_PME_PENDING)); +} + +static void +cap_express(struct device *d, int where, int cap) +{ + int type = (cap & PCI_EXP_FLAGS_TYPE) >> 4; + int size; + int slot = 0; + + printf("Express "); + if (verbose >= 2) + printf("(v%d) ", cap & PCI_EXP_FLAGS_VERS); + switch (type) + { + case PCI_EXP_TYPE_ENDPOINT: + printf("Endpoint"); + break; + case PCI_EXP_TYPE_LEG_END: + printf("Legacy Endpoint"); + break; + case PCI_EXP_TYPE_ROOT_PORT: + slot = cap & PCI_EXP_FLAGS_SLOT; + printf("Root Port (Slot%c)", FLAG(cap, PCI_EXP_FLAGS_SLOT)); + break; + case PCI_EXP_TYPE_UPSTREAM: + printf("Upstream Port"); + break; + case PCI_EXP_TYPE_DOWNSTREAM: + slot = cap & PCI_EXP_FLAGS_SLOT; + printf("Downstream Port (Slot%c)", FLAG(cap, PCI_EXP_FLAGS_SLOT)); + break; + case PCI_EXP_TYPE_PCI_BRIDGE: + printf("PCI/PCI-X Bridge"); + break; + case PCI_EXP_TYPE_PCIE_BRIDGE: + printf("PCI/PCI-X to PCI-Express Bridge"); + break; + case PCI_EXP_TYPE_ROOT_INT_EP: + printf("Root Complex Integrated Endpoint"); + break; + case PCI_EXP_TYPE_ROOT_EC: + printf("Root Complex Event Collector"); + break; + default: + printf("Unknown type %d", type); + } + printf(", MSI %02x\n", (cap & PCI_EXP_FLAGS_IRQ) >> 9); + if (verbose < 2) + return; + + size = 16; + if (slot) + size = 24; + if (type == PCI_EXP_TYPE_ROOT_PORT) + size = 32; + if (!config_fetch(d, where + PCI_EXP_DEVCAP, size)) + return; + + cap_express_dev(d, where, type); + cap_express_link(d, where, type); + if (slot) + cap_express_slot(d, where); + if (type == PCI_EXP_TYPE_ROOT_PORT) + cap_express_root(d, where); +} + +static void +cap_msix(struct device *d, int where, int cap) +{ + u32 off; + + printf("MSI-X: Enable%c Mask%c TabSize=%d\n", + FLAG(cap, PCI_MSIX_ENABLE), + FLAG(cap, PCI_MSIX_MASK), + (cap & PCI_MSIX_TABSIZE) + 1); + if (verbose < 2 || !config_fetch(d, where + PCI_MSIX_TABLE, 8)) + return; + + off = get_conf_long(d, where + PCI_MSIX_TABLE); + printf("\t\tVector table: BAR=%d offset=%08x\n", + off & PCI_MSIX_BIR, off & ~PCI_MSIX_BIR); + off = get_conf_long(d, where + PCI_MSIX_PBA); + printf("\t\tPBA: BAR=%d offset=%08x\n", + off & PCI_MSIX_BIR, off & ~PCI_MSIX_BIR); +} + +static void +cap_slotid(int cap) +{ + int esr = cap & 0xff; + int chs = cap >> 8; + + printf("Slot ID: %d slots, First%c, chassis %02x\n", + esr & PCI_SID_ESR_NSLOTS, + FLAG(esr, PCI_SID_ESR_FIC), + chs); +} + +static void +cap_ssvid(struct device *d, int where) +{ + u16 subsys_v, subsys_d; + char ssnamebuf[256]; + + if (!config_fetch(d, where, 8)) + return; + subsys_v = get_conf_word(d, where + PCI_SSVID_VENDOR); + subsys_d = get_conf_word(d, where + PCI_SSVID_DEVICE); + printf("Subsystem: %s\n", + pci_lookup_name(pacc, ssnamebuf, sizeof(ssnamebuf), + PCI_LOOKUP_SUBSYSTEM | PCI_LOOKUP_VENDOR | PCI_LOOKUP_DEVICE, + d->dev->vendor_id, d->dev->device_id, subsys_v, subsys_d)); +} + +static void +cap_dsn(struct device *d, int where) +{ + u32 t1, t2; + if (!config_fetch(d, where + 4, 8)) + return; + t1 = get_conf_long(d, where + 4); + t2 = get_conf_long(d, where + 8); + printf("Device Serial Number %02x-%02x-%02x-%02x-%02x-%02x-%02x-%02x\n", + t1 & 0xff, (t1 >> 8) & 0xff, (t1 >> 16) & 0xff, t1 >> 24, + t2 & 0xff, (t2 >> 8) & 0xff, (t2 >> 16) & 0xff, t2 >> 24); +} + +static void +cap_debug_port(int cap) +{ + int bar = cap >> 13; + int pos = cap & 0x1fff; + printf("Debug port: BAR=%d offset=%04x\n", bar, pos); +} + +static void +show_ext_caps(struct device *d) +{ + int where = 0x100; + char been_there[0x1000]; + memset(been_there, 0, 0x1000); + do + { + u32 header; + int id; + + if (!config_fetch(d, where, 4)) + break; + header = get_conf_long(d, where); + if (!header) + break; + id = header & 0xffff; + printf("\tCapabilities: [%03x] ", where); + if (been_there[where]++) + { + printf("\n"); + break; + } + switch (id) + { + case PCI_EXT_CAP_ID_AER: + printf("Advanced Error Reporting \n"); + break; + case PCI_EXT_CAP_ID_VC: + printf("Virtual Channel \n"); + break; + case PCI_EXT_CAP_ID_DSN: + cap_dsn(d, where); + break; + case PCI_EXT_CAP_ID_PB: + printf("Power Budgeting \n"); + break; + case PCI_EXT_CAP_ID_RCLINK: + printf("Root Complex Link \n"); + break; + case PCI_EXT_CAP_ID_RCILINK: + printf("Root Complex Internal Link \n"); + break; + case PCI_EXT_CAP_ID_RCECOLL: + printf("Root Complex Event Collector \n"); + break; + case PCI_EXT_CAP_ID_MFVC: + printf("Multi-Function Virtual Channel \n"); + break; + case PCI_EXT_CAP_ID_RBCB: + printf("Root Bridge Control Block \n"); + break; + case PCI_EXT_CAP_ID_VNDR: + printf("Vendor Specific Information \n"); + break; + case PCI_EXT_CAP_ID_ACS: + printf("Access Controls \n"); + break; + default: + printf("#%02x\n", id); + break; + } + where = header >> 20; + } while (where); +} + +static void +show_caps(struct device *d) +{ + int can_have_ext_caps = 0; + + if (get_conf_word(d, PCI_STATUS) & PCI_STATUS_CAP_LIST) + { + int where = get_conf_byte(d, PCI_CAPABILITY_LIST) & ~3; + byte been_there[256]; + memset(been_there, 0, 256); + while (where) + { + int id, next, cap; + printf("\tCapabilities: "); + if (!config_fetch(d, where, 4)) + { + puts(""); + break; + } + id = get_conf_byte(d, where + PCI_CAP_LIST_ID); + next = get_conf_byte(d, where + PCI_CAP_LIST_NEXT) & ~3; + cap = get_conf_word(d, where + PCI_CAP_FLAGS); + printf("[%02x] ", where); + if (been_there[where]++) + { + printf("\n"); + break; + } + if (id == 0xff) + { + printf("\n"); + break; + } + switch (id) + { + case PCI_CAP_ID_PM: + cap_pm(d, where, cap); + break; + case PCI_CAP_ID_AGP: + cap_agp(d, where, cap); + break; + case PCI_CAP_ID_VPD: + printf("Vital Product Data \n"); + break; + case PCI_CAP_ID_SLOTID: + cap_slotid(cap); + break; + case PCI_CAP_ID_MSI: + cap_msi(d, where, cap); + break; + case PCI_CAP_ID_CHSWP: + printf("CompactPCI hot-swap \n"); + break; + case PCI_CAP_ID_PCIX: + cap_pcix(d, where); + can_have_ext_caps = 1; + break; + case PCI_CAP_ID_HT: + cap_ht(d, where, cap); + break; + case PCI_CAP_ID_VNDR: + printf("Vendor Specific Information \n"); + break; + case PCI_CAP_ID_DBG: + cap_debug_port(cap); + break; + case PCI_CAP_ID_CCRC: + printf("CompactPCI central resource control \n"); + break; + case PCI_CAP_ID_HOTPLUG: + printf("Hot-plug capable\n"); + break; + case PCI_CAP_ID_SSVID: + cap_ssvid(d, where); + break; + case PCI_CAP_ID_AGP3: + printf("AGP3 \n"); + break; + case PCI_CAP_ID_SECURE: + printf("Secure device \n"); + break; + case PCI_CAP_ID_EXP: + cap_express(d, where, cap); + can_have_ext_caps = 1; + break; + case PCI_CAP_ID_MSIX: + cap_msix(d, where, cap); + break; + case PCI_CAP_ID_SATA: + printf("SATA HBA \n"); + break; + case PCI_CAP_ID_AF: + printf("PCIe advanced features \n"); + break; + default: + printf("#%02x [%04x]\n", id, cap); + } + where = next; + } + } + if (can_have_ext_caps) + show_ext_caps(d); +} + +/*** Kernel drivers ***/ + +#ifdef PCI_OS_LINUX + +#include + +struct pcimap_entry { + struct pcimap_entry *next; + unsigned int vendor, device; + unsigned int subvendor, subdevice; + unsigned int class, class_mask; + char module[1]; +}; + +static struct pcimap_entry *pcimap_head; + +static void +load_pcimap(void) +{ + static int tried_pcimap; + struct utsname uts; + char *name, line[1024]; + FILE *f; + + if (tried_pcimap) + return; + tried_pcimap = 1; + + if (name = opt_pcimap) + { + f = fopen(name, "r"); + if (!f) + die("Cannot open pcimap file %s: %m", name); + } + else + { + if (uname(&uts) < 0) + die("uname() failed: %m"); + name = alloca(64 + strlen(uts.release)); + sprintf(name, "/lib/modules/%s/modules.pcimap", uts.release); + f = fopen(name, "r"); + if (!f) + return; + } + + while (fgets(line, sizeof(line), f)) + { + char *c = strchr(line, '\n'); + struct pcimap_entry *e; + + if (!c) + die("Unterminated or too long line in %s", name); + *c = 0; + if (!line[0] || line[0] == '#') + continue; + + c = line; + while (*c && *c != ' ' && *c != '\t') + c++; + if (!*c) + continue; /* FIXME: Emit warnings! */ + *c++ = 0; + + e = xmalloc(sizeof(*e) + strlen(line)); + if (sscanf(c, "%i%i%i%i%i%i", + &e->vendor, &e->device, + &e->subvendor, &e->subdevice, + &e->class, &e->class_mask) != 6) + continue; + e->next = pcimap_head; + pcimap_head = e; + strcpy(e->module, line); + } + fclose(f); +} + +static int +match_pcimap(struct device *d, struct pcimap_entry *e) +{ + struct pci_dev *dev = d->dev; + unsigned int class = get_conf_long(d, PCI_REVISION_ID) >> 8; + word subv, subd; + +#define MATCH(x, y) ((y) > 0xffff || (x) == (y)) + get_subid(d, &subv, &subd); + return + MATCH(dev->vendor_id, e->vendor) && + MATCH(dev->device_id, e->device) && + MATCH(subv, e->subvendor) && + MATCH(subd, e->subdevice) && + (class & e->class_mask) == e->class; +#undef MATCH +} + +#define DRIVER_BUF_SIZE 1024 + +static char * +find_driver(struct device *d, char *buf) +{ + struct pci_dev *dev = d->dev; + char name[1024], *drv, *base; + int n; + + if (dev->access->method != PCI_ACCESS_SYS_BUS_PCI) + return NULL; + + base = pci_get_param(dev->access, "sysfs.path"); + if (!base || !base[0]) + return NULL; + + n = snprintf(name, sizeof(name), "%s/devices/%04x:%02x:%02x.%d/driver", + base, dev->domain, dev->bus, dev->dev, dev->func); + if (n < 0 || n >= (int)sizeof(name)) + die("show_driver: sysfs device name too long, why?"); + + n = readlink(name, buf, DRIVER_BUF_SIZE); + if (n < 0) + return NULL; + if (n >= DRIVER_BUF_SIZE) + return ""; + buf[n] = 0; + + if (drv = strrchr(buf, '/')) + return drv+1; + else + return buf; +} + +static void +show_kernel(struct device *d) +{ + char buf[DRIVER_BUF_SIZE]; + char *driver; + struct pcimap_entry *e, *last = NULL; + + if (driver = find_driver(d, buf)) + printf("\tKernel driver in use: %s\n", driver); + + load_pcimap(); + for (e=pcimap_head; e; e=e->next) + if (match_pcimap(d, e) && (!last || strcmp(last->module, e->module))) + { + printf("%s %s", (last ? "," : "\tKernel modules:"), e->module); + last = e; + } + if (last) + putchar('\n'); +} + +static void +show_kernel_machine(struct device *d) +{ + char buf[DRIVER_BUF_SIZE]; + char *driver; + struct pcimap_entry *e, *last = NULL; + + if (driver = find_driver(d, buf)) + printf("Driver:\t%s\n", driver); + + load_pcimap(); + for (e=pcimap_head; e; e=e->next) + if (match_pcimap(d, e) && (!last || strcmp(last->module, e->module))) + { + printf("Module:\t%s\n", e->module); + last = e; + } +} + +#else + +static void +show_kernel(struct device *d UNUSED) +{ +} + +static void +show_kernel_machine(struct device *d UNUSED) +{ +} + +#endif + +/*** Verbose output ***/ + +static void +show_size(pciaddr_t x) +{ + if (!x) + return; + printf(" [size="); + if (x < 1024) + printf("%d", (int) x); + else if (x < 1048576) + printf("%dK", (int)(x / 1024)); + else if (x < 0x80000000) + printf("%dM", (int)(x / 1048576)); + else + printf(PCIADDR_T_FMT, x); + putchar(']'); +} + +static void +show_bases(struct device *d, int cnt) +{ + struct pci_dev *p = d->dev; + word cmd = get_conf_word(d, PCI_COMMAND); + int i; + + for(i=0; ibase_addr[i]; + pciaddr_t len = (p->known_fields & PCI_FILL_SIZES) ? p->size[i] : 0; + u32 flg = get_conf_long(d, PCI_BASE_ADDRESS_0 + 4*i); + if (flg == 0xffffffff) + flg = 0; + if (!pos && !flg && !len) + continue; + if (verbose > 1) + printf("\tRegion %d: ", i); + else + putchar('\t'); + if (pos && !flg) /* Reported by the OS, but not by the device */ + { + printf("[virtual] "); + flg = pos; + } + if (flg & PCI_BASE_ADDRESS_SPACE_IO) + { + pciaddr_t a = pos & PCI_BASE_ADDRESS_IO_MASK; + printf("I/O ports at "); + if (a) + printf(PCIADDR_PORT_FMT, a); + else if (flg & PCI_BASE_ADDRESS_IO_MASK) + printf(""); + else + printf(""); + if (!(cmd & PCI_COMMAND_IO)) + printf(" [disabled]"); + } + else + { + int t = flg & PCI_BASE_ADDRESS_MEM_TYPE_MASK; + pciaddr_t a = pos & PCI_ADDR_MEM_MASK; + int done = 0; + u32 z = 0; + + printf("Memory at "); + if (t == PCI_BASE_ADDRESS_MEM_TYPE_64) + { + if (i >= cnt - 1) + { + printf(""); + done = 1; + } + else + { + i++; + z = get_conf_long(d, PCI_BASE_ADDRESS_0 + 4*i); + if (opt_buscentric) + { + u32 y = a & 0xffffffff; + if (a || z) + printf("%08x%08x", z, y); + else + printf(""); + done = 1; + } + } + } + if (!done) + { + if (a) + printf(PCIADDR_T_FMT, a); + else + printf(((flg & PCI_BASE_ADDRESS_MEM_MASK) || z) ? "" : ""); + } + printf(" (%s, %sprefetchable)", + (t == PCI_BASE_ADDRESS_MEM_TYPE_32) ? "32-bit" : + (t == PCI_BASE_ADDRESS_MEM_TYPE_64) ? "64-bit" : + (t == PCI_BASE_ADDRESS_MEM_TYPE_1M) ? "low-1M" : "type 3", + (flg & PCI_BASE_ADDRESS_MEM_PREFETCH) ? "" : "non-"); + if (!(cmd & PCI_COMMAND_MEMORY)) + printf(" [disabled]"); + } + show_size(len); + putchar('\n'); + } +} + +static void +show_rom(struct device *d, int reg) +{ + struct pci_dev *p = d->dev; + pciaddr_t rom = p->rom_base_addr; + pciaddr_t len = (p->known_fields & PCI_FILL_SIZES) ? p->rom_size : 0; + u32 flg = get_conf_long(d, reg); + word cmd = get_conf_word(d, PCI_COMMAND); + + if (!rom && !flg && !len) + return; + putchar('\t'); + if ((rom & PCI_ROM_ADDRESS_MASK) && !(flg & PCI_ROM_ADDRESS_MASK)) + { + printf("[virtual] "); + flg = rom; + } + printf("Expansion ROM at "); + if (rom & PCI_ROM_ADDRESS_MASK) + printf(PCIADDR_T_FMT, rom & PCI_ROM_ADDRESS_MASK); + else if (flg & PCI_ROM_ADDRESS_MASK) + printf(""); + else + printf(""); + if (!(flg & PCI_ROM_ADDRESS_ENABLE)) + printf(" [disabled]"); + else if (!(cmd & PCI_COMMAND_MEMORY)) + printf(" [disabled by cmd]"); + show_size(len); + putchar('\n'); +} + +static void +show_htype0(struct device *d) +{ + show_bases(d, 6); + show_rom(d, PCI_ROM_ADDRESS); + show_caps(d); +} + +static void +show_htype1(struct device *d) +{ + u32 io_base = get_conf_byte(d, PCI_IO_BASE); + u32 io_limit = get_conf_byte(d, PCI_IO_LIMIT); + u32 io_type = io_base & PCI_IO_RANGE_TYPE_MASK; + u32 mem_base = get_conf_word(d, PCI_MEMORY_BASE); + u32 mem_limit = get_conf_word(d, PCI_MEMORY_LIMIT); + u32 mem_type = mem_base & PCI_MEMORY_RANGE_TYPE_MASK; + u32 pref_base = get_conf_word(d, PCI_PREF_MEMORY_BASE); + u32 pref_limit = get_conf_word(d, PCI_PREF_MEMORY_LIMIT); + u32 pref_type = pref_base & PCI_PREF_RANGE_TYPE_MASK; + word sec_stat = get_conf_word(d, PCI_SEC_STATUS); + word brc = get_conf_word(d, PCI_BRIDGE_CONTROL); + int verb = verbose > 2; + + show_bases(d, 2); + printf("\tBus: primary=%02x, secondary=%02x, subordinate=%02x, sec-latency=%d\n", + get_conf_byte(d, PCI_PRIMARY_BUS), + get_conf_byte(d, PCI_SECONDARY_BUS), + get_conf_byte(d, PCI_SUBORDINATE_BUS), + get_conf_byte(d, PCI_SEC_LATENCY_TIMER)); + + if (io_type != (io_limit & PCI_IO_RANGE_TYPE_MASK) || + (io_type != PCI_IO_RANGE_TYPE_16 && io_type != PCI_IO_RANGE_TYPE_32)) + printf("\t!!! Unknown I/O range types %x/%x\n", io_base, io_limit); + else + { + io_base = (io_base & PCI_IO_RANGE_MASK) << 8; + io_limit = (io_limit & PCI_IO_RANGE_MASK) << 8; + if (io_type == PCI_IO_RANGE_TYPE_32) + { + io_base |= (get_conf_word(d, PCI_IO_BASE_UPPER16) << 16); + io_limit |= (get_conf_word(d, PCI_IO_LIMIT_UPPER16) << 16); + } + if (io_base <= io_limit || verb) + printf("\tI/O behind bridge: %08x-%08x\n", io_base, io_limit+0xfff); + } + + if (mem_type != (mem_limit & PCI_MEMORY_RANGE_TYPE_MASK) || + mem_type) + printf("\t!!! Unknown memory range types %x/%x\n", mem_base, mem_limit); + else + { + mem_base = (mem_base & PCI_MEMORY_RANGE_MASK) << 16; + mem_limit = (mem_limit & PCI_MEMORY_RANGE_MASK) << 16; + if (mem_base <= mem_limit || verb) + printf("\tMemory behind bridge: %08x-%08x\n", mem_base, mem_limit + 0xfffff); + } + + if (pref_type != (pref_limit & PCI_PREF_RANGE_TYPE_MASK) || + (pref_type != PCI_PREF_RANGE_TYPE_32 && pref_type != PCI_PREF_RANGE_TYPE_64)) + printf("\t!!! Unknown prefetchable memory range types %x/%x\n", pref_base, pref_limit); + else + { + pref_base = (pref_base & PCI_PREF_RANGE_MASK) << 16; + pref_limit = (pref_limit & PCI_PREF_RANGE_MASK) << 16; + if (pref_base <= pref_limit || verb) + { + if (pref_type == PCI_PREF_RANGE_TYPE_32) + printf("\tPrefetchable memory behind bridge: %08x-%08x\n", pref_base, pref_limit + 0xfffff); + else + printf("\tPrefetchable memory behind bridge: %08x%08x-%08x%08x\n", + get_conf_long(d, PCI_PREF_BASE_UPPER32), + pref_base, + get_conf_long(d, PCI_PREF_LIMIT_UPPER32), + pref_limit + 0xfffff); + } + } + + if (verbose > 1) + printf("\tSecondary status: 66MHz%c FastB2B%c ParErr%c DEVSEL=%s >TAbort%c 1) + { + printf("\tBridgeCtl: Parity%c SERR%c NoISA%c VGA%c MAbort%c >Reset%c FastB2B%c\n", + FLAG(brc, PCI_BRIDGE_CTL_PARITY), + FLAG(brc, PCI_BRIDGE_CTL_SERR), + FLAG(brc, PCI_BRIDGE_CTL_NO_ISA), + FLAG(brc, PCI_BRIDGE_CTL_VGA), + FLAG(brc, PCI_BRIDGE_CTL_MASTER_ABORT), + FLAG(brc, PCI_BRIDGE_CTL_BUS_RESET), + FLAG(brc, PCI_BRIDGE_CTL_FAST_BACK)); + printf("\t\tPriDiscTmr%c SecDiscTmr%c DiscTmrStat%c DiscTmrSERREn%c\n", + FLAG(brc, PCI_BRIDGE_CTL_PRI_DISCARD_TIMER), + FLAG(brc, PCI_BRIDGE_CTL_SEC_DISCARD_TIMER), + FLAG(brc, PCI_BRIDGE_CTL_DISCARD_TIMER_STATUS), + FLAG(brc, PCI_BRIDGE_CTL_DISCARD_TIMER_SERR_EN)); + } + + show_caps(d); +} + +static void +show_htype2(struct device *d) +{ + int i; + word cmd = get_conf_word(d, PCI_COMMAND); + word brc = get_conf_word(d, PCI_CB_BRIDGE_CONTROL); + word exca; + int verb = verbose > 2; + + show_bases(d, 1); + printf("\tBus: primary=%02x, secondary=%02x, subordinate=%02x, sec-latency=%d\n", + get_conf_byte(d, PCI_CB_PRIMARY_BUS), + get_conf_byte(d, PCI_CB_CARD_BUS), + get_conf_byte(d, PCI_CB_SUBORDINATE_BUS), + get_conf_byte(d, PCI_CB_LATENCY_TIMER)); + for(i=0; i<2; i++) + { + int p = 8*i; + u32 base = get_conf_long(d, PCI_CB_MEMORY_BASE_0 + p); + u32 limit = get_conf_long(d, PCI_CB_MEMORY_LIMIT_0 + p); + if (limit > base || verb) + printf("\tMemory window %d: %08x-%08x%s%s\n", i, base, limit, + (cmd & PCI_COMMAND_MEMORY) ? "" : " [disabled]", + (brc & (PCI_CB_BRIDGE_CTL_PREFETCH_MEM0 << i)) ? " (prefetchable)" : ""); + } + for(i=0; i<2; i++) + { + int p = 8*i; + u32 base = get_conf_long(d, PCI_CB_IO_BASE_0 + p); + u32 limit = get_conf_long(d, PCI_CB_IO_LIMIT_0 + p); + if (!(base & PCI_IO_RANGE_TYPE_32)) + { + base &= 0xffff; + limit &= 0xffff; + } + base &= PCI_CB_IO_RANGE_MASK; + limit = (limit & PCI_CB_IO_RANGE_MASK) + 3; + if (base <= limit || verb) + printf("\tI/O window %d: %08x-%08x%s\n", i, base, limit, + (cmd & PCI_COMMAND_IO) ? "" : " [disabled]"); + } + + if (get_conf_word(d, PCI_CB_SEC_STATUS) & PCI_STATUS_SIG_SYSTEM_ERROR) + printf("\tSecondary status: SERR\n"); + if (verbose > 1) + printf("\tBridgeCtl: Parity%c SERR%c ISA%c VGA%c MAbort%c >Reset%c 16bInt%c PostWrite%c\n", + FLAG(brc, PCI_CB_BRIDGE_CTL_PARITY), + FLAG(brc, PCI_CB_BRIDGE_CTL_SERR), + FLAG(brc, PCI_CB_BRIDGE_CTL_ISA), + FLAG(brc, PCI_CB_BRIDGE_CTL_VGA), + FLAG(brc, PCI_CB_BRIDGE_CTL_MASTER_ABORT), + FLAG(brc, PCI_CB_BRIDGE_CTL_CB_RESET), + FLAG(brc, PCI_CB_BRIDGE_CTL_16BIT_INT), + FLAG(brc, PCI_CB_BRIDGE_CTL_POST_WRITES)); + + if (d->config_cached < 128) + { + printf("\t\n"); + return; + } + + exca = get_conf_word(d, PCI_CB_LEGACY_MODE_BASE); + if (exca) + printf("\t16-bit legacy interface ports at %04x\n", exca); +} + +static void +show_verbose(struct device *d) +{ + struct pci_dev *p = d->dev; + word status = get_conf_word(d, PCI_STATUS); + word cmd = get_conf_word(d, PCI_COMMAND); + word class = p->device_class; + byte bist = get_conf_byte(d, PCI_BIST); + byte htype = get_conf_byte(d, PCI_HEADER_TYPE) & 0x7f; + byte latency = get_conf_byte(d, PCI_LATENCY_TIMER); + byte cache_line = get_conf_byte(d, PCI_CACHE_LINE_SIZE); + byte max_lat, min_gnt; + byte int_pin = get_conf_byte(d, PCI_INTERRUPT_PIN); + unsigned int irq = p->irq; + word subsys_v, subsys_d; + char ssnamebuf[256]; + + show_terse(d); + + switch (htype) + { + case PCI_HEADER_TYPE_NORMAL: + if (class == PCI_CLASS_BRIDGE_PCI) + printf("\t!!! Invalid class %04x for header type %02x\n", class, htype); + max_lat = get_conf_byte(d, PCI_MAX_LAT); + min_gnt = get_conf_byte(d, PCI_MIN_GNT); + break; + case PCI_HEADER_TYPE_BRIDGE: + if ((class >> 8) != PCI_BASE_CLASS_BRIDGE) + printf("\t!!! Invalid class %04x for header type %02x\n", class, htype); + irq = int_pin = min_gnt = max_lat = 0; + break; + case PCI_HEADER_TYPE_CARDBUS: + if ((class >> 8) != PCI_BASE_CLASS_BRIDGE) + printf("\t!!! Invalid class %04x for header type %02x\n", class, htype); + min_gnt = max_lat = 0; + break; + default: + printf("\t!!! Unknown header type %02x\n", htype); + return; + } + + get_subid(d, &subsys_v, &subsys_d); + if (subsys_v && subsys_v != 0xffff) + printf("\tSubsystem: %s\n", + pci_lookup_name(pacc, ssnamebuf, sizeof(ssnamebuf), + PCI_LOOKUP_SUBSYSTEM | PCI_LOOKUP_VENDOR | PCI_LOOKUP_DEVICE, + p->vendor_id, p->device_id, subsys_v, subsys_d)); + + if (verbose > 1) + { + printf("\tControl: I/O%c Mem%c BusMaster%c SpecCycle%c MemWINV%c VGASnoop%c ParErr%c Stepping%c SERR%c FastB2B%c DisINTx%c\n", + FLAG(cmd, PCI_COMMAND_IO), + FLAG(cmd, PCI_COMMAND_MEMORY), + FLAG(cmd, PCI_COMMAND_MASTER), + FLAG(cmd, PCI_COMMAND_SPECIAL), + FLAG(cmd, PCI_COMMAND_INVALIDATE), + FLAG(cmd, PCI_COMMAND_VGA_PALETTE), + FLAG(cmd, PCI_COMMAND_PARITY), + FLAG(cmd, PCI_COMMAND_WAIT), + FLAG(cmd, PCI_COMMAND_SERR), + FLAG(cmd, PCI_COMMAND_FAST_BACK), + FLAG(cmd, PCI_COMMAND_DISABLE_INTx)); + printf("\tStatus: Cap%c 66MHz%c UDF%c FastB2B%c ParErr%c DEVSEL=%s >TAbort%c SERR%c config_cached; + if (opt_hex >= 3 && config_fetch(d, cnt, 256-cnt)) + { + cnt = 256; + if (opt_hex >= 4 && config_fetch(d, 256, 4096-256)) + cnt = 4096; + } + + for(i=0; idev; + int c; + word sv_id, sd_id; + char classbuf[128], vendbuf[128], devbuf[128], svbuf[128], sdbuf[128]; + + get_subid(d, &sv_id, &sd_id); + + if (verbose) + { + printf((opt_machine >= 2) ? "Slot:\t" : "Device:\t"); + show_slot_name(d); + putchar('\n'); + printf("Class:\t%s\n", + pci_lookup_name(pacc, classbuf, sizeof(classbuf), PCI_LOOKUP_CLASS, p->device_class)); + printf("Vendor:\t%s\n", + pci_lookup_name(pacc, vendbuf, sizeof(vendbuf), PCI_LOOKUP_VENDOR, p->vendor_id, p->device_id)); + printf("Device:\t%s\n", + pci_lookup_name(pacc, devbuf, sizeof(devbuf), PCI_LOOKUP_DEVICE, p->vendor_id, p->device_id)); + if (sv_id && sv_id != 0xffff) + { + printf("SVendor:\t%s\n", + pci_lookup_name(pacc, svbuf, sizeof(svbuf), PCI_LOOKUP_SUBSYSTEM | PCI_LOOKUP_VENDOR, sv_id)); + printf("SDevice:\t%s\n", + pci_lookup_name(pacc, sdbuf, sizeof(sdbuf), PCI_LOOKUP_SUBSYSTEM | PCI_LOOKUP_DEVICE, p->vendor_id, p->device_id, sv_id, sd_id)); + } + if (c = get_conf_byte(d, PCI_REVISION_ID)) + printf("Rev:\t%02x\n", c); + if (c = get_conf_byte(d, PCI_CLASS_PROG)) + printf("ProgIf:\t%02x\n", c); + if (opt_kernel) + show_kernel_machine(d); + } + else + { + show_slot_name(d); + print_shell_escaped(pci_lookup_name(pacc, classbuf, sizeof(classbuf), PCI_LOOKUP_CLASS, p->device_class)); + print_shell_escaped(pci_lookup_name(pacc, vendbuf, sizeof(vendbuf), PCI_LOOKUP_VENDOR, p->vendor_id, p->device_id)); + print_shell_escaped(pci_lookup_name(pacc, devbuf, sizeof(devbuf), PCI_LOOKUP_DEVICE, p->vendor_id, p->device_id)); + if (c = get_conf_byte(d, PCI_REVISION_ID)) + printf(" -r%02x", c); + if (c = get_conf_byte(d, PCI_CLASS_PROG)) + printf(" -p%02x", c); + if (sv_id && sv_id != 0xffff) + { + print_shell_escaped(pci_lookup_name(pacc, svbuf, sizeof(svbuf), PCI_LOOKUP_SUBSYSTEM | PCI_LOOKUP_VENDOR, sv_id)); + print_shell_escaped(pci_lookup_name(pacc, sdbuf, sizeof(sdbuf), PCI_LOOKUP_SUBSYSTEM | PCI_LOOKUP_DEVICE, p->vendor_id, p->device_id, sv_id, sd_id)); + } + else + printf(" \"\" \"\""); + putchar('\n'); + } +} + +/*** Main show function ***/ + +static void +show_device(struct device *d) +{ + if (opt_machine) + show_machine(d); + else + { + if (verbose) + show_verbose(d); + else + show_terse(d); + if (opt_kernel || verbose) + show_kernel(d); + } + if (opt_hex) + show_hex_dump(d); + if (verbose || opt_hex) + putchar('\n'); +} + +static void +show(void) +{ + struct device *d; + + for(d=first_dev; d; d=d->next) + show_device(d); +} + +/*** Tree output ***/ + +struct bridge { + struct bridge *chain; /* Single-linked list of bridges */ + struct bridge *next, *child; /* Tree of bridges */ + struct bus *first_bus; /* List of buses connected to this bridge */ + unsigned int domain; + unsigned int primary, secondary, subordinate; /* Bus numbers */ + struct device *br_dev; +}; + +struct bus { + unsigned int domain; + unsigned int number; + struct bus *sibling; + struct device *first_dev, **last_dev; +}; + +static struct bridge host_bridge = { NULL, NULL, NULL, NULL, 0, ~0, 0, ~0, NULL }; + +static struct bus * +find_bus(struct bridge *b, unsigned int domain, unsigned int n) +{ + struct bus *bus; + + for(bus=b->first_bus; bus; bus=bus->sibling) + if (bus->domain == domain && bus->number == n) + break; + return bus; +} + +static struct bus * +new_bus(struct bridge *b, unsigned int domain, unsigned int n) +{ + struct bus *bus = xmalloc(sizeof(struct bus)); + bus->domain = domain; + bus->number = n; + bus->sibling = b->first_bus; + bus->first_dev = NULL; + bus->last_dev = &bus->first_dev; + b->first_bus = bus; + return bus; +} + +static void +insert_dev(struct device *d, struct bridge *b) +{ + struct pci_dev *p = d->dev; + struct bus *bus; + + if (! (bus = find_bus(b, p->domain, p->bus))) + { + struct bridge *c; + for(c=b->child; c; c=c->next) + if (c->domain == p->domain && c->secondary <= p->bus && p->bus <= c->subordinate) + { + insert_dev(d, c); + return; + } + bus = new_bus(b, p->domain, p->bus); + } + /* Simple insertion at the end _does_ guarantee the correct order as the + * original device list was sorted by (domain, bus, devfn) lexicographically + * and all devices on the new list have the same bus number. + */ + *bus->last_dev = d; + bus->last_dev = &d->next; + d->next = NULL; +} + +static void +grow_tree(void) +{ + struct device *d, *d2; + struct bridge **last_br, *b; + + /* Build list of bridges */ + + last_br = &host_bridge.chain; + for(d=first_dev; d; d=d->next) + { + word class = d->dev->device_class; + byte ht = get_conf_byte(d, PCI_HEADER_TYPE) & 0x7f; + if (class == PCI_CLASS_BRIDGE_PCI && + (ht == PCI_HEADER_TYPE_BRIDGE || ht == PCI_HEADER_TYPE_CARDBUS)) + { + b = xmalloc(sizeof(struct bridge)); + b->domain = d->dev->domain; + if (ht == PCI_HEADER_TYPE_BRIDGE) + { + b->primary = get_conf_byte(d, PCI_PRIMARY_BUS); + b->secondary = get_conf_byte(d, PCI_SECONDARY_BUS); + b->subordinate = get_conf_byte(d, PCI_SUBORDINATE_BUS); + } + else + { + b->primary = get_conf_byte(d, PCI_CB_PRIMARY_BUS); + b->secondary = get_conf_byte(d, PCI_CB_CARD_BUS); + b->subordinate = get_conf_byte(d, PCI_CB_SUBORDINATE_BUS); + } + *last_br = b; + last_br = &b->chain; + b->next = b->child = NULL; + b->first_bus = NULL; + b->br_dev = d; + } + } + *last_br = NULL; + + /* Create a bridge tree */ + + for(b=&host_bridge; b; b=b->chain) + { + struct bridge *c, *best; + best = NULL; + for(c=&host_bridge; c; c=c->chain) + if (c != b && (c == &host_bridge || b->domain == c->domain) && + b->primary >= c->secondary && b->primary <= c->subordinate && + (!best || best->subordinate - best->primary > c->subordinate - c->primary)) + best = c; + if (best) + { + b->next = best->child; + best->child = b; + } + } + + /* Insert secondary bus for each bridge */ + + for(b=&host_bridge; b; b=b->chain) + if (!find_bus(b, b->domain, b->secondary)) + new_bus(b, b->domain, b->secondary); + + /* Create bus structs and link devices */ + + for(d=first_dev; d;) + { + d2 = d->next; + insert_dev(d, &host_bridge); + d = d2; + } +} + +static void +print_it(char *line, char *p) +{ + *p++ = '\n'; + *p = 0; + fputs(line, stdout); + for(p=line; *p; p++) + if (*p == '+' || *p == '|') + *p = '|'; + else + *p = ' '; +} + +static void show_tree_bridge(struct bridge *, char *, char *); + +static void +show_tree_dev(struct device *d, char *line, char *p) +{ + struct pci_dev *q = d->dev; + struct bridge *b; + char namebuf[256]; + + p += sprintf(p, "%02x.%x", q->dev, q->func); + for(b=&host_bridge; b; b=b->chain) + if (b->br_dev == d) + { + if (b->secondary == b->subordinate) + p += sprintf(p, "-[%04x:%02x]-", b->domain, b->secondary); + else + p += sprintf(p, "-[%04x:%02x-%02x]-", b->domain, b->secondary, b->subordinate); + show_tree_bridge(b, line, p); + return; + } + if (verbose) + p += sprintf(p, " %s", + pci_lookup_name(pacc, namebuf, sizeof(namebuf), + PCI_LOOKUP_VENDOR | PCI_LOOKUP_DEVICE, + q->vendor_id, q->device_id)); + print_it(line, p); +} + +static void +show_tree_bus(struct bus *b, char *line, char *p) +{ + if (!b->first_dev) + print_it(line, p); + else if (!b->first_dev->next) + { + *p++ = '-'; + *p++ = '-'; + show_tree_dev(b->first_dev, line, p); + } + else + { + struct device *d = b->first_dev; + while (d->next) + { + p[0] = '+'; + p[1] = '-'; + show_tree_dev(d, line, p+2); + d = d->next; + } + p[0] = '\\'; + p[1] = '-'; + show_tree_dev(d, line, p+2); + } +} + +static void +show_tree_bridge(struct bridge *b, char *line, char *p) +{ + *p++ = '-'; + if (!b->first_bus->sibling) + { + if (b == &host_bridge) + p += sprintf(p, "[%04x:%02x]-", b->domain, b->first_bus->number); + show_tree_bus(b->first_bus, line, p); + } + else + { + struct bus *u = b->first_bus; + char *k; + + while (u->sibling) + { + k = p + sprintf(p, "+-[%04x:%02x]-", u->domain, u->number); + show_tree_bus(u, line, k); + u = u->sibling; + } + k = p + sprintf(p, "\\-[%04x:%02x]-", u->domain, u->number); + show_tree_bus(u, line, k); + } +} + +static void +show_forest(void) +{ + char line[256]; + + grow_tree(); + show_tree_bridge(&host_bridge, line, line); +} + +/*** Bus mapping mode ***/ + +struct bus_bridge { + struct bus_bridge *next; + byte this, dev, func, first, last, bug; +}; + +struct bus_info { + byte exists; + byte guestbook; + struct bus_bridge *bridges, *via; +}; + +static struct bus_info *bus_info; + +static void +map_bridge(struct bus_info *bi, struct device *d, int np, int ns, int nl) +{ + struct bus_bridge *b = xmalloc(sizeof(struct bus_bridge)); + struct pci_dev *p = d->dev; + + b->next = bi->bridges; + bi->bridges = b; + b->this = get_conf_byte(d, np); + b->dev = p->dev; + b->func = p->func; + b->first = get_conf_byte(d, ns); + b->last = get_conf_byte(d, nl); + printf("## %02x.%02x:%d is a bridge from %02x to %02x-%02x\n", + p->bus, p->dev, p->func, b->this, b->first, b->last); + if (b->this != p->bus) + printf("!!! Bridge points to invalid primary bus.\n"); + if (b->first > b->last) + { + printf("!!! Bridge points to invalid bus range.\n"); + b->last = b->first; + } +} + +static void +do_map_bus(int bus) +{ + int dev, func; + int verbose = pacc->debugging; + struct bus_info *bi = bus_info + bus; + struct device *d; + + if (verbose) + printf("Mapping bus %02x\n", bus); + for(dev = 0; dev < 32; dev++) + if (filter.slot < 0 || filter.slot == dev) + { + int func_limit = 1; + for(func = 0; func < func_limit; func++) + if (filter.func < 0 || filter.func == func) + { + /* XXX: Bus mapping supports only domain 0 */ + struct pci_dev *p = pci_get_dev(pacc, 0, bus, dev, func); + u16 vendor = pci_read_word(p, PCI_VENDOR_ID); + if (vendor && vendor != 0xffff) + { + if (!func && (pci_read_byte(p, PCI_HEADER_TYPE) & 0x80)) + func_limit = 8; + if (verbose) + printf("Discovered device %02x:%02x.%d\n", bus, dev, func); + bi->exists = 1; + if (d = scan_device(p)) + { + show_device(d); + switch (get_conf_byte(d, PCI_HEADER_TYPE) & 0x7f) + { + case PCI_HEADER_TYPE_BRIDGE: + map_bridge(bi, d, PCI_PRIMARY_BUS, PCI_SECONDARY_BUS, PCI_SUBORDINATE_BUS); + break; + case PCI_HEADER_TYPE_CARDBUS: + map_bridge(bi, d, PCI_CB_PRIMARY_BUS, PCI_CB_CARD_BUS, PCI_CB_SUBORDINATE_BUS); + break; + } + free(d); + } + else if (verbose) + printf("But it was filtered out.\n"); + } + pci_free_dev(p); + } + } +} + +static void +do_map_bridges(int bus, int min, int max) +{ + struct bus_info *bi = bus_info + bus; + struct bus_bridge *b; + + bi->guestbook = 1; + for(b=bi->bridges; b; b=b->next) + { + if (bus_info[b->first].guestbook) + b->bug = 1; + else if (b->first < min || b->last > max) + b->bug = 2; + else + { + bus_info[b->first].via = b; + do_map_bridges(b->first, b->first, b->last); + } + } +} + +static void +map_bridges(void) +{ + int i; + + printf("\nSummary of buses:\n\n"); + for(i=0; i<256; i++) + if (bus_info[i].exists && !bus_info[i].guestbook) + do_map_bridges(i, 0, 255); + for(i=0; i<256; i++) + { + struct bus_info *bi = bus_info + i; + struct bus_bridge *b = bi->via; + + if (bi->exists) + { + printf("%02x: ", i); + if (b) + printf("Entered via %02x:%02x.%d\n", b->this, b->dev, b->func); + else if (!i) + printf("Primary host bus\n"); + else + printf("Secondary host bus (?)\n"); + } + for(b=bi->bridges; b; b=b->next) + { + printf("\t%02x.%d Bridge to %02x-%02x", b->dev, b->func, b->first, b->last); + switch (b->bug) + { + case 1: + printf(" "); + break; + case 2: + printf(" "); + break; + } + putchar('\n'); + } + } +} + +static void +map_the_bus(void) +{ + if (pacc->method == PCI_ACCESS_PROC_BUS_PCI || + pacc->method == PCI_ACCESS_DUMP) + printf("WARNING: Bus mapping can be reliable only with direct hardware access enabled.\n\n"); + bus_info = xmalloc(sizeof(struct bus_info) * 256); + memset(bus_info, 0, sizeof(struct bus_info) * 256); + if (filter.bus >= 0) + do_map_bus(filter.bus); + else + { + int bus; + for(bus=0; bus<256; bus++) + do_map_bus(bus); + } + map_bridges(); +} + +/* Main */ + +int +main(int argc, char **argv) +{ + int i; + char *msg; + + if (argc == 2 && !strcmp(argv[1], "--version")) + { + puts("lspci version " PCIUTILS_VERSION); + return 0; + } + + pacc = pci_alloc(); + pacc->error = die; + pci_filter_init(pacc, &filter); + + while ((i = getopt(argc, argv, options)) != -1) + switch (i) + { + case 'n': + pacc->numeric_ids++; + break; + case 'v': + verbose++; + break; + case 'b': + pacc->buscentric = 1; + opt_buscentric = 1; + break; + case 's': + if (msg = pci_filter_parse_slot(&filter, optarg)) + die("-s: %s", msg); + break; + case 'd': + if (msg = pci_filter_parse_id(&filter, optarg)) + die("-d: %s", msg); + break; + case 'x': + opt_hex++; + break; + case 't': + opt_tree++; + break; + case 'i': + pci_set_name_list_path(pacc, optarg, 0); + break; + case 'm': + opt_machine++; + break; + case 'p': + opt_pcimap = optarg; + break; +#ifdef PCI_OS_LINUX + case 'k': + opt_kernel++; + break; +#endif + case 'M': + opt_map_mode++; + break; + case 'D': + opt_domains = 2; + break; +#ifdef PCI_USE_DNS + case 'q': + opt_query_dns++; + break; + case 'Q': + opt_query_all = 1; + break; +#else + case 'q': + case 'Q': + die("DNS queries are not available in this version"); +#endif + default: + if (parse_generic_option(i, pacc, optarg)) + break; + bad: + fprintf(stderr, help_msg, pacc->id_file_name); + return 1; + } + if (optind < argc) + goto bad; + + if (opt_query_dns) + { + pacc->id_lookup_mode |= PCI_LOOKUP_NETWORK; + if (opt_query_dns > 1) + pacc->id_lookup_mode |= PCI_LOOKUP_REFRESH_CACHE; + } + if (opt_query_all) + pacc->id_lookup_mode |= PCI_LOOKUP_NETWORK | PCI_LOOKUP_SKIP_LOCAL; + + pci_init(pacc); + if (opt_map_mode) + map_the_bus(); + else + { + scan_devices(); + sort_them(); + if (opt_tree) + show_forest(); + else + show(); + } + pci_cleanup(pacc); + + return (seen_errors ? 2 : 0); +} diff --git a/lspci.man b/lspci.man new file mode 100644 index 0000000..dfddacd --- /dev/null +++ b/lspci.man @@ -0,0 +1,350 @@ +.TH lspci 8 "@TODAY@" "@VERSION@" "The PCI Utilities" +.IX lspci +.SH NAME +lspci \- list all PCI devices +.SH SYNOPSIS +.B lspci +.RB [ options ] +.SH DESCRIPTION +.B lspci +is a utility for displaying information about PCI buses in the system and +devices connected to them. + +By default, it shows a brief list of devices. Use the options described +below to request either a more verbose output or output intended for +parsing by other programs. + +If you are going to report bugs in PCI device drivers or in +.I lspci +itself, please include output of "lspci -vvx" or even better "lspci -vvxxx" +(however, see below for possible caveats). + +Some parts of the output, especially in the highly verbose modes, are probably +intelligible only to experienced PCI hackers. For exact definitions of +the fields, please consult either the PCI specifications or the +.B header.h +and +.B /usr/include/linux/pci.h +include files. + +Access to some parts of the PCI configuration space is restricted to root +on many operating systems, so the features of +.I lspci +available to normal users are limited. However, +.I lspci +tries its best to display as much as available and mark all other +information with +.I +text. + +.SH OPTIONS + +.SS Basic display modes +.TP +.B -m +Dump PCI device data in a backward-compatible machine readable form. +See below for details. +.TP +.B -mm +Dump PCI device data in a machine readable form for easy parsing by scripts. +See below for details. +.TP +.B -t +Show a tree-like diagram containing all buses, bridges, devices and connections +between them. + +.SS Display options +.TP +.B -v +Be verbose and display detailed information about all devices. +.TP +.B -vv +Be very verbose and display more details. This level includes everything deemed +useful. +.TP +.B -vvv +Be even more verbose and display everything we are able to parse, +even if it doesn't look interesting at all (e.g., undefined memory regions). +.TP +.B -k +Show kernel drivers handling each device and also kernel modules capable of handling it. +Turned on by default when +.B -v +is given in the normal mode of output. +(Currently works only on Linux with kernel 2.6 or newer.) +.TP +.B -x +Show hexadecimal dump of the standard part of the configuration space (the first +64 bytes or 128 bytes for CardBus bridges). +.TP +.B -xxx +Show hexadecimal dump of the whole PCI configuration space. It is available only to root +as several PCI devices +.B crash +when you try to read some parts of the config space (this behavior probably +doesn't violate the PCI standard, but it's at least very stupid). However, such +devices are rare, so you needn't worry much. +.TP +.B -xxxx +Show hexadecimal dump of the extended (4096-byte) PCI configuration space available +on PCI-X 2.0 and PCI Express buses. +.TP +.B -b +Bus-centric view. Show all IRQ numbers and addresses as seen by the cards on the +PCI bus instead of as seen by the kernel. +.TP +.B -D +Always show PCI domain numbers. By default, lspci suppresses them on machines which +have only domain 0. + +.SS Options to control resolving ID's to names +.TP +.B -n +Show PCI vendor and device codes as numbers instead of looking them up in the +PCI ID list. +.TP +.B -nn +Show PCI vendor and device codes as both numbers and names. +.TP +.B -q +Use DNS to query the central PCI ID database if a device is not found in the local +.B pci.ids +file. If the DNS query succeeds, the result is cached in +.B ~/.pciids-cache +and it is recognized in subsequent runs even if +.B -q +is not given any more. Please use this switch inside automated scripts only +with caution to avoid overloading the database servers. +.TP +.B -qq +Same as +.BR -q , +but the local cache is reset. +.TP +.B -Q +Query the central database even for entries which are recognized locally. +Use this if you suspect that the displayed entry is wrong. + +.SS Options for selection of devices +.TP +.B -s [[[[]:]]:][][.[]] +Show only devices in the specified domain (in case your machine has several host bridges, +they can either share a common bus number space or each of them can address a PCI domain +of its own; domains are numbered from 0 to ffff), bus (0 to ff), slot (0 to 1f) and function (0 to 7). +Each component of the device address can be omitted or set to "*", both meaning "any value". All numbers are +hexadecimal. E.g., "0:" means all devices on bus 0, "0" means all functions of device 0 +on any bus, "0.3" selects third function of device 0 on all buses and ".4" shows only +the fourth function of each device. +.TP +.B -d []:[] +Show only devices with specified vendor and device ID. Both ID's are given in +hexadecimal and may be omitted or given as "*", both meaning "any value". + +.SS Other options +.TP +.B -i +Use +.B + +as the PCI ID list instead of @IDSDIR@/pci.ids. +.TP +.B -p +Use +.B + +as the map of PCI ID's handled by kernel modules. By default, lspci uses +.RI /lib/modules/ kernel_version /modules.pcimap. +Applies only to Linux systems with recent enough module tools. +.TP +.B -M +Invoke bus mapping mode which performs a thorough scan of all PCI devices, including +those behind misconfigured bridges etc. This option is available only to root and it +gives meaningful results only if combined with direct hardware access mode (otherwise +the results are identical to normal listing modes, modulo bugs in lspci). Please note +that the bus mapper doesn't support PCI domains and scans only domain 0. +.TP +.B --version +Shows +.I lspci +version. This option should be used stand-alone. + +.SS PCI access options +.PP +The PCI utilities use the PCI library to talk to PCI devices (see +\fBpcilib\fP(7) for details). You can use the following options to +influence its behavior: +.TP +.B -A +The library supports a variety of methods to access the PCI hardware. +By default, it uses the first access method available, but you can use +this option to override this decision. See \fB-A help\fP for a list of +available methods and their descriptions. +.TP +.B -O = +The behavior of the library is controlled by several named parameters. +This option allows to set the value of any of the parameters. Use \fB-O help\fP +for a list of known parameters and their default values. +.TP +.B -H1 +Use direct hardware access via Intel configuration mechanism 1. +(This is a shorthand for \fB-A intel-conf1\fP.) +.TP +.B -H2 +Use direct hardware access via Intel configuration mechanism 2. +(This is a shorthand for \fB-A intel-conf2\fP.) +.TP +.B -F +Instead of accessing real hardware, read the list of devices and values of their +configuration registers from the given file produced by an earlier run of lspci -x. +This is very useful for analysis of user-supplied bug reports, because you can display +the hardware configuration in any way you want without disturbing the user with +requests for more dumps. +.TP +.B -G +Increase debug level of the library. + +.SH MACHINE READABLE OUTPUT +If you intend to process the output of lspci automatically, please use one of the +machine-readable output formats +.RB ( -m , +.BR -vm , +.BR -vmm ) +described in this section. All other formats are likely to change +between versions of lspci. + +.P +All numbers are always printed in hexadecimal. If you want to process numeric ID's instead of +names, please add the +.B -n +switch. + +.SS Simple format (-m) + +In the simple format, each device is described on a single line, which is +formatted as parameters suitable for passing to a shell script, i.e., values +separated by whitespaces, quoted and escaped if necessary. +Some of the arguments are positional: slot, class, vendor name, device name, +subsystem vendor name and subsystem name (the last two are empty if +the device has no subsystem); the remaining arguments are option-like: + +.TP +.BI -r rev +Revision number. + +.TP +.BI -p progif +Programming interface. + +.P +The relative order of positional arguments and options is undefined. +New options can be added in future versions, but they will always +have a single argument not separated from the option by any spaces, +so they can be easily ignored if not recognized. + +.SS Verbose format (-vmm) + +The verbose output is a sequence of records separated by blank lines. +Each record describes a single device by a sequence of lines, each line +containing a single +.RI ` tag : +.IR value ' +pair. The +.I tag +and the +.I value +are separated by a single tab character. +Neither the records nor the lines within a record are in any particular order. +Tags are case-sensitive. + +.P +The following tags are defined: + +.TP +.B Slot +The name of the slot where the device resides +.RI ([ domain :] bus : device . function ). +This tag is always the first in a record. + +.TP +.B Class +Name of the class. + +.TP +.B Vendor +Name of the vendor. + +.TP +.B Device +Name of the device. + +.TP +.B SVendor +Name of the subsystem vendor (optional). + +.TP +.B SDevice +Name of the subsystem (optional). + +.TP +.B Rev +Revision number (optional). + +.TP +.B ProgIf +Programming interface (optional). + +.TP +.B Driver +Kernel driver currently handling the device (optional, Linux only). + +.TP +.B Module +Kernel module reporting that it is capable of handling the device +(optional, Linux only). + +.P +New tags can be added in future versions, so you should silently ignore any tags you don't recognize. + +.SS Backward-compatible verbose format (-vm) + +In this mode, lspci tries to be perfectly compatible with its old versions. +It's almost the same as the regular verbose format, but the +.B +Device +tag is used for both the slot and the device name, so it occurs twice +in a single record. Please avoid using this format in any new code. + +.SH FILES +.TP +.B @IDSDIR@/pci.ids +A list of all known PCI ID's (vendors, devices, classes and subclasses). Maintained +at http://pciids.sourceforge.net/, use the +.B update-pciids +utility to download the most recent version. +.TP +.B @IDSDIR@/pci.ids.gz +If lspci is compiled with support for compression, this file is tried before pci.ids. +.TP +.B ~/.pciids-cache +All ID's found in the DNS query mode are cached in this file. + +.SH BUGS + +Sometimes, lspci is not able to decode the configuration registers completely. +This usually happens when not enough documentation was available to the authors. +In such cases, it at least prints the +.B +mark to signal that there is potentially something more to say. If you know +the details, patches will be of course welcome. + +Access to the extended configuration space is currently supported only by the +.B linux_sysfs +back-end. + +.SH SEE ALSO +.BR setpci (8), +.BR update-pciids (8), +.BR pcilib (7) + +.SH AUTHOR +The PCI Utilities are maintained by Martin Mares . diff --git a/maint/gen-zone b/maint/gen-zone new file mode 100755 index 0000000..b3591f8 --- /dev/null +++ b/maint/gen-zone @@ -0,0 +1,52 @@ +#!/usr/bin/perl -w +# Create a DNS zone with PCI ID records + +use strict; + +my %ids = (); +my %comments = (); +foreach our $file (@ARGV) { + my $fn = ($file =~ /\.gz$/) ? "zcat $file |" : ($file =~ /\.bz2$/) ? "bzcat $file |" : $file; + open F, $fn or die "Unable to open $file: $!"; + my @id = (); + my $comm = ""; + sub err($) { + print STDERR "Error in $file, line $.: @_\n"; + exit 1; + } + while () { + if (/^(#.*)/) { + $comm .= $_; + next; + } + chomp; + if (my ($indent, $id, $ignored, $name) = /^(\t*)(([0-9a-fA-Z]+ ?)*)(( |\t|$)\s*(.*))$/) { + my $depth = length $indent; + $depth <= @id or err "Mismatched indentation"; + @id = (@id[0..$depth-1], $id); + my $i = join(":", @id); + if ($i ne "") { + !exists $ids{$i} or die "ID $i defined twice"; + $ids{$i} = $name; + $comments{$i} = $comm if $comm; + } + } elsif (!/^$/) { + err "Parse error"; + } + $comm = ""; + } + close F; +} + +sub esc($) { + my ($x) = @_; + $x =~ s/^\s+//; + $x =~ s/"/\\"/g; + return $x; +} + +foreach my $i (keys %ids) { + my $j = join(".", reverse split(/[: ]/, $i)); + print "$j.pci\tTXT \"i=", esc($ids{$i}), "\"\n"; + # print "$j.pci\tTXT \"c=", esc($comments{$i}), "\"\n" +} diff --git a/maint/release b/maint/release new file mode 100755 index 0000000..7c4ac51 --- /dev/null +++ b/maint/release @@ -0,0 +1,50 @@ +#!/usr/bin/perl +# A simple script for making releases of the pciutils +# (c) 2003--2006 Martin Mares + +use strict; +use warnings; +require "maint/release.pm"; + +# Check API version +my $apiver = "???"; +open X, "lib/pci.h" or die; +while () { + /^#define PCI_LIB_VERSION 0x(.{6})$/ and $apiver = $1; +} +print "API version is $apiver ... "; ; + +print "Updating public GIT tree\n"; +`cg-push public`; die if $?; + +my $r = new UCW::Release("pciutils"); +my $ver = $r->GetVersionFromFile("Makefile", "VERSION=(.*)"); +$r->GetVersionsFromChangelog("ChangeLog", "Released as (.*)\."); +push @{$r->{"rules"}}, '^win32/config.h' => 's'; +if ($ver =~ /-/) { + $r->{"ALPHADIR"} = "alpha/"; + $r->{"conditions"}->{"ALPHA_VERSION"} = 1; +} else { + $r->{"ALPHADIR"} = ""; + $r->{"conditions"}->{"ALPHA_VERSION"} = -1; +} +push @{$r->{"uploads"}}, { + "url" => "scp://atrey.karlin.mff.cuni.cz/~ftp/pub/linux/pci/" . $r->{"ALPHADIR"} + },{ + "url" => "scp://master.kernel.org/pub/software/utils/pciutils/" . $r->{"ALPHADIR"} + }; +push @{$r->{"uploads"}}, { + "url" => "ftp://metalab.unc.edu/incoming/linux/", + "filter" => '(\.tar\.gz|\.lsm)$' + } if $r->{"ALPHADIR"} eq ""; +$r->ParseOptions; +$r->InitDist("maint/dist"); +my $reldir = $r->GenPackage; +$r->GenFile("README"); +$r->GenFile("pciutils.lsm"); +$r->Dispatch; +if ($r->{"do_upload"}) { + print "Uploading pci.ids to Jabberwock\n"; + `scp -C pci.ids pciids\@jabberwock.ucw.cz:05-pciutils.new`; die if $?; + `ssh pciids\@jabberwock.ucw.cz mv 05-pciutils.new origs/05-pciutils`; die if $?; +} diff --git a/maint/release.pm b/maint/release.pm new file mode 100644 index 0000000..b0fa46e --- /dev/null +++ b/maint/release.pm @@ -0,0 +1,317 @@ +#!/usr/bin/perl +# A simple system for making software releases +# (c) 2003--2006 Martin Mares + +package UCW::Release; +use strict; +use warnings; +use Getopt::Long; + +our $verbose = 0; + +sub new($$) { + my ($class,$basename) = @_; + my $s = { + "PACKAGE" => $basename, + "rules" => [ + # p=preprocess, s=subst, -=discard + '(^|/)(CVS|\.arch-ids|{arch}|\.git|tmp)/' => '-', + '\.(lsm|spec)$' => 'ps', + '(^|/)README$' => 's' + ], + "directories" => [ + ], + "conditions" => { + }, + "DATE" => `date '+%Y-%m-%d' | tr -d '\n'`, + "LSMDATE" => `date '+%y%m%d' | tr -d '\n'`, + "distfiles" => [ + ], + "archivedir" => "/home/mj/tmp/archives/$basename", + "uploads" => [ + ], + # Options + "do_test" => 1, + "do_patch" => 1, + "diff_against" => "", + "do_upload" => 1 + }; + bless $s; + return $s; +} + +sub GetVersionFromFile($) { + my ($s,$file,$rx) = @_; + open F, $file or die "Unable to open $file for version autodetection"; + while () { + chomp; + if (/$rx/) { + $s->{"VERSION"} = $1; + print "Detected version $1 from $file\n" if $verbose; + last; + } + } + close F; + if (!defined $s->{"VERSION"}) { die "Failed to auto-detect version"; } + return $s->{"VERSION"}; +} + +sub GetVersionsFromChangelog($) { + my ($s,$file,$rx) = @_; + open F, $file or die "Unable to open $file for version autodetection"; + while () { + chomp; + if (/$rx/) { + if (!defined $s->{"VERSION"}) { + $s->{"VERSION"} = $1; + print "Detected version $1 from $file\n" if $verbose; + } elsif ($s->{"VERSION"} eq $1) { + # do nothing + } else { + $s->{"OLDVERSION"} = $1; + print "Detected previous version $1 from $file\n" if $verbose; + last; + } + } + } + close F; + if (!defined $s->{"VERSION"}) { die "Failed to auto-detect version"; } + return $s->{"VERSION"}; +} + +sub InitDist($) { + my ($s,$dd) = @_; + $s->{"DISTDIR"} = $dd; + print "Initializing dist directory $dd\n" if $verbose; + `rm -rf $dd`; die if $?; + `mkdir -p $dd`; die if $?; +} + +sub ExpandVar($$) { + my ($s,$v) = @_; + if (defined $s->{$v}) { + return $s->{$v}; + } else { + die "Reference to unknown variable $v"; + } +} + +sub CopyFile($$$$) { + my ($s,$f,$dir,$action) = @_; + + (my $d = $f) =~ s@(^|/)[^/]*$@@; + $d = "$dir/$d"; + -d $d || `mkdir -p $d`; die if $?; + + my $preprocess = ($action =~ /p/); + my $subst = ($action =~ /s/); + if ($preprocess || $subst) { + open I, "$f" or die "open($f): $?"; + open O, ">$dir/$f" or die "open($dir/$f): $!"; + my @ifs = (); # stack of conditions, 1=satisfied + my $empty = 0; # last line was empty + my $is_makefile = ($f =~ /(Makefile|.mk)$/); + while () { + if ($subst) { + s/@([0-9A-Za-z_]+)@/$s->ExpandVar($1)/ge; + } + if ($preprocess) { + if (/^#/ || $is_makefile) { + if (/^#?ifdef\s+(\w+)/) { + if (defined ${$s->{"conditions"}}{$1}) { + push @ifs, ${$s->{"conditions"}}{$1}; + next; + } + push @ifs, 0; + } elsif (/^#ifndef\s+(\w+)/) { + if (defined ${$s->{"conditions"}}{$1}) { + push @ifs, -${$s->{"conditions"}}{$1}; + next; + } + push @ifs, 0; + } elsif (/^#if\s+/) { + push @ifs, 0; + } elsif (/^#?endif/) { + my $x = pop @ifs; + defined $x or die "Improper nesting of conditionals"; + $x && next; + } elsif (/^#?else/) { + my $x = pop @ifs; + defined $x or die "Improper nesting of conditionals"; + push @ifs, -$x; + $x && next; + } + } + @ifs && $ifs[$#ifs] < 0 && next; + if (/^$/) { + $empty && next; + $empty = 1; + } else { $empty = 0; } + } + print O; + } + close O; + close I; + ! -x $f or chmod(0755, "$dir/$f") or die "chmod($dir/$f): $!"; + } else { + `cp -a "$f" "$dir/$f"`; die if $?; + } +} + +sub GenPackage($) { + my ($s) = @_; + $s->{"PKG"} = $s->{"PACKAGE"} . "-" . $s->{"VERSION"}; + my $dd = $s->{"DISTDIR"}; + my $pkg = $s->{"PKG"}; + my $dir = "$dd/$pkg"; + print "Generating $dir\n"; + + FILES: foreach my $f (`find . -type f`) { + chomp $f; + $f =~ s/^\.\///; + my $action = ""; + my @rules = @{$s->{"rules"}}; + while (@rules) { + my $rule = shift @rules; + my $act = shift @rules; + if ($f =~ $rule) { + $action = $act; + last; + } + } + ($action =~ /-/) && next FILES; + print "$f ($action)\n" if $verbose; + $s->CopyFile($f, $dir, $action); + } + + foreach my $d (@{$s->{"directories"}}) { + `mkdir -p $dir/$d`; die if $?; + } + + if (-f "$dir/Makefile") { + print "Cleaning up\n"; + `cd $dir && make distclean >&2`; die if $?; + } + + print "Creating $dd/$pkg.tar.gz\n"; + my $tarvv = $verbose ? "vv" : ""; + `cd $dd && tar cz${tarvv}f $pkg.tar.gz $pkg >&2`; die if $?; + push @{$s->{"distfiles"}}, "$dd/$pkg.tar.gz"; + + my $adir = $s->{"archivedir"}; + my $afile = "$adir/$pkg.tar.gz"; + print "Archiving to $afile\n"; + -d $adir or `mkdir -p $adir`; + `cp $dd/$pkg.tar.gz $afile`; die if $?; + + return $dir; +} + +sub GenFile($$) { + my ($s,$f) = @_; + my $sf = $s->{"DISTDIR"} . "/" . $s->{"PKG"} . "/$f"; + my $df = $s->{"DISTDIR"} . "/$f"; + print "Generating $df\n"; + `cp $sf $df`; die if $?; + push @{$s->{"distfiles"}}, $df; +} + +sub ParseOptions($) { + my ($s) = @_; + GetOptions( + "verbose!" => \$verbose, + "test!" => \$s->{"do_test"}, + "patch!" => \$s->{"do_patch"}, + "diff-against=s" => \$s->{"diff_against"}, + "upload!" => \$s->{"do_upload"} + ) || die "Syntax: release [--verbose] [--test] [--nopatch] [--diff-against=] [--noupload]"; +} + +sub Test($) { + my ($s) = @_; + my $dd = $s->{"DISTDIR"}; + my $pkg = $s->{"PKG"}; + my $log = "$dd/$pkg.log"; + print "Doing a test compilation\n"; + `( cd $dd/$pkg && make ) >$log 2>&1`; + die "There were errors. Please inspect $log" if $?; + `grep -q [Ww]arning $log`; + $? or print "There were warnings! Please inspect $log.\n"; + print "Cleaning up\n"; + `cd $dd/$pkg && make distclean`; die if $?; +} + +sub MakePatch($) { + my ($s) = @_; + my $dd = $s->{"DISTDIR"}; + my $pkg1 = $s->{"PKG"}; + my $oldver; + if ($s->{"diff_against"} ne "") { + $oldver = $s->{"diff_against"}; + } elsif (defined $s->{"OLDVERSION"}) { + $oldver = $s->{"OLDVERSION"}; + } else { + print "WARNING: No previous version known. No patch generated.\n"; + return; + } + my $pkg0 = $s->{"PACKAGE"} . "-" . $oldver; + + my $oldarch = $s->{"archivedir"} . "/" . $pkg0 . ".tar.gz"; + -f $oldarch or die "MakePatch: $oldarch not found"; + print "Unpacking $pkg0 from $oldarch\n"; + `cd $dd && tar xzf $oldarch`; die if $?; + + my $diff = $s->{"PACKAGE"} . "-" . $oldver . "-" . $s->{"VERSION"} . ".diff.gz"; + print "Creating a patch from $pkg0 to $pkg1: $diff\n"; + `cd $dd && diff -ruN $pkg0 $pkg1 | gzip >$diff`; die if $?; + push @{$s->{"distfiles"}}, "$dd/$diff"; +} + +sub Upload($) { + my ($s) = @_; + foreach my $u (@{$s->{"uploads"}}) { + my $url = $u->{"url"}; + print "Upload to $url :\n"; + my @files = (); + my $filter = $u->{"filter"} || ".*"; + foreach my $f (@{$s->{"distfiles"}}) { + if ($f =~ $filter) { + print "\t$f\n"; + push @files, $f; + } + } + print " "; ; + if ($url =~ m@^scp://([^/]+)(.*)@) { + $, = " "; + my $host = $1; + my $dir = $2; + $dir =~ s@^/~@~@; + $dir =~ s@^/\./@@; + my $cmd = "scp @files $host:$dir\n"; + `$cmd`; die if $?; + } elsif ($url =~ m@ftp://([^/]+)(.*)@) { + my $host = $1; + my $dir = $2; + open FTP, "|ftp -v $host" or die; + print FTP "cd $dir\n"; + foreach my $f (@files) { + (my $ff = $f) =~ s@.*\/([^/].*)@$1@; + print FTP "put $f $ff\n"; + } + print FTP "bye\n"; + close FTP; + die if $?; + } else { + die "Don't know how to handle this URL scheme"; + } + } +} + +sub Dispatch($) { + my ($s) = @_; + $s->Test if $s->{"do_test"}; + $s->MakePatch if $s->{"do_patch"}; + $s->Upload if $s->{"do_upload"}; +} + +1; diff --git a/packaging/pciutils-mass.patch b/packaging/pciutils-mass.patch new file mode 100644 index 0000000..c3a10e9 --- /dev/null +++ b/packaging/pciutils-mass.patch @@ -0,0 +1,7663 @@ +diff -ruN pciutils-3.0.0/pci.ids pciutils/pci.ids +--- pciutils-3.0.0/pci.ids 2008-01-19 05:22:53.000000000 +0900 ++++ pciutils/pci.ids 2010-11-25 12:54:19.000000000 +0900 +@@ -1,18 +1,18 @@ + # + # List of PCI ID's + # ++# Version: 2008.10.07 ++# Date: 2008-10-07 11:49:28 ++# + # Maintained by Martin Mares and other volunteers from the +-# Linux PCI ID's Project at http://pciids.sf.net/. ++# PCI ID Project at http://pciids.sf.net/. + # +-# New data are always welcome, especially if accurate. If you have +-# anything to contribute, please follow the instructions at the web site +-# or send a diff -u against the most recent pci.ids to pci-ids@ucw.cz. ++# New data are always welcome, especially if they are accurate. If you have ++# anything to contribute, please follow the instructions at the web site. + # + # This file can be distributed under either the GNU General Public License + # (version 2 or higher) or the 3-clause BSD License. + # +-# $Id: pci.ids,v 1.58 2007/05/04 09:42:19 mares Exp $ +-# + + # Vendors, devices and subsystems. Please keep sorted. + +@@ -22,6 +22,9 @@ + # subvendor subdevice subsystem_name <-- two tabs + + 0000 Gammagraphx, Inc. ++0010 Allied Telesyn International ++# This is a relabelled RTL-8139 ++ 8139 AT-2500TX V3 Ethernet + 001a Ascend Communications, Inc. + 001c PEAK-System Technik GmbH + 0001 PCAN-PCI CAN-Bus controller +@@ -40,6 +43,8 @@ + 4800 WinTV PVR-350 + 4801 WinTV PVR-250 MCE + 4803 WinTV PVR-250 ++ 7444 WinTV HVR-1600 ++ 7801 WinTV HVR-1800 MCE + 8003 WinTV PVR-150 + 8801 WinTV PVR-150 + c801 WinTV PVR-150 +@@ -69,6 +74,7 @@ + 0315 SK-Electronics Co., Ltd. + 0357 TTTech AG + 000a TTP-Monitoring Card V2.0 ++036f Trigem Computer Inc. + 0403 Future Technology Devices International Ltd + 0432 SCM Microsystems, Inc. + 0001 Pluto2 DVB-T Receiver for PCMCIA [EasyWatch MobilSet] +@@ -80,11 +86,10 @@ + 8818 CS8818 USB2.0-to-ATAPI Bridge Controller with Embedded PHY + 050d Belkin + 001a FSD7000 802.11g PCI Wireless card +- 0109 F5U409-CU USB/Serial Portable Adapter ++ 700f F5D7001 - Wireless G Plus Desktop Card + 7050 F5D7050 802.11g Wireless USB Adapter + 705c F5D7050 v4 + 058f Alcor Micro Corporation +- 9254 AU9254 (4-port USB hub) + 05a9 OmniVision + 8519 OV519 series + 05e3 CyberDoor +@@ -97,22 +102,24 @@ + 1702 IS64PH ISDN Adapter + 1703 ISDN Adapter (PCI Bus, DV, W) + 1704 ISDN Adapter (PCI Bus, D, C) +-067b Prolific Technology, Inc. +- 2303 PL-2303 USB-to-Serial Converter +- 3507 PL-3507 Hi-Speed USB & IEEE 1394 Combo to IDE Bridge Controller + 069d Hughes Network Systems (HNS) + 0721 Sapphire, Inc. ++0795 Wired Inc. ++ 6663 Butane II (MPEG2 encoder board) ++ 6666 MediaPress (MPEG2 encoder board) + 07ca AVerMedia Technologies Inc. ++ a301 AVerTV 301 + b808 AVerTV DVB-T Volar (USB 2.0) + 07e2 ELMEG Communication Systems GmbH + 0842 NPG, Personal Grand Technology + 08ff AuthenTec + afe4 [Anchor] AF-S2 FingerLoc Sensor Module +-# Wrong ID used in subsystem ID of VIA USB controllers. +-0925 VIA Technologies, Inc. (Wrong ID) ++0925 First International Computer, Inc. ++ 1234 VA-502 Mainboard + 093a PixArt Imaging Inc. + 010e Innovage Mini Digital Camera + 010f SDC-300 Webcam ++ 020f Digital Photo Viewer + 2468 CIF Single Chip + 2600 PAC7311 + 2603 Philips Webcam SPC500NC +@@ -122,7 +129,7 @@ + 0a89 BREA Technologies Inc + 0ace ZyDAS + 1211 ZD1211 IEEE 802.11b+g USB Adapter +-0b0b Rhino Equiment Corp. ++0b0b Rhino Equipment Corp. + 0105 Rhino R1T1 + 0205 Rhino R4FXO + 0206 RCB4FXO 4-channel FXO analog telphony card +@@ -137,6 +144,7 @@ + 0905 R1T3 Single T3 Digital Telephony Card + 0906 RCB24FXX 24-channel modular analog telphony card + 0a06 RCB672FXX 672-channel modular analog telphony card ++0b3d Brontes Technologies + 0b49 ASCII Corporation + 064f Trance Vibrator + 0ccd TerraTec Electronic GmbH +@@ -171,11 +179,6 @@ + 3033 QVision 1280/p + 3034 QVision 1280/p + 4000 4000 [Triflex] +- 4030 SMART-2/P +- 4031 SMART-2SL +- 4032 Smart Array 3200 +- 4033 Smart Array 3100ES +- 4034 Smart Array 221 + 4040 Integrated Array + 4048 Compaq Raid LC2 + 4050 Smart Array 4200 +@@ -203,8 +206,9 @@ + ae10 Smart-2/P RAID Controller + 0e11 4030 Smart-2/P Array Controller + 0e11 4031 Smart-2SL Array Controller +- 0e11 4032 Smart Array Controller +- 0e11 4033 Smart 3100ES Array Controller ++ 0e11 4032 Smart Array 3200 Controller ++ 0e11 4033 Smart Array 3100ES Controller ++ 0e11 4034 Smart Array 221 Controller + ae29 MIS-L + ae2a MPC + ae2b MIS-E +@@ -248,11 +252,14 @@ + b200 Memory Hot-Plug Controller + b203 Integrated Lights Out Controller + b204 Integrated Lights Out Processor ++ c000 Remote Insight Lights-Out Edition + f130 NetFlex-3/P ThunderLAN 1.0 + f150 NetFlex-3/P ThunderLAN 2.3 + 0e21 Cowon Systems, Inc. + 0e55 HaSoTec GmbH + 0eac SHF Communication Technologies AG ++ 0008 Ethernet Powerlink Managing Node 01 ++0f62 Acrox Technologies Co., Ltd. + # Formerly NCR + 1000 LSI Logic / Symbios Logic + 0001 53c810 +@@ -291,7 +298,7 @@ + 4c53 1000 CC7/CR7/CP7/VC7/VP7/VR7 mainboard + 4c53 1050 CT7 mainboard + 0010 53C1510 +- 0e11 4040 Integrated Array Controller ++ 0e11 4040 Integrated Smart Array Controller + 0e11 4048 RAID LC2 Controller + 1000 1000 53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Intelligent mode) + 0012 53c895a +@@ -305,6 +312,8 @@ + 0021 53c1010 66MHz Ultra3 SCSI Adapter + 1000 1000 LSI53C1000/1000R/1010R/1010-66 PCI to Ultra160 SCSI Controller + 1000 1010 Asus TR-DLS onboard 53C1010-66 ++ 103c 1300 Ultra160 SCSI [AB306A] ++ 103c 1310 Ultra160 SCSI [A9918A] + 103c 1330 Ultra160 SCSI [A7059A] + 103c 1340 Ultra160 SCSI [A7060A] + 124b 1070 PMC-USCSI3 +@@ -313,14 +322,15 @@ + 4c53 1310 P017 mezzanine (64-bit PMC) + 0030 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI + 0e11 00da ProLiant ML 350 +- 1028 0123 PowerEdge 2600 +- 1028 014a PowerEdge 1750 ++ 1028 0123 LSI Logic 1020/1030 ++ 1028 014a LSI Logic 1020/1030 + 1028 016c PowerEdge 1850 MPT Fusion SCSI/RAID (Perc 4) +- 1028 0183 PowerEdge 1800 ++ 1028 0183 LSI Logic 1020/1030 ++ 1028 018a PERC 4/IM + 1028 1010 LSI U320 SCSI Controller + 103c 12c5 Ultra320 SCSI [A7173A] + 124b 1170 PMC-USCSI320 +- 1734 1052 Primergy RX300 S2 ++ 1734 1052 PRIMERGY BX/RX/TX S2 series onboard SCSI(IME) + 0031 53c1030ZC PCI-X Fusion-MPT Dual Ultra320 SCSI + 0032 53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI + 1000 1000 LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller +@@ -330,13 +340,26 @@ + 1000 0066 MegaRAID SCSI 320-2XRWS + 0041 53C1035ZC PCI-X Fusion-MPT Dual Ultra320 SCSI + 0050 SAS1064 PCI-X Fusion-MPT SAS ++ 1028 1f04 SAS 5/E ++ 1028 1f09 SAS 5i/R + 0054 SAS1068 PCI-X Fusion-MPT SAS +- 1028 1f09 PowerEdge 860 SAS 5i/R ++ 1028 1f04 SAS 5/E Adapter Controller ++ 1028 1f05 SAS 5/i Adapter Controller ++ 1028 1f06 SAS 5/i Integrated Controller ++ 1028 1f07 SAS 5/iR Integrated RAID Controller ++ 1028 1f08 SAS 5/iR Integrated RAID Controller ++ 1028 1f09 SAS 5/iR Adapter RAID Controller + 0055 SAS1068 PCI-X Fusion-MPT SAS + 1033 8336 SAS1068 + 0056 SAS1064ET PCI-Express Fusion-MPT SAS + 0057 M1064E MegaRAID SAS ++ 8086 346c Embedded Software RAID Technology II (ESTRII) + 0058 SAS1068E PCI-Express Fusion-MPT SAS ++ 1028 021d SAS 6/iR Integrated Workstations RAID Controller ++ 1028 1f0e SAS 6/iR Adapter RAID Controller ++ 1028 1f0f SAS 6/iR Integrated Blades RAID Controller ++ 1028 1f10 SAS 6/iR Integrated RAID Controller ++ 0059 MegaRAID SAS 8208ELP/8208ELP + 005a SAS1066E PCI-Express Fusion-MPT SAS + 005c SAS1064A PCI-X Fusion-MPT SAS + 005e SAS1066 PCI-X Fusion-MPT SAS +@@ -356,10 +379,15 @@ + 1028 1f0a PERC 6/E Adapter RAID Controller + 1028 1f0b PERC 6/i Adapter RAID Controller + 1028 1f0c PERC 6/i Integrated RAID Controller +- 1028 1f0d CERC 6/i Adapter RAID Controller ++ 1028 1f0d PERC 6/i Integrated RAID Controller + 1028 1f11 CERC 6/i Integrated RAID Controller ++ 1033 835a MegaRAID SAS PCI Express ROMB + 1043 824d MegaRAID SAS PCI Express ROMB + 1170 002f MegaRAID SAS PCI Express ROMB ++ 1170 0036 MegaRAID SAS PCI Express ROMB ++ 15d9 c080 MegaRAID SAS PCI Express ROMB ++ 17aa 6b7c MegaRAID SAS PCI Express ROMB ++ 18a1 0003 LSI MegaRAID SAS PCI Express ROMB + 8086 1006 RAID Controller SRCSAS28EP + 8086 100a RAID Controller SRCSAS28EV + 8086 1010 RAID Controller SRCSATA28E +@@ -367,6 +395,8 @@ + 8086 34cd Integrated RAID Controller SROMBSAS28E + 0062 SAS1078 PCI-Express Fusion-MPT SAS + 1000 0062 SAS1078 PCI-Express Fusion-MPT SAS ++ 007c MegaRAID SAS 1078DE ++ 1014 0395 ServeRAID-AR10is SAS/SATA Controller + 008f 53c875J + 1092 8000 FirePort 40 SCSI Controller + 1092 8760 FirePort 40 Dual SCSI Host Adapter +@@ -464,8 +494,11 @@ + 9100 INI-9100/9100W SCSI Host + 1002 ATI Technologies Inc + 3150 M24 1P [Radeon Mobility X600] ++ 103c 0934 nx8220 ++ 3151 M24 [FireMV 2400] + 3152 M22 [Radeon Mobility X300] + 3154 M24GL [Mobility FireGL V3200] ++ 3171 M24 [FireMV 2400] (Secondary) + 3e50 RV380 0x3e50 [Radeon X600] + 3e54 RV380 0x3e54 [FireGL V3200] + 3e70 RV380 [Radeon X600] (Secondary) +@@ -501,7 +534,7 @@ + 1787 4002 Radeon 9600 XT + 4153 RV350 AS [Radeon 9550] + 1043 010c A9550GE/TD +- 1462 932c 865PE Neo2-V (MS-6788) mainboard ++ 1462 932c RX9550SE-TD128 (MS-8932) + 4154 RV350 AT [FireGL T2] + 4155 RV350 AU [FireGL T2] + 4156 RV350 AV [FireGL T2] +@@ -539,9 +572,10 @@ + 103c 0024 Pavilion ze4400 builtin Video + 161f 2029 eMachines M5312 builtin Video + 4337 Radeon IGP 330M/340M/350M +- 1014 053a ThinkPad R40e (2684-HVG) builtin VGA controller ++ 1014 053a ThinkPad R40e + 103c 0850 Radeon IGP 345M + 4341 IXP150 AC'97 Audio Controller ++ 4342 IXP200 3COM 3C920B Ethernet Controller + 4345 EHCI USB Controller + 4347 OHCI USB Controller #1 + 4348 OHCI USB Controller #2 +@@ -550,6 +584,7 @@ + 4353 SMBus + 4354 215CT [Mach64 CT] + 4358 210888CX [Mach64 CX] ++ 4361 IXP SB300 AC'97 Audio Controller + 4363 SMBus + 436e 436E Serial ATA Controller + 4370 IXP SB400 AC'97 Audio Controller +@@ -560,48 +595,103 @@ + 107b 0300 MX6421 + 4371 IXP SB400 PCI-PCI Bridge + 103c 308b MX6125 ++ 1462 7217 Aspire L250 + 4372 IXP SB400 SMBus Controller + 1025 0080 Aspire 5024WLMMi + 103c 308b MX6125 ++ 1462 7217 Aspire L250 + 4373 IXP SB400 USB2 Host Controller + 1025 0080 Aspire 5024WLMMi + 103c 308b MX6125 ++ 1462 7217 Aspire L250 + 4374 IXP SB400 USB Host Controller + 103c 308b MX6125 ++ 1462 7217 Aspire L250 + 4375 IXP SB400 USB Host Controller + 1025 0080 Aspire 5024WLMMi + 103c 308b MX6125 +- 4376 Standard Dual Channel PCI IDE Controller ++ 1462 7217 Aspire L250 ++ 4376 IXP SB400 IDE Controller + 1025 0080 Aspire 5024WLMMi + 103c 308b MX6125 ++ 1462 7217 Aspire L250 + 4377 IXP SB400 PCI-ISA Bridge + 1025 0080 Aspire 5024WLMi + 103c 308b MX6125 ++ 1462 7217 Aspire L250 + 4378 SB400 AC'97 Modem Controller + 1025 0080 Aspire 5024WLMMi + 103c 308b MX6125 +- 4379 4379 Serial ATA Controller +- 437a 437A Serial ATA Controller ++ 4379 IXP SB400 Serial ATA Controller ++ 1462 7141 Aspire L250 ++ 437a IXP SB400 Serial ATA Controller + 1002 4379 4379 Serial ATA Controller + 1002 437a 437A Serial ATA Controller ++ 1462 7141 Aspire L250 + 14f1 8800 Leadtek WinFast TV2000XP Expert +- 437b SB450 HDA Audio ++ 437b IXP SB4x0 High Definition Audio Controller ++ 1002 437b IXP SB4x0 High Definition Audio Controller ++ 10cf 1326 Fujitsu Lifebook A3040 + 1734 10b8 Realtek High Definition Audio + 4380 SB600 Non-Raid-5 SATA ++ 103c 2813 DC5750 Microtower ++ 1462 7327 K9AG Neo2 ++ 17f2 5999 KI690-AM2 Motherboard + 4381 SB600 Raid-5 SATA + 4382 SB600 AC97 Audio +- 4383 SB600 Azalia +- 4384 SB600 PCI to PCI Bridge +- 4385 SB600 SMBus ++ 4383 SBx00 Azalia (Intel HDA) ++ 103c 280a DC5750 Microtower ++ 17f2 5000 KI690-AM2 Motherboard ++ 4384 SBx00 PCI to PCI Bridge ++ 4385 SBx00 SMBus Controller ++ 103c 280a DC5750 Microtower ++ 1462 7368 K9AG Neo2 ++ 17f2 5000 KI690-AM2 Motherboard + 4386 SB600 USB Controller (EHCI) ++ 103c 280a DC5750 Microtower ++ 1462 7368 K9AG Neo2 ++ 17f2 5000 KI690-AM2 Motherboard + 4387 SB600 USB (OHCI0) ++ 103c 280a DC5750 Microtower ++ 1462 7368 K9AG Neo2 ++ 17f2 5000 KI690-AM2 Motherboard + 4388 SB600 USB (OHCI1) ++ 103c 280a DC5750 Microtower ++ 1462 7368 K9AG Neo2 ++ 17f2 5000 KI690-AM2 Motherboard + 4389 SB600 USB (OHCI2) ++ 103c 280a DC5750 Microtower ++ 1462 7368 K9AG Neo2 ++ 17f2 5000 KI690-AM2 Motherboard + 438a SB600 USB (OHCI3) ++ 103c 280a DC5750 Microtower ++ 1462 7368 K9AG Neo2 ++ 17f2 5000 KI690-AM2 Motherboard + 438b SB600 USB (OHCI4) ++ 103c 280a DC5750 Microtower ++ 1462 7368 K9AG Neo2 ++ 17f2 5000 KI690-AM2 Motherboard + 438c SB600 IDE ++ 103c 280a DC5750 Microtower ++ 1462 7368 K9AG Neo2 ++ 17f2 5000 KI690-AM2 Motherboard + 438d SB600 PCI to LPC Bridge ++ 103c 280a DC5750 Microtower ++ 1462 7368 K9AG Neo2 ++ 17f2 5000 KI690-AM2 Motherboard + 438e SB600 AC97 Modem ++ 4390 SB700/SB800 SATA Controller [IDE mode] ++ 4391 SB700/SB800 SATA Controller [AHCI mode] ++ 4392 SB700/SB800 SATA Controller [Non-RAID5 mode] ++ 4393 SB700/SB800 SATA Controller [RAID5 mode] ++ 4394 SB700/SB800 SATA Controller [SATA and FC Enabled] ++ 4395 SB800 SATA Controller [Storage mode with HyperFlash-PCIE] ++ 4396 SB700/SB800 USB EHCI Controller ++ 4397 SB700/SB800 USB OHCI0 Controller ++ 4398 SB700 USB OHCI1 Controller ++ 4399 SB700/SB800 USB OHCI2 Controller ++ 439c SB700/SB800 IDE Controller ++ 439d SB700/SB800 LPC host controller + 4437 Radeon Mobility 7000 IGP + 4554 210888ET [Mach64 ET] + 4654 Mach64 VT +@@ -656,9 +746,11 @@ + 1028 00d1 PowerEdge 2550 + 1028 00d9 PowerEdge 2500 + 1028 0134 PowerEdge 600SC ++ 1028 014a PowerEdge 1750 ++ 1028 0165 PowerEdge 750 + 103c 10e1 NetServer Rage XL + 107b 6400 6400 Server +- 1734 007a Primergy RX300 ++ 1734 007a PRIMERGY RX/TX series onboard VGA + 8086 3411 SDS2 Mainboard + 8086 3427 S875WP1-E mainboard + 8086 5744 S845WD1-E mainboard +@@ -701,6 +793,7 @@ + 4a4c R420 JL [Radeon X800] + 4a4d R420 JM [FireGL X3] + 4a4e M18 JN [Radeon Mobility 9800] ++ 4a4f Radeon X800 SE (R420) (AGP) + 4a50 R420 JP [Radeon X800XT] + 4a54 R420 [Radeon X800 VE] + 4a69 R420 [Radeon X800 PRO/GTO] (Secondary) +@@ -708,7 +801,9 @@ + 4a6b R420 [Radeon X800] (Secondary) + 4a70 R420 [X800XT-PE] (Secondary) + 4a74 R420 [Radeon X800 VE] (Secondary) ++ 4b48 Radeon X850 Consumer (R481) + 4b49 R480 [Radeon X850XT] ++ 4b4a Radeon X850 SE (R480) (AGP) + 4b4b R480 [Radeon X850Pro] + 4b4c R481 [Radeon X850XT-PE] + 4b69 R480 [Radeon X850XT] (Secondary) +@@ -726,6 +821,8 @@ + 4c44 3D Rage LT Pro AGP-66 + 4c45 Rage Mobility M3 AGP + 4c46 Rage Mobility M3 AGP 2x ++ 1002 0155 IBM Thinkpad A22p ++ 1014 0155 IBM Thinkpad A22p + 1028 00b1 Latitude C600 + 4c47 3D Rage LT-G 215LG + 4c49 3D Rage LT Pro +@@ -740,7 +837,6 @@ + 1014 0154 ThinkPad A20m/A21m + 1028 00aa Latitude CPt + 1028 00bb Latitude CPx +- 10e1 10cf Fujitsu Siemens LifeBook C Series + 1179 ff00 Satellite 1715XCDS laptop + 13bd 1019 PC-AR10 + 4c4e Rage Mobility L AGP 2x +@@ -753,6 +849,7 @@ + 4c54 264LT [Mach64 LT] + 4c57 Radeon Mobility M7 LW [Radeon Mobility 7500] + 1014 0517 ThinkPad T30 ++ 1014 0530 ThinkPad T42 2373-4WU + 1028 00e6 Radeon Mobility M7 LW (Dell Inspiron 8100) + 1028 012a Latitude C640 + 1043 1622 Mobility Radeon M7 (L3C/S) +@@ -766,26 +863,29 @@ + 104d 8140 PCG-Z1SP laptop + 1509 1930 Medion MD9703 + 4c5a Radeon Mobility M6 LZ +- 4c64 Radeon R250 Ld [Radeon Mobility 9000 M9] +- 4c65 Radeon R250 Le [Radeon Mobility 9000 M9] +- 4c66 Radeon R250 [Mobility FireGL 9000] +- 1014 054d Thinkpad T41 +- 4c67 Radeon R250 Lg [Radeon Mobility 9000 M9] ++ 4c64 Radeon RV250 Ld [Radeon Mobility 9000 M9] ++ 4c65 Radeon RV250 Le [Radeon Mobility 9000 M9] ++ 4c66 Radeon RV250 [Mobility FireGL 9000] ++ 1014 054d ThinkPad T41 ++ 4c67 Radeon RV250 Lg [Radeon Mobility 9000 M9] + # Secondary chip to the Lf +- 4c6e Radeon R250 Ln [Radeon Mobility 9000 M9] (Secondary) ++ 4c6e Radeon RV250 Ln [Radeon Mobility 9000 M9] (Secondary) + 4d46 Rage Mobility M4 AGP + 4d4c Rage Mobility M4 AGP ++ 4d52 Theater 550 PRO PCI [ATI TV Wonder 550] ++ 4d53 Theater 550 PRO PCIe + 4e44 Radeon R300 ND [Radeon 9700 Pro] + 1002 515e Radeon ES1000 + 1002 5965 Radeon ES1000 + 4e45 Radeon R300 NE [Radeon 9500 Pro] + 1002 0002 Radeon R300 NE [Radeon 9500 Pro] + 1681 0002 Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] +- 4e46 RV350 NF [Radeon 9600] ++ 4e46 R300 NF [Radeon 9600 TX] + 4e47 Radeon R300 NG [FireGL X1] + 4e48 Radeon R350 [Radeon 9800 Pro] + 4e49 Radeon R350 [Radeon 9800] +- 4e4a RV350 NJ [Radeon 9800 XT] ++ 4e4a R360 NJ [Radeon 9800 XT] ++ 1002 4e4a R360 [Radeon 9800 XT] + 4e4b R350 NK [FireGL X2] + 4e50 RV350 [Mobility Radeon 9600 M10] + 1025 005a TravelMate 290 +@@ -809,6 +909,7 @@ + 4e68 Radeon R350 [Radeon 9800 Pro] (Secondary) + 4e69 Radeon R350 [Radeon 9800] (Secondary) + 4e6a RV350 NJ [Radeon 9800 XT] (Secondary) ++ 1002 4e6a R360 [Radeon 9800 XT] (Secondary) + 1002 4e71 M10 NQ [Radeon Mobility 9600] + 4e71 M10 NQ [Radeon Mobility 9600] (Secondary) + 4f72 RV250 [Radeon 9000 Series] +@@ -887,6 +988,7 @@ + 5155 R200 QU [Radeon 9100] + 5157 Radeon RV200 QW [Radeon 7500] + 1002 013a Radeon 7500 ++ 1002 0f2b ALL-IN-WONDER VE PCI + 1002 103a Dell Optiplex GX260 + 1458 4000 RV200 QW [RADEON 7500 PRO MAYA AR] + 148c 2024 RV200 QW [Radeon 7500LE Dual Display] +@@ -908,17 +1010,28 @@ + # The IBM card doubles as an ATI PCI video adapter + 1014 029a Remote Supervisor Adapter II (RSA2) + 1014 02c8 eServer xSeries server mainboard ++ 1028 016c PowerEdge 1850 ++ 1028 016d PowerEdge 2850 Embedded Radeon 7000-M + 1028 019a PowerEdge SC1425 + 103c 1292 Radeon 7000 ++ 1043 c00a A7000/T/64M + 1458 4002 RV100 QY [RADEON 7000 PRO MAYA AV Series] + 148c 2003 RV100 QY [Radeon 7000 Multi-Display Edition] + 148c 2023 RV100 QY [Radeon 7000 Evil Master Multi-Display] ++ 174b 0280 Radeon RV100 QY [Radeon 7000/VE] + 174b 7112 RV100 QY [Sapphire Radeon VE 7000] + 174b 7c28 Sapphire Radeon VE 7000 DDR + 1787 0202 RV100 QY [Excalibur Radeon 7000] + 17ee 1001 Radeon 7000 64MB DDR + DVI + 515a Radeon RV100 QZ [Radeon 7000/VE] + 515e ES1000 ++ 1028 01df PowerEdge SC440 ++ 1028 01e6 PowerEdge 860 ++ 1028 020f PowerEdge R300 Embedded ATI ES1000 ++ 1028 0210 PowerEdge T300 Embedded ATI ES1000 ++ 1028 0225 PowerEdge T105 Embedded ATI ES1000 ++ 15d9 8680 X7DVL-E-O motherboard ++ 8086 3476 S5000PSLSATA Server Board + 515f ES1000 + 5168 Radeon R200 Qh + 5169 Radeon R200 Qi +@@ -974,18 +1087,22 @@ + 5455 Rage 128 Pro Ultra TU + 5460 M22 [Mobility Radeon X300] + 1775 1100 CR11/VR11 Single Board Computer ++ 5461 M22 [Mobility Radeon X300] + 5462 M24 [Radeon Mobility X600] + 5464 M22 [FireGL GL] + 5548 R423 UH [Radeon X800 (PCIE)] + 5549 R423 UI [Radeon X800PRO (PCIE)] + 554a R423 UJ [Radeon X800LE (PCIE)] + 554b R423 UK [Radeon X800SE (PCIE)] ++ 554c Radeon X800 XTP (R430) (PCIE) + 554d R430 [Radeon X800 XL] (PCIe) ++ 554e Radeon X800 SE (R430) (PCIE) + 554f R430 [Radeon X800 (PCIE)] + 5550 R423 [FireGL V7100] + 5551 R423 [FireGL V5100 (PCIE)] + 5552 R423 UR [FireGL V5100 (PCIE)] + 5554 R423 UT [FireGL V7100 (PCIE)] ++ 5555 R430 GL PRO + 5569 R423 UI [Radeon X800PRO (PCIE)] (Secondary) + 556b Radeon R423 UK (PCIE) [X800 SE] (Secondary) + 556d R430 [Radeon X800 XL] (PCIe) (Secondary) +@@ -997,10 +1114,12 @@ + 5652 M26 [Radeon Mobility X700] + 5653 Radeon Mobility X700 (PCIE) + 1025 0080 Aspire 5024WLMi ++ 103c 0940 HP Compaq NW8240 Mobile Workstation + 5654 264VT [Mach64 VT] + 1002 5654 Mach64VT Reference + 5655 264VT3 [Mach64 VT3] + 5656 264VT4 [Mach64 VT4] ++ 5657 Radeon X550/X700 Series (RV410) + 5830 RS300 Host Bridge + 5831 RS300 Host Bridge + 5832 RS300 Host Bridge +@@ -1008,6 +1127,8 @@ + 5834 Radeon 9100 IGP + 5835 RS300M AGP [Radeon Mobility 9100IGP] + 5838 Radeon 9100 IGP AGP Bridge ++ 5854 Radeon Xpress Series (RS480) ++ 5874 Radeon Xpress Series (RS482) + 5940 RV280 [Radeon 9200 PRO] (Secondary) + 17af 2021 Excalibur Radeon 9250 (Secondary) + 5941 RV280 [Radeon 9200] (Secondary) +@@ -1018,7 +1139,9 @@ + 5944 RV280 [Radeon 9200 SE (PCI)] + 5950 RS480 Host Bridge + 1025 0080 Aspire 5024WLMMi ++ 103c 280a DC5750 Microtower + 103c 308b MX6125 ++ 1462 7217 Aspire L250 + 5951 Radeon Xpress 200 (RS480/RS482/RX480/RX482) Chipset - Host bridge + 5952 RD580 [CrossFire Xpress 3200] Chipset Host Bridge + 5954 RS480 [Radeon Xpress 200G Series] +@@ -1026,6 +1149,9 @@ + 5955 Radeon XPRESS 200M 5955 (PCIE) + 1002 5955 RS480 0x5955 [Radeon XPRESS 200M 5955 (PCIE)] + 103c 308b MX6125 ++ 5956 RD790 Northbridge only dual slot PCI-e_GFX and HT3 K8 part ++ 5957 RX780/RX790 Chipset Host Bridge ++ 5958 RD780 Northbridge only dual slot PCI-e_GFX and HT1 K8 part + 5960 RV280 [Radeon 9200 PRO] + 17af 2020 Excalibur Radeon 9250 + 5961 RV280 [Radeon 9200] +@@ -1051,9 +1177,39 @@ + 17af 2012 Radeon 9200 SE Excalibur + 18bc 0170 Sapphire Radeon 9200 SE 128MB Game Buster + 18bc 0173 GC-R9200L(SE)-C3H [Radeon 9200 Game Buster] ++ 5965 RV280 [FireMV 2200 PCI] + 5969 ES1000 + 5974 RS482 [Radeon Xpress 200] +- 5975 RS485 [Radeon Xpress 1100 IGP] ++ 103c 280a DC5750 Microtower ++ 1462 7141 Aspire L250 ++ 5975 RS482 [Radeon Xpress 200M] ++ 5978 RD790 PCI to PCI bridge (external gfx0 port A) ++ 5979 RD790 PCI to PCI bridge (external gfx0 port B) ++ 597a RD790 PCI to PCI bridge (PCI express gpp port A) ++ 597b RD790 PCI to PCI bridge (PCI express gpp port B) ++ 597c RD790 PCI to PCI bridge (PCI express gpp port C) ++ 597d RD790 PCI to PCI bridge (PCI express gpp port D) ++ 597e RD790 PCI to PCI bridge (PCI express gpp port E) ++ 597f RD790 PCI to PCI bridge (PCI express gpp port F) ++ 5980 RD790 PCI to PCI bridge (external gfx1 port A) ++ 5981 RD790 PCI to PCI bridge (external gfx1 port B) ++ 5982 RD790 PCI to PCI bridge (NB-SB link) ++ 5a10 RD890 Northbridge only dual slot (2x16) PCI-e GFX Hydra part ++ 5a11 RD890 Northbridge only single slot PCI-e GFX Hydra part ++ 5a12 RD890 Northbridge only dual slot (2x8) PCI-e GFX Hydra part ++ 5a13 RD890 PCI to PCI bridge (external gfx0 port A) ++ 5a14 RD890 PCI to PCI bridge (external gfx0 port B) ++ 5a15 RD890 PCI to PCI bridge (PCI express gpp port A) ++ 5a16 RD890 PCI to PCI bridge (PCI express gpp port B) ++ 5a17 RD890 PCI to PCI bridge (PCI express gpp port C) ++ 5a18 RD890 PCI to PCI bridge (PCI express gpp port D) ++ 5a19 RD890 PCI to PCI bridge (PCI express gpp port E) ++ 5a1a RD890 PCI to PCI bridge (PCI express gpp port F) ++ 5a1b RD890 PCI to PCI bridge (PCI express gpp port G) ++ 5a1c RD890 PCI to PCI bridge (PCI express gpp port H) ++ 5a1d RD890 PCI to PCI bridge (external gfx1 port A) ++ 5a1e RD890 PCI to PCI bridge (external gfx1 port B) ++ 5a1f RD890 PCI to PCI bridge (NB-SB link) + 5a33 Radeon Xpress 200 Host Bridge + 5a34 RS480 PCI-X Root Port + # Comes in pair with 5a3f +@@ -1063,26 +1219,34 @@ + # Comes in pair with 5a38 + 5a39 RS480 PCI Bridge + 5a3f RS480 PCI Bridge ++ 1462 7217 Aspire L250 + 5a41 RS400 [Radeon Xpress 200] + 5a42 RS400 [Radeon Xpress 200M] ++ 5a43 Radeon Xpress Series (RS400) + 5a61 RC410 [Radeon Xpress 200] + 5a62 RC410 [Radeon Xpress 200M] ++ 5a63 Radeon Xpress Series (RC410) + 5b60 RV370 5B60 [Radeon X300 (PCIE)] + 1043 002a Extreme AX300SE-X + 1043 032e Extreme AX300/TD ++ 1458 2102 GV-RX30S128D (X300SE) + 1462 0400 RX300SE-TD128E (MS-8940 REV:200) + 1462 0402 RX300SE-TD128E (MS-8940) ++ 174b 0500 Radeon X300 (PCIE) + 196d 1086 X300SE HM + 5b62 RV380 [Radeon X600 (PCIE)] + 5b63 RV370 [Sapphire X550 Silent] + 5b64 RV370 5B64 [FireGL V3100 (PCIE)] + 5b65 RV370 5B65 [FireGL D1100 (PCIE)] ++ 5b66 RV370X + 5b70 RV370 [Radeon X300SE] + 1462 0403 RX300SE-TD128E (MS-8940) (secondary display) ++ 174b 0501 Radeon X300SE + 196d 1087 X300SE HM + 5b72 RV380 [Radeon X600] + 5b73 RV370 secondary [Sapphire X550 Silent] + 5b74 RV370 5B64 [FireGL V3100 (PCIE)] (Secondary) ++ 5b75 RV370 5B75 [FireGL D1100 (PCIE)] (Secondary) + 5c61 M9+ 5C61 [Radeon Mobility 9200 (AGP)] + 5c63 M9+ 5C63 [Radeon Mobility 9200 (AGP)] + 1002 5c63 Apple iBook G4 2004 +@@ -1096,11 +1260,16 @@ + 17af 2013 Radeon 9200 SE Excalibur (Secondary) + 18bc 0171 Radeon 9200 SE 128MB Game Buster (Secondary) + 18bc 0172 GC-R9200L(SE)-C3H [Radeon 9200 Game Buster] ++ 5d45 RV280 [FireMV 2200 PCI] (secondary) + 5d48 M28 [Radeon Mobility X800XT] + 5d49 M28 [Mobility FireGL V5100] + 5d4a Mobility Radeon X800 ++ 5d4c Radeon X850 (PCIE) + 5d4d R480 [Radeon X850XT Platinum (PCIE)] ++ 5d4e Radeon X850 SE (R480) (PCIE) + 5d4f R480 [Radeon X800 GTO (PCIE)] ++ 5d50 FireGL V7200 (R480) (PCIE) ++ 5d51 R480 GL 12P + 5d52 R480 [Radeon X850XT (PCIE)] (Primary) + 1002 0b12 PowerColor X850XT PCIe (Primary) + 1002 0b13 PowerColor X850XT PCIe (Secondary) +@@ -1144,10 +1313,13 @@ + 7140 RV515 [Radeon X1600] + 7142 RV515 PRO [Radeon X1300/X1550 Series] + 1002 0322 All-in-Wonder 2006 PCI-E Edition ++ 1043 0142 EAX1300PRO/TD/256M + 7143 RV505 [Radeon X1550 Series] + 7145 Radeon Mobility X1400 ++ 17aa 2006 Thinkpad T60 model 2007 + 7146 RV515 [Radeon X1300] + 1002 0322 All-in-Wonder 2006 PCI-E Edition ++ 1545 1996 Radeon X1300 512MB PCI-e + 7147 RV505 [Radeon X1550 64-bit] + 7149 M52 [Mobility Radeon X1300] + 714a M52 [Mobility Radeon X1300] +@@ -1161,20 +1333,25 @@ + 715f RV505 CE [Radeon X1550 64-bit] + 7162 RV515 PRO [Radeon X1300/X1550 Series] (Secondary) + 1002 0323 All-in-Wonder 2006 PCI-E Edition (Secondary) ++ 7163 RV505 [Radeon X1550 Series] (Secondary) + 7166 RV515 [Radeon X1300] (Secondary) + 1002 0323 All-in-Wonder 2006 PCI-E Edition (Secondary) ++ 1545 1997 Radeon X1300 512MB PCI-e (Secondary) + 716e RV515LE [Radeon X1300] Secondary + 7172 RV515GL [FireGL V3300] (Secondary) + 7173 RV515GL [FireGL V3350] (Secondary) + 7180 RV516 [Radeon X1300/X1550 Series] + 7181 RV516 XT Radeon X1600 Series (Primary) + 7183 RV516 [Radeon X1300/X1550 Series] ++ 7186 RV515 [Radeon Mobility X1450] + 7187 RV516 [Radeon X1300/X1550 Series] + 7188 M64-S [Mobility Radeon X2300] ++ 103c 30c1 6910p + 718a Mobility Radeon X2300 + 718c M62CSP64 [Mobility Radeon X1350] + 718d M64CSP128 [Mobility Radeon X1450] + 7193 RV516 [Radeon X1550 Series] ++ 7196 RV516 [Mobility Radeon X1350] + 719b FireMV 2250 + 719f RV516LE [Radeon X1550 64-bit] + 71a0 RV516 [Radeon X1300/X1550 Series] (Secondary) +@@ -1183,10 +1360,13 @@ + 71a7 RV516 [Radeon X1300/X1550 Series] (Secondary) + 71bb FireMV 2250 (Secondary) + 71c0 RV530 [Radeon X1600] ++ 71c1 Radeon X1650 Pro + 71c2 RV530 [Radeon X1600] + 71c4 M56GL [Mobility FireGL V5200] + 17aa 2007 ThinkPad T60p + 71c5 M56P [Radeon Mobility X1600] ++ 103c 30a3 Compaq NW8440 ++ 106b 0080 MacBook Pro + 71c6 RV530LE [Radeon X1600/X1650 PRO] + 71c7 RV535 [Radeon X1650 Series] + 71ce RV530LE [Radeon X1600] +@@ -1195,6 +1375,7 @@ + 71d6 M66-XT [Mobility Radeon X1700] + 71de RV530LE [Radeon X1600] + 71e0 RV530 [Radeon X1600] (Secondary) ++ 71e1 Radeon X1650 Pro (Secondary) + 71e2 RV530 [Radeon X1600] (Secondary) + 71e6 RV530LE [Radeon X1650 PRO] (Secondary) + 71e7 RV535 [Radeon X1650 Series] +@@ -1220,11 +1401,11 @@ + 7269 R580 [Radeon X1900 XT] (Secondary) + 726b R580 [Radeon X1900] + 726e R580 [AMD Stream Processor] (Secondary) +- 7280 Radeon X1950 Pro (Primary) (PCIE) ++ 7280 RV570 [Radeon X1950 Pro] + 7288 Radeon X1950 GT + 7291 Radeon X1650 XT (Primary) (PCIE) + 7293 Radeon X1650 Series +- 72a0 Radeon X1950 Pro (Secondary) (PCIE) ++ 72a0 RV570 [Radeon X1950 Pro] (secondary) + 72a8 Radeon X1950 GT (Secondary) + 72b1 Radeon X1650 XT (Secondary) (PCIE) + 72b3 Radeon X1650 Series (Secondary) +@@ -1232,11 +1413,97 @@ + 7834 Radeon 9100 PRO IGP + 7835 Radeon Mobility 9200 IGP + 7838 Radeon 9100 IGP PCI/AGP Bridge ++ 7910 RS690 Host Bridge ++ 17f2 5000 KI690-AM2 Motherboard ++ 7911 RS690 Host Bridge ++ 7912 RS690 PCI to PCI Bridge (Internal gfx) ++ 7913 RS690 PCI to PCI Bridge (PCI Express Graphics Port 0) ++ 7915 RS690 PCI to PCI Bridge (PCI Express Port 1) ++ 7916 RS690 PCI to PCI Bridge (PCI Express Port 2) ++ 7917 RS690 PCI to PCI Bridge (PCI Express Port 3) ++ 1002 7910 RS690 PCI to PCI Bridge + 7919 Radeon X1200 Series Audio Controller +- 791e Radeon X1200 Series +- 791f Radeon X1200 Series +- 793f Radeon X1200 Series (Secondary) ++ 17f2 5000 KI690-AM2 Motherboard ++ 791e RS690 [Radeon X1200 Series] ++ 1462 7327 K9AG Neo2 ++ 17f2 5000 KI690-AM2 Motherboard ++ 791f RS690M [Radeon X1200 Series] ++ 7930 Radeon Xpress 7930 Host Bridge ++ 7932 RS7932 PCI Bridge ++ 7933 RS7933 PCI Bridge ++ 7936 RS7936 PCI Bridge ++ 793b RS600 audio device [Radeon Xpress 12xx Series] ++ 793f RS600 [Radeon Xpress 1200 Series] ++ 7941 RS600 [Radeon Xpress 1200 Series] ++ 7942 Radeon Xpress 1250 ++ 796e Radeon 2100 + 7c37 RV350 AQ [Radeon 9600 SE] ++ 9400 R600 [Radeon HD 2900 Series] ++ 1002 3000 Sapphire Radeon HD 2900 XT ++ 1002 3142 HIS Radeon HD 2900XT 512MB GDDR3 VIVO PCIe ++ 940a R600GL [Fire GL V8650] ++ 940b R600GL [Fire GL V8600] ++ 9440 RV770 [Radeon HD 4870] ++ 9442 RV770 [Radeon HD 4850] ++ 9490 RV730XT [Radeon HD 4670] ++ 94c1 RV610 [Radeon HD 2400 XT] ++ 1028 0211 Optiplex 755 ++ 1028 0d02 Optiplex 755 ++ 94c3 RV610 video device [Radeon HD 2400 PRO] ++ 1002 94c3 Radeon HD 2400PRO ++ 174b e400 Sapphire HD 2400 PRO video device ++ 94c4 RV610 LE AGP [Radeon HD 2400 PRO AGP] ++ 94c8 Radeon HD 2400 XT ++ 94c9 Mobility Radeon HD 2400 ++ 1002 94c9 Radeon HD2400 ++ 94cb Radeon E2400 ++ 94cc RV 610LE PCI [Radeon HD 2400] ++ 9501 Radeon HD 3870 ++ 9504 Mobility Radeon HD 3850 ++ 9505 RV670PRO [Radeon HD 3850] ++ 9507 RV670 [Radeon HD 3850] ++ 9508 M88 XT Mobility Radeon HD 3870] ++ 950f R680 [Radeon HD 3870 x2] ++ 9511 RV670 [FireGL 7700] ++ 9515 RV670 AGP [Radeon HD 3850] ++ 9519 RV670 [FireStream 9170] ++ 9559 Mobility Radeon HD 3600 Series ++ 9581 M76 [Radeon Mobility HD 2600 Series] ++ 9586 RV 630 XT AGP [Radeon HD 2600 XT AGP] ++ 9587 RV630 PRO AGP [Radeon HD 2600 PRO AGP] ++ 9588 RV630 [Radeon HD 2600XT] ++ 1458 216c Radeon HD 2600 XT, 256MB GDDR3, 2x DVI, TV-out, PCIe (GV-RX26T256H) ++ 9589 RV630 [Radeon HD 2600 Series] ++ 958c RV630GL [FireGL v5600] ++ 9591 Mobility Radeon HD 3650 ++ 1002 9591 Mobility Radeon HD 3650 ++ 9593 Radeon Mobility HD 3670 ++ 9595 M86GL [Mobility FireGL V5700] ++ 9596 RV635 PRO AGP [Radeon HD 3650] ++ 9598 Mobility Radeon HD 3600 Series ++ 1002 9598 Mobility Radeon HD 3600 ++ 95c0 Mobility Radeon HD 3470 ++ 1002 95c0 Mobility Radeon HD 3470 ++ 95c4 Mobility Radeon HD 3400 Series ++ 1002 95c4 Mobility Radeon HD 3400 ++ 95c5 Mobility Radeon HD 3450 ++ 1002 95c5 Mobility Radeon HD 3450 ++ 95c6 RV620 LE AGP [Radeon HD 3450] ++ 960f RS780 Azalia controller ++ 9610 Radeon HD 3200 Graphics ++ 9611 Radeon 3100 Graphics ++ 9612 RS780M/RS780MN [Radeon HD 3200 Graphics] ++ 9613 RS780MC [Radeon HD 3100 Graphics] ++ 9614 Radeon HD 3300 Graphics ++ aa00 R600 Audio Device [Radeon HD 2900 Series] ++ aa08 RV630/M76 audio device [Radeon HD 2600 Series] ++ aa10 RV610 audio device [Radeon HD 2400 PRO] ++ 174b aa10 Sapphire HD 2400 PRO audio device ++ aa18 Radeon HD 3870 Audio device ++ aa20 RV635 Audio device [Radeon HD 3600 Series] ++ aa28 RV620 Audio device [Radeon HD 34xx Series] ++ aa30 HD48x0 audio ++ ac00 Theater 600 Pro + cab0 AGP Bridge [IGP 320M] + cab2 RS200/RS200M AGP Bridge [IGP 340M] + cab3 R200 AGP Bridge [Mobility Radeon 7000 IGP] +@@ -1369,6 +1636,7 @@ + 1186 0100 DE-530+ + 0016 DGLPB [OPPO] + 0017 PV-PCI Graphics Controller (ZLXp-L) ++ 0018 Memory Channel interface + 0019 DECchip 21142/43 + 1011 500a DE500A Fast Ethernet + 1011 500b DE500B Fast Ethernet +@@ -1420,9 +1688,9 @@ + 1374 0003 56k Modem Cardbus + 0045 DECchip 21553 + 0046 DECchip 21554 +- 0e11 4050 Integrated Smart Array +- 0e11 4051 Integrated Smart Array +- 0e11 4058 Integrated Smart Array ++ 0e11 4050 Smart Array 4200 Controller ++ 0e11 4051 Smart Array 4250ES Controller ++ 0e11 4058 Smart Array 431 Controller + 103c 10c2 NetRAID-4M + 12d9 000a IP Telephony card + 4c53 1050 CT7 mainboard +@@ -1473,6 +1741,7 @@ + 153b 112e DMX XFire 1024 + 153b 1136 SiXPack 5.1+ + 1681 0050 Game Theater XP ++ 1681 a010 Gamesurround Fortissimo II + 1681 a011 Fortissimo III 7.1 + 5053 3357 Santa Cruz + 6004 CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator] +@@ -1489,25 +1758,25 @@ + 14c0 000c Crystal CS4281 PCI Audio + 1014 IBM + 0002 PCI to MCA Bridge +- 0005 Alta Lite +- 0007 Alta MP +- 000a Fire Coral ++ 0005 Processor to I/O Controller [Alta Lite] ++ 0007 Processor to I/O Controller [Alta MP] ++ 000a PCI to ISA Bridge (IBM27-82376) [Fire Coral] + 0017 CPU to PCI Bridge + 0018 TR Auto LANstreamer + 001b GXT-150P + 001c Carrera +- 001d 82G2675 ++ 001d SCSI-2 FAST PCI Adapter (82G2675) + 0020 GXT1000 Graphics Adapter +- 0022 IBM27-82351 +- 002d Python ++ 0022 PCI to PCI Bridge (IBM27-82351) ++ 002d Processor to I/O Controller [Python] + 002e SCSI RAID Adapter [ServeRAID] + 1014 002e ServeRAID-3x + 1014 022e ServeRAID-4H + 0031 2 Port Serial Adapter + # AS400 iSeries PCI sync serial card + 1014 0031 2721 WAN IOA - 2 Port Sync Serial Adapter +- 0036 Miami +- 0037 82660 CPU to PCI Bridge ++ 0036 PCI to 32-bit LocalBus Bridge [Miami] ++ 0037 PowerPC to PCI Bridge (IBM27-82660) + 003a CPU to PCI Bridge + 003c GXT250P/GXT255P Graphics Adapter + 003e 16/4 Token ring UTP/STP controller +@@ -1572,6 +1841,7 @@ + 0188 EADS-X PCI-X to PCI-X Bridge + 01a7 PCI-X to PCI-X Bridge + 01bd ServeRAID Controller ++ 1014 01bd ServeRAID 4Lx + 1014 01be ServeRAID-4M + 1014 01bf ServeRAID-4L + 1014 0208 ServeRAID-4Mx +@@ -1604,11 +1874,15 @@ + 02bd Obsidian chipset SCSI controller + 1014 02c1 PCI-X DDR 3Gb SAS Adapter (572A/572C) + 1014 02c2 PCI-X DDR 3Gb SAS RAID Adapter (572B/571D) +- 1014 0338 PCI-X266 Auxiliary Cache Adapter (575C) ++ 1014 0338 PCI-X DDR Auxiliary Cache Adapter (575C) + 0302 Winnipeg PCI-X Host Bridge + 0308 CalIOC2 PCI-E Root Port + 0314 ZISC 036 Neural accelerator card ++ 032d Axon - Cell Companion Chip ++ 1014 03a1 PCIe PowerXCell 8i Cell Accelerator Board + 0339 Obsidian-E PCI-E SCSI controller ++ 1014 030a PCIe 3Gb SAS RAID Adapter (574E) ++ 1014 033a PCIe 3Gb SAS Adapter (57B3) + 1014 0360 PCI-E Auxiliary Cache Adapter (57B7) + 3022 QLA3022 Network Adapter + 4022 QLA3022 Network Adapter +@@ -1621,10 +1895,21 @@ + 1019 Elitegroup Computer Systems + 101a AT&T GIS (NCR) + 0005 100VG ethernet +- 1dc1 Bynet ++ 0007 BYNET BIC4G/2C/2G ++ 101a 0019 BYNET BIC2C ++ 101a 001c BYNET BIC2G ++ 101a 001f BYNET BIC4G ++ 0009 PQS Memory Controller ++ 000a BYNET BPCI Adapter ++ 000b BYNET 4 Port BYA Switch (BYA4P) ++ 000c BYNET 4 Port BYA Switch (BYA4G) ++ 0010 NCR AMC Memory Controller ++ 1dc1 BYNET BIC2M/BIC4M/BYA4M + 101a 0019 BIC2M + 101a 001f BIC4M + 101a 0ece BYA4M ++ 1fa8 BYNET Multi-port BIC Adapter (XBIC Based) ++ 101a 00c3 BYNET BIC2SE + 101b Vitesse Semiconductor + 101c Western Digital + 0193 33C193A +@@ -1638,6 +1923,8 @@ + 9710 Pipeline 9710 + 9712 Pipeline 9712 + c24a 90C ++# ID for Newly Acquired Storage Products from Vitesse ++101d Maxim Integrated Products + 101e American Megatrends Inc. + 0009 MegaRAID 428 Ultra RAID Controller (rev 03) + 1960 MegaRAID +@@ -1776,6 +2063,18 @@ + 161f 3017 HDAMB + 746e AMD-8111 MC97 Modem + 756b AMD-8111 ACPI ++ 9600 RS780 Host Bridge ++ 9601 RS780 Host Bridge Alternate ++ 9602 RS780 PCI to PCI bridge (int gfx) ++ 9603 RS780 PCI to PCI bridge (ext gfx port 0) ++ 9604 RS780 PCI to PCI bridge (PCIE port 0) ++ 9605 RS780 PCI to PCI bridge (PCIE port 1) ++ 9606 RS780 PCI to PCI bridge (PCIE port 2) ++ 9607 RS780 PCI to PCI bridge (PCIE port 3) ++ 9608 RS780 PCI to PCI bridge (PCIE port 4) ++ 9609 RS780 PCI to PCI bridge (PCIE port 5) ++ 960a RS780 PCI to PCI bridge (NB-SB link) ++ 960b RS780 PCI to PCI bridge (ext gfx port 1) + 1023 Trident Microsystems + 0194 82C194 + 2000 4DWave DX +@@ -1812,7 +2111,6 @@ + 9470 TGUI 9470 + 9520 Cyber 9520 + 9525 Cyber 9525 +- 10cf 1094 Lifebook C6155 + 9540 Cyber 9540 + 9660 TGUI 9660/938x/968x + 9680 TGUI 9680 +@@ -1832,9 +2130,9 @@ + 1023 9880 Blade 3D + 9910 CyberBlade/XP + 9930 CyberBlade/XPm ++ 9960 CyberBlade XP2 + 1024 Zenith Data Systems + 1025 Acer Incorporated [ALI] +- 0090 BCM440x 100Base-TX Fast Ethernet + 1435 M1435 + 1445 M1445 + 1449 M1449 +@@ -1916,6 +2214,7 @@ + 000d Embedded Remote Access: BMC/SMIC device + 000e PowerEdge Expandable RAID controller 4/Di + 000f PowerEdge Expandable RAID controller 4/Di ++ 1028 014a PowerEdge 1750 + 0010 Remote Access Card 4 + 0011 Remote Access Card 4 Daughter Card + 0012 Remote Access Card 4 Daughter Card Virtual UART +@@ -1926,10 +2225,10 @@ + 1028 016f PowerEdge Expandable RAID Controller 4e/Di + 1028 0170 PowerEdge Expandable RAID Controller 4e/Di + 0014 Remote Access Card 4 Daughter Card SMIC interface +- 0015 PowerEdge Expandable RAID controller 5i ++ 0015 PowerEdge Expandable RAID controller 5 + 1028 1f01 PERC 5/E Adapter RAID Controller + 1028 1f02 PERC 5/i Adapter RAID Controller +- 1028 1f03 PERC 5/i Adapter RAID Controller ++ 1028 1f03 PERC 5/i Integrated RAID Controller + 1029 Siemens Nixdorf IS + 102a LSI Logic + 0000 HYDRA +@@ -1959,6 +2258,7 @@ + 102b 051b MGA-2164W Millennium II + 102b 1100 MGA-2164W Millennium II + 102b 1200 MGA-2164W Millennium II ++ 102b 2100 MGA-2164W Millennium II + 051e MGA 1064SG [Mystique] AGP + 051f MGA 2164W [Millennium II] AGP + 0520 MGA G200 +@@ -2059,6 +2359,8 @@ + 102b 1030 Parhelia 256 MB Dual DVI + 102b 14e1 Parhelia PCI 256MB + 102b 2021 QID Pro ++ 0532 MGA G200eW WPCM450 [Hermon] - Winbond/Nuvoton ++ 0540 M91XX + 0d10 MGA Ultima/Impression + 1000 MGA G100 [Productiva] + 102b ff01 Productiva G100 +@@ -2076,6 +2378,8 @@ + 102b 0f83 Millennium G550 + 102b 0f84 Millennium G550 Dual Head DDR 32Mb + 102b 1e41 Millennium G550 ++# Clearly the device name should not say AGP anymore... ++ 102b 2300 Millennium G550 LP PCIE + 2537 Millenium P650/P750 + 102b 1820 Millennium P750 64MB + 102b 1830 Millennium P650 64MB +@@ -2090,6 +2394,7 @@ + 102b 1087 Millennium P650 LP PCIe 64MB + 102b 2538 Parhelia APVe + 102b 3007 QID Low-profile PCIe ++ 2539 Millennium P690 + 4536 VIA Framegrabber + 4cdc Morphis Vision System Jpeg2000 + 4fc5 Morphis Vision System +@@ -2112,7 +2417,7 @@ + 00e4 F65554 + 00e5 F65555 HiQVPro + 0e11 b049 Armada 1700 Laptop Display Controller +- 1179 0001 Satellite Pro ++ 1179 0001 Satellite Pro/Satellite 4010 + 00f0 F68554 + 00f4 F68554 HiQVision + 00f5 F68555 +@@ -2139,6 +2444,9 @@ + 0180 TX4927/38 MIPS RISC PCI Controller + 0181 TX4925 MIPS RISC PCI Controller + 0182 TX4937 MIPS RISC PCI Controller ++ 01b4 Celleb platform IDE interface ++ 01b5 SCC USB 2.0 EHCI controller ++ 01b6 SCC USB 1.1 OHCI controller + 1030 TMC Research + 1031 Miro Computer Products AG + 5601 DC20 ASIC +@@ -2202,7 +2510,7 @@ + 14c2 0205 PTI-205N USB 2.0 Host Controller + 1799 0002 Root Hub + 807d 1043 PCI-USB2 (EHCI subsystem) +- 00e7 IEEE 1394 Host Controller ++ 00e7 uPD72873 IEEE1394 OHCI 1.1 2-port Host Controller + 00f2 uPD72874 IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr + 00f3 uPD6113x Multimedia Decoder/Processor [EMMA2] + 010c VR7701 +@@ -2230,7 +2538,7 @@ + 0182 182 SATA/RAID Controller + 1734 1095 D2030-A1 + 0186 AHCI Controller (0106) +- 0190 190 Gigabit Ethernet Adapter ++ 0190 190 Ethernet Adapter + 0191 191 Gigabit Ethernet Adapter + 0200 5597/5598/6326 VGA + 1039 0000 SiS5597 SVGA (Shared RAM) +@@ -2256,12 +2564,14 @@ + 0645 SiS645 Host & Memory & AGP Controller + 0646 SiS645DX Host & Memory & AGP Controller + 0648 645xx ++ 0649 SiS649 Host + 0650 650/M650 Host + 0651 651 Host + 0655 655 Host + 0660 660 Host + 0661 661FX/M661FX/M661MX Host + 0662 662 Host ++ 0671 671MX + 0730 730 Host + 0733 733 Host + 0735 735 Host +@@ -2275,8 +2585,9 @@ + 1734 1099 D2030-A1 Motherboard + 0900 SiS900 PCI Fast Ethernet + 1019 0a14 K7S5A motherboard +- 1039 0900 SiS900 10/100 Ethernet Adapter ++ 1039 0900 SiS900 10/100 Ethernet Adapter onboard [Asus P4SC-EA] + 1043 8035 CUSI-FX motherboard ++ 1043 80a7 Motherboard P4S800D-X + 1462 0900 MS-6701 motherboard + 0961 SiS961 [MuTIOL Media IO] + 0962 SiS962 [MuTIOL Media IO] +@@ -2301,6 +2612,7 @@ + 1039 5513 SiS5513 EIDE Controller (A,B step) + 1043 8035 CUSI-FX motherboard + 1462 7010 MS-6701 motherboard ++ 1631 5513 GA-8SIML Rev1.0 Motherboard + 1734 1095 D2030-A1 Motherboard + 5517 5517 + 5571 5571 +@@ -2319,6 +2631,8 @@ + 6306 530/620 PCI/AGP VGA Display Adapter + 1039 6306 SiS530,620 GUI Accelerator+3D + 6325 65x/M650/740 PCI/AGP VGA Display Adapter ++ 1039 6325 SiS 651 onboard [Asus P4SC-EA] ++ 1631 1004 SiS 651C onboard [Gigabyte GA-8SIML Rev1.0] + 6326 86C326 5598/6326 + 1039 6326 SiS6326 GUI Accelerator + 1092 0a50 SpeedStar A50 +@@ -2333,19 +2647,24 @@ + 1734 1099 D2030-A1 + 6350 770/670 PCIE VGA Display Adapter + 6351 771/671 PCIE VGA Display Adapter +- 7001 USB 1.0 Controller ++ 7001 USB 1.1 Controller + 1019 0a14 K7S5A motherboard + 1039 7000 Onboard USB Controller +- 1462 5470 K7SOM+ 5.2C Motherboard ++ 1462 5470 ECS K7SOM+ motherboard + 1462 7010 MS-6701 motherboard + 1734 1095 D2030-A1 Motherboard + 7002 USB 2.0 Controller ++ 1462 5470 K7SOM+ 5.2C Motherboard + 1462 7010 MS-6701 motherboard + 1509 7002 Onboard USB Controller + 1734 1095 D2030-A1 + 7007 FireWire Controller + 1462 701d MS-6701 + 7012 AC'97 Sound Controller ++ 1039 7012 SiS 7012 onboard [Asus P4SC-EA] AC'97 Sound Controller ++ 1043 818f A8S-X Motherboard ++ 13f6 0300 CMI9739(A) on ECS K7SOM+ motherboard ++ 1462 5850 MSI 648 Max (MS-6585) + 1462 7010 MS-6701 motherboard + 15bd 1001 DFI 661FX motherboard + 1734 109f D2030-A1 Motherboard +@@ -2380,9 +2699,10 @@ + 7019 SiS7019 Audio Accelerator + 7502 Azalia Audio Controller + 103a Seiko Epson Corporation +-103b Tatung Co. of America ++103b Tatung Corp. Of America + 103c Hewlett-Packard Company + 002a NX9000 Notebook ++ 08bc NX5000 Notebook + 1005 A4977A Visualize EG + 1008 Visualize FX + 1028 Tach TL Fibre Channel Host Adapter +@@ -2429,6 +2749,7 @@ + 127b sx1000 System Bus Adapter + 127c sx1000 I/O Controller + 1290 Auxiliary Diva Serial Port ++ 103c 1291 Diva SP2 + 1291 Auxiliary Diva Serial Port + 12b4 zx1 QuickSilver AGP8x Local Bus Adapter + 12eb sx2000 System Bus Adapter +@@ -2439,11 +2760,14 @@ + 1302 RMP-3 Shared Memory Driver + 1303 RMP-3 (Remote Management Processor) + 1361 BCM4312 802.11a/b/g WLAN Controller ++ 1371 Broadcom Corporation BCM4312 802.11a/b/g (rev 02) + 2910 E2910A PCIBus Exerciser + 2925 E2925A 32 Bit, 33 MHzPCI Exerciser & Analyzer + 3080 Pavilion ze2028ea + 3085 Realtek RTL8139/8139C/8139C+ + 30b5 Compaq Presario V3000Z ++ 31fb DL365 ATI ES1000 VGA controller ++ 3206 Adaptec Embedded Serial ATA HostRAID + 3220 Smart Array P600 + 103c 3225 3 Gb/s SAS RAID + 3230 Smart Array Controller +@@ -2451,7 +2775,19 @@ + 103c 3234 P400 SAS Controller + 103c 3235 P400i SAS Controller + 103c 3237 E500 SAS Controller ++ 103c 323d P700m SAS Controller + 3238 Smart Array E200i (SAS Controller) ++ 323a Smart Array G6 controllers ++ 103c 3241 Smart Array P212 ++ 103c 3243 Smart Array P410 ++ 103c 3245 Smart Array P410i ++ 103c 3247 Smart Array P411 ++ 103c 3249 Smart Array P812 ++# Will present virtual install media as mass storage, keyboard/mouse from console session, etc. ++ 3300 Proliant iLO2 virtual USB controller ++# Virtual serial port which is presented on a Java applet ++ 3302 Proliant iLO2 virtual UART ++ 3305 Proliant iLO2 [Integrated Lights Out] controller + 4030 zx2 System Bus Adapter + 4031 zx2 I/O Controller + 4037 PCIe Local Bus Adapter +@@ -2488,6 +2824,8 @@ + 8168 Realtek PCI-E Gigabit Ethernet Controller (RTL8111B) + 8187 802.11a/b/g Wireless LAN Card + 8188 Tiger Hybrid TV Capture Device ++# Found on ASUS M2V motherboard ++ 81e7 Realtek ALC-660 6-channel CODEC + 81f4 EN7300TC512/TD/128M/A(C262G) [Graphics Card EN7300TC512] + 1044 Adaptec (formerly DPT) + 1012 Domino RAID Engine +@@ -2567,14 +2905,22 @@ + 1049 Fountain Technologies, Inc. + # nee SGS Thomson Microelectronics + 104a STMicroelectronics ++ 0000 STLS2F Host Bridge + 0008 STG 2000X + 0009 STG 1764X + 0010 STG4000 [3D Prophet Kyro Series] ++ 0201 STPC Vega Northbridge + 0209 STPC Consumer/Industrial North- and Southbridge + 020a STPC Atlas/ConsumerS/Consumer IIA Northbridge ++ 020b STPC Consumer II ISA Bridge + 0210 STPC Atlas ISA Bridge + 021a STPC Consumer S Southbridge + 021b STPC Consumer IIA Southbridge ++ 0220 STPC Industrial PCI to PCCard bridge ++ 0228 STPC Atlas IDE ++ 0229 STPC Vega IDE ++ 0230 STPC Atlas/Vega OHCI USB Controller ++ 0238 STPC Vega LAN + 0500 ST70137 [Unicorn] ADSL DMT Transceiver + 104a 0500 BeWAN ADSL PCI st + 0564 STPC Client Northbridge +@@ -2605,6 +2951,7 @@ + 1048 0a43 GLoria Synergy + 1048 0a44 GLoria Synergy + 107d 2633 WinFast 3D L2300 ++ 1092 0126 FIRE GL 1000 PRO + 1092 0127 FIRE GL 1000 PRO + 1092 0136 FIRE GL 1000 PRO + 1092 0141 FIRE GL 1000 PRO +@@ -2630,20 +2977,25 @@ + 11bd 000e Studio DV + e4bf 1010 CF2-1-CYMBAL + 8020 TSB12LV26 IEEE-1394 Controller (Link) ++ 1028 00d8 Precision 530 + 11bd 000f Studio DV500-1394 + 11bd 001c Excalibur 4.1 + 8021 TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated) + 104d 80df Vaio PCG-FX403 + 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP + 8022 TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link) ++ 104c 8023 TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) + 8023 TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) + 103c 088c NC8000 laptop + 1043 808b K8N4-E Mainboard + 1043 815b P5W DH Deluxe Motherboard + 8024 TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) ++ 107d 6620 Winfast DV2000 FireWire Controller ++ 1443 8024 FireBoard Blue + 8025 TSB82AA2 IEEE-1394b Link Layer Controller + 1458 1000 GA-K8N Ultra-9 Mainboard + 8026 TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) ++ 1025 0035 TravelMate 660 + 1025 003c Aspire 2001WLCi (Compaq CL50 motherboard) + 103c 006a NX9500 + 1043 808d A7V333 mainboard. +@@ -2657,39 +3009,51 @@ + 1028 0139 Latitude D400 + 1028 014e PCI7410,7510,7610 OHCI-Lynx Controller (Latitude D800) + 802e PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller ++ 1028 018d Inspiron 700m/710m + 8031 PCIxx21/x515 Cardbus Controller + 1025 0080 Aspire 5024WLMi ++ 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 103c 308b MX6125 + 8032 OHCI Compliant IEEE 1394 Host Controller + 1025 0080 Aspire 5024WLMi ++ 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 103c 308b MX6125 + 8033 PCIxx21 Integrated FlashMedia Controller + 1025 0080 Aspire 5024WLMi ++ 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 103c 308b MX6125 + 8034 PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller + 1025 0080 Aspire 5024WLMi ++ 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 103c 308b MX6125 + 8035 PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller ++ 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 8036 PCI6515 Cardbus Controller + 8038 PCI6515 SmartCard Controller + 8039 PCIxx12 Cardbus Controller + 103c 309f nx9420 + 103c 30a1 NC2400 ++ 103c 30a3 Compaq nw8440 + 803a PCIxx12 OHCI Compliant IEEE 1394 Host Controller + 103c 309f nx9420 + 103c 30a1 NC2400 ++ 103c 30a3 Compaq nw8440 + 803b 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) + 103c 309f nx9420 ++ 103c 30a3 Compaq nw8440 + 803c PCIxx12 SDA Standard Compliant SD Host Controller + 103c 309f nx9420 ++ 103c 30a3 Compaq nw8440 + 803d PCIxx12 GemCore based SmartCard controller + 103c 309f nx9420 + 103c 30a1 NC2400 ++ 103c 30a3 nc8430 ++ 8101 TSB43DB42 IEEE-1394a-2000 Controller (PHY/Link) + 8201 PCI1620 Firmware Loading Function + 8204 PCI7410,7510,7610 PCI Firmware Loading Function + 1028 0139 Latitude D400 +@@ -2699,16 +3063,20 @@ + 8400 ACX 100 22Mbps Wireless Interface + 1186 3b00 DWL-650+ PC Card cardbus 22Mbs Wireless Adapter [AirPlus] + 1186 3b01 DWL-520+ 22Mbps PCI Wireless Adapter ++ 1395 2201 WL22-PC + 16ab 8501 WL-8305 IEEE802.11b+ Wireless LAN PCI Adapter + 8401 ACX 100 22Mbps Wireless Interface + 9000 Wireless Interface (of unknown type) + 9065 TMS320DM642 + 9066 ACX 111 54Mbps Wireless Interface +- 104c 9066 Trendnet TEW-421PC Wireless PCI Adapter ++ 104c 9066 Trendnet TEW-412PC Wireless PCI Adapter (Version A) ++ 104c 9096 Trendnet TEW-412PC Wireless PCI Adapter (Version A) + 1186 3b04 DWL-G520+ Wireless PCI Adapter + 1186 3b05 DWL-G650+ AirPlusG+ CardBus Wireless LAN + 13d1 aba0 SWLMP-54108 108Mbps Wireless mini PCI card 802.11g+ ++ 16ec 010d USR5416 802.11g Wireless Turbo PCI Adapter + 1737 0033 WPC54G Ver.2 802.11G PC Card ++ 17cf 0033 Z-Com XG650 Wireless miniPCI 802.11b/g + a001 TDC1570 + a100 TDC1561 + a102 TNETA1575 HyperSAR Plus w/PCI Host i/f & UTOPIA i/f +@@ -2729,7 +3097,7 @@ + ac1a PCI1210 + ac1b PCI1450 + 0e11 b113 Armada M700 +- 1014 0130 Thinkpad T20/T22/A21m ++ 1014 0130 ThinkPad A21m/T20/T22 + ac1c PCI1225 + 0e11 b121 Armada E500 + 1028 0088 Latitude CPi A400XT +@@ -2741,6 +3109,7 @@ + ac22 PCI2032 PCI Docking Bridge + ac23 PCI2250 PCI-to-PCI Bridge + ac28 PCI2050 PCI-to-PCI Bridge ++ ac2c PCI2060 PCI-to-PCI Bridge + ac30 PCI1260 PC card Cardbus Controller + ac40 PCI4450 PC card Cardbus Controller + ac41 PCI4410 PC card Cardbus Controller +@@ -2752,6 +3121,7 @@ + 1028 0196 Inspiron 5160 + 1071 8160 MIM2000 + ac46 PCI4520 PC card Cardbus Controller ++ 1014 0552 ThinkPad + ac47 PCI7510 PC card Cardbus Controller + 1028 0139 Latitude D400 + 1028 013f Precision M60 +@@ -2763,11 +3133,10 @@ + ac51 PCI1420 PC card Cardbus Controller + 0e11 004e Evo N600c + 1014 0148 ThinkPad A20m +- 1014 023b ThinkPad T23 (2647-4MG) ++ 1014 023b ThinkPad T23 + 1028 00b1 Latitude C600 + 1028 012a Latitude C640 + 1033 80cd Versa Note VXi +- 1095 10cf Fujitsu-Siemens LifeBook C Series + 10cf 1095 Lifebook S-4510/C6155 + e4bf 1000 CP2-2-HIPHOP + ac52 PCI1451 PC card Cardbus Controller +@@ -2777,18 +3146,23 @@ + ac55 PCI1520 PC card Cardbus Controller + 1014 0512 ThinkPad T30/T40 + ac56 PCI1510 PC card Cardbus Controller +- 1014 0512 Thinkpad R50e model 1634 +- 1014 0528 ThinkPad R40e (2684-HVG) Cardbus Controller ++ 1014 0512 ThinkPad R50e ++ 1014 0528 ThinkPad R40e + 17aa 2012 ThinkPad T60/R60 series + ac60 PCI2040 PCI to DSP Bridge Controller + 175c 5100 ASI51xx Audio Adapter + 175c 6100 ASI61xx Audio Adapter + 175c 6200 ASI62xx Audio Adapter + 175c 8800 ASI88xx Audio Adapter ++ 186f 3001 WR-G303 PCI radio receiver ++ 186f 3005 WR-G305 PCI radio receiver ++ 186f 3101 WR-G313 PCI radio receiver ++ 186f 3105 WR-G315 PCI radio receiver + ac8d PCI 7620 + ac8e PCI7420 CardBus Controller ++ 1028 018d Inspiron 700m/710m + ac8f PCI7420/7620 Combo CardBus, 1394a-2000 OHCI and SD/MS-Pro Controller +- 1028 018d Inspiron 700m ++ 1028 018d Inspiron 700m/710m + fe00 FireWire Host Controller + fe03 12C01A FireWire Host Controller + 104d Sony Corporation +@@ -2829,13 +3203,21 @@ + 1052 ?Young Micro Systems + 1053 Young Micro Systems + 1054 Hitachi, Ltd ++ 3009 2Gbps Fibre Channel to PCI HBA 3009 ++ 300a 4Gbps Fibre Channel to PCI-X HBA 300a ++ 300b 4Gbps Fibre Channel to PCI-X HBA 300b ++ 300f ColdFusion 3 Chipset Processor to I/O Controller ++ 3010 ColdFusion 3 Chipset Memory Controller Hub + 3011 ColdFusion 3e Chipset Processor to I/O Controller + 3012 ColdFusion 3e Chipset Memory Controller Hub ++ 3017 Unassigned Hitachi Shared FC Device 3017 ++ 301d PCIe-to-PCIe Bridge with Virtualization IO Assist Feature + 1055 Efar Microsystems + 9130 SLC90E66 [Victory66] IDE + 9460 SLC90E66 [Victory66] ISA + 9462 SLC90E66 [Victory66] USB + 9463 SLC90E66 [Victory66] ACPI ++ e420 LAN9420/LAN9420i + 1056 ICL + # Motorola made a mistake and used 1507 instead of 1057 in some chips. Please look at the 1507 entry as well when updating this. + 1057 Motorola +@@ -2938,6 +3320,7 @@ + 3371 PDC20371 (FastTrak S150 TX2plus) + 3373 PDC20378 (FastTrak 378/SATA 378) + 1043 80f5 K8V Deluxe/PC-DL Deluxe motherboard ++ 1462 590d KT6 Delta-FIS2R (MS-6590) + 1462 702e K8T NEO FIS2R motherboard + 3375 PDC20375 (SATA150 TX2plus) + 3376 PDC20376 (FastTrak 376) +@@ -2977,6 +3360,7 @@ + 105a 4d68 FastTrak100 TX2 + 6269 PDC20271 (FastTrak TX2000) + 105a 6269 FastTrak TX2/TX2000 ++ 6300 PDC81731 [FastTrak SX8300] + 6621 PDC20621 (FastTrak S150 SX4/FastTrak SX4000 lite) + 6622 PDC20621 [SATA150 SX4] 4 Channel IDE RAID Controller + 6624 PDC20621 [FastTrak SX4100] +@@ -2985,11 +3369,17 @@ + 7275 PDC20277 (SBFastTrak133 Lite) + 8002 SATAII150 SX8 + 8350 80333 [SuperTrak EX8350/EX16350], 80331 [SuperTrak EX8300/EX16300] +- 8650 81348 [SuperTrak EX4650/EX8650/EX8654/EX4650EL] +- 105a 4600 SuperTrak EX4650 ++ 8650 81384 [SuperTrak EX SAS and SATA RAID Controller] ++ 105a 4600 SuperTrak EX4650A ++ 105a 4601 SuperTrak EX4650 + 105a 4610 SuperTrak EX4650EL +- 105a 8601 SuperTrak EX8650 ++ 105a 8600 SuperTrak EX8650EL ++ 105a 8601 SuperTrak EX8650A + 105a 8602 SuperTrak EX8654 ++ 105a 8603 SuperTrak EX8658 ++ 105a 8604 SuperTrak EX8650 ++ 105a 8610 SuperTrak EX8650M ++ 105a b600 SuperTrak EX16650 + c350 80333 [SuperTrak EX12350] + e350 80333 [SuperTrak EX24350] + 105b Foxconn International, Inc. +@@ -3159,6 +3549,7 @@ + 0053 Shasta PCI Bridge + 0054 Shasta PCI Bridge + 0055 Shasta PCI Bridge ++ 0057 U3 HT Bridge + 0058 U3L AGP Bridge + 0059 U3H AGP Bridge + 0066 Intrepid2 AGP Bridge +@@ -3167,6 +3558,7 @@ + 0069 Intrepid2 ATA/100 + 006a Intrepid2 Firewire + 006b Intrepid2 GMAC (Sun GEM) ++ 0074 U4 HT Bridge + 1645 Tigon3 Gigabit Ethernet NIC (BCM5701) + 106c Hynix Semiconductor + 8801 Dual Pentium ISA/PCI Motherboard +@@ -3236,6 +3628,7 @@ + 103c 12d7 4Gb Fibre Channel [AB379A] + 103c 12dd 4Gb Fibre Channel [AB429A] + 2432 ISP2432-based 4Gb Fibre Channel to PCI Express HBA ++ 2532 ISP2532-based 8Gb Fibre Channel to PCI Express HBA + 3022 ISP4022-based Ethernet NIC + 3032 ISP4032-based Ethernet IPv6 NIC + 4010 ISP4010-based iSCSI TOE HBA +@@ -3244,6 +3637,8 @@ + 5432 SP232-based 4Gb Fibre Channel to PCI Express HBA + 6312 SP202-based 2Gb Fibre Channel to PCI-X HBA + 6322 SP212-based 2Gb Fibre Channel to PCI-X HBA ++ 7220 IBA7220 InfiniBand HCA ++ 8432 ISP2432M-based 10GbE Converged Network Adapter (CNA) + 1078 Cyrix Corporation + 0000 5510 [Grappa] + 0001 PCI Master +@@ -3266,6 +3661,7 @@ + 204d [GeForce 7800 GTX] Winfast PX7800 GTX TDH + 2134 WinFast 3D S320 II + 2971 [GeForce FX 5900] WinFast A350 TDH MyViVo ++ 6654 Conexant CX23883 [WinFast DTV1800 H] + 107e Interphase Corporation + 0001 5515 ATM Adapter [Flipper] + 0002 100 VG AnyLan Controller +@@ -3330,26 +3726,61 @@ + 108e Sun Microsystems Computer Corp. + 0001 EBUS + 1000 EBUS +- 1001 Happy Meal ++ 1001 Happy Meal 10/100 Ethernet [hme] + 1100 RIO EBUS +- 1101 RIO GEM ++ 108e 1100 RIO EBUS on Blade 100 motherboard ++# Correction ++ 1101 RIO 10/100 Ethernet [eri] ++ 108e 1101 RIO GEM on Blade 100 motherboard + 1102 RIO 1394 ++ 108e 1102 RIO 1394 on Blade 100 motherboard + 1103 RIO USB +- 1648 [bge] Gigabit Ethernet +- 2bad GEM ++ 108e 1103 RIO USB on Blade 100 motherboard ++ 1647 Broadcom 570x 10/100/1000 Ethernet [bge] ++ 1648 Broadcom 570x 10/100/1000 Ethernet [bge] ++ 16a7 Broadcom 570x 10/100/1000 Ethernet [bge] ++ 16a8 Broadcom 570x 10/100/1000 Ethernet [bge] ++ 2bad GEM 10/100/1000 Ethernet [ge] + 5000 Simba Advanced PCI Bridge + 108e 5000 Netra AX1105-500 + 5043 SunPCI Co-processor ++ 5ca0 Crypto Accelerator 6000 [mca] ++ 6300 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6301 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6302 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6303 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6310 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6311 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6312 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6313 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6320 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6323 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6330 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6331 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6332 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6333 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6340 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6343 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6350 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6353 Intel 21554 PCI-PCI bus bridge [db21554] ++ 6722 Intel 21554 PCI-PCI bus bridge [db21554] + 676e SunPCiIII + 7063 SunPCiII / SunPCiIIpro + 8000 Psycho PCI Bus Module + 8001 Schizo PCI Bus Module + 8002 Schizo+ PCI Bus Module +- a000 Ultra IIi +- a001 Ultra IIe +- 108e a001 Netra AX1105-500 +- a801 Tomatillo PCI Bus Module ++ 80f0 PCIe switch [px] ++ 80f8 PCIe switch [px] ++ 9010 PCIe/PCI bridge switch [pxb_plx] ++ 9020 PCIe/PCI bridge switch [pxb_plx] ++ 9102 Davicom Fast Ethernet driver for Davicom DM9102A [dmfe] ++ a000 Psycho UPA-PCI Bus Module [pcipsy] ++ a001 Psycho UPA-PCI Bus Module [pcipsy] ++ 108e a001 Ultra IIe on Blade 100 motherboard ++ a801 Schizo Fireplane-PCI bus bridge module [pcisch] + abba Cassini 10/100/1000 ++ abcd Multithreaded 10 Gigabit Ethernet Network Controller ++ c416 Sun Fire System/System Controller Interface chip [sbbc] + 108f Systemsoft + 1090 Compro Computer Services, Inc. + 1091 Intergraph Corporation +@@ -3360,14 +3791,18 @@ + 0060 Proprietary bus bridge + 00e4 Powerstorm 4D50T + 0720 Motion JPEG codec ++ 0780 Intense3D Wildcat 3410 (MSMT496) + 07a0 Sun Expert3D-Lite Graphics Accelerator + 1091 Sun Expert3D Graphics Accelerator + 1092 Diamond Multimedia Systems ++ 0028 Viper V770 ++ 1092 4a00 Viper V770 32MB + 00a0 Speedstar Pro SE + 00a8 Speedstar 64 + 0550 Viper V550 + 08d4 Supra 2260 Modem + 094c SupraExpress 56i Pro ++ 1001 Video Crunch It 1001 capture card + 1092 Viper V330 + 6120 Maximum DVD + 8810 Stealth SE +@@ -3408,6 +3843,7 @@ + 2ca0 PCI-6034E + 70a9 PCI-6528 (Digital I/O at 60V) + 70b8 PCI-6251 [M Series - High Speed Multifunction DAQ] ++ 7144 PXI-5124 (12-bit 200 MS/s Digitizer) + b001 IMAQ-PCI-1408 + b011 IMAQ-PXI-1408 + b021 IMAQ-PCI-1424 +@@ -3439,6 +3875,7 @@ + 1095 0670 USB0670 + 0673 USB0673 + 0680 PCI0680 Ultra ATA-133 Host Controller ++ 1095 0680 SiI 0680 ATA/133 Controller + 1095 3680 Winic W-680 (Silicon Image 680 based) + 3112 SiI 3112 [SATALink/SATARaid] Serial ATA Controller + 1095 3112 SiI 3112 SATALink Controller +@@ -3453,6 +3890,7 @@ + 3512 SiI 3512 [SATALink/SATARaid] Serial ATA Controller + 1095 3512 SiI 3512 SATALink Controller + 1095 6512 SiI 3512 SATARaid Controller ++ 3531 Sil 3531 [SATALink/SATARaid] Serial ATA Controller + 1096 Alacron + 1097 Appian Technology + 1098 Quantum Designs (H.K.) Ltd +@@ -3623,6 +4061,7 @@ + 0010 AMP Video I/O + 0011 GRIP + 0012 SGH PSHAC GSN ++ 0208 SSIM1 SAS Adapter + 1001 Magic Carpet + 1002 Lithium + 1003 Dual JPEG 1 +@@ -3632,6 +4071,7 @@ + 1007 Dual JPEG 5 + 1008 Cesium + 100a IOC4 I/O controller ++ 1504 SSIM1 Fibre Channel Adapter + 2001 Fibre Channel + 2002 ASDE + 4001 TIO-CE PCI Express Bridge +@@ -3642,6 +4082,8 @@ + 8018 Broadcom e-net [SGI A330 Server BaseIO] + 10aa ACC Microelectronics + 0000 ACCM 2188 ++ 2051 2051 CPU bridge ++ 5842 2051 ISA bridge + 10ab Digicom + 10ac Honeywell IAC + 10ad Symphony Labs +@@ -3650,7 +4092,7 @@ + 0005 SL82C105 + 0103 SL82c103 + 0105 SL82c105 +- 0565 W83C553 ++ 0565 W83C553F/W83C554F + 10ae Cornerstone Technology + 10af Micro Computer Systems Inc + 10b0 CardExpert Technology +@@ -3664,7 +4106,9 @@ + 10b4 237e Velocity 4400 + 10b5 PLX Technology, Inc. + 0001 i960 PCI bus interface ++ 1024 Acromag, Inc. IndustryPack Carrier Card + 1042 Brandywine / jxi2, Inc. - PMC-SyncClock32, IRIG A & B, Nasa 36 ++ 106a Dual OX16C952 4 port serial adapter [Megawolf Romulus/4] + 1076 VScom 800 8 port serial adaptor + 1077 VScom 400 4 port serial adaptor + 1078 VScom 210 2 port serial and 1 port parallel adaptor +@@ -3673,8 +4117,14 @@ + 1147 VScom 020 2 port parallel adaptor + 2540 IXXAT CAN-Interface PC-I 04/PCI + 2724 Thales PCSM Security Card +- 6520 PCI6520 PCI-X to PCI-X bridge +- 6540 PCI6540/6466 PCI-PCI bridge (transparent mode) ++ 6140 PCI6140 32-bit 33MHz PCI-to-PCI Bridge ++ 6150 PCI6150 32-bit 33MHz PCI-to-PCI Bridge ++ 6152 PCI6152 32-bit 66MHz PCI-to-PCI Bridge ++ 6154 PCI6154 64-bit 66MHz PCI-to-PCI Bridge ++ 6254 PCI6254 64-bit 66MHz PCI-to-PCI Bridge ++ 6466 PCI6466 64-bit 66MHz PCI-to-PCI Bridge ++ 6520 PCI6520 64-bit 133MHz PCI-X-to-PCI-X Bridge ++ 6540 PCI6540 64-bit 133MHz PCI-X-to-PCI-X Bridge + 1775 1100 CR11 Single Board Computer + 4c53 10e0 PSL09 PrPMC + 6541 PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side) +@@ -3684,10 +4134,23 @@ + 1775 1100 CR11 Single Board Computer + 4c53 10e0 PSL09 PrPMC + 8111 PEX 8111 PCI Express-to-PCI Bridge ++ 8112 PEX8112 x1 Lane PCI Express-to-PCI Bridge + 8114 PEX 8114 PCI Express-to-PCI/PCI-X Bridge ++ 8311 PEX8311 x1 Lane PCI Express-to-Generic Local Bus Bridge ++ 8505 PEX 8505 5-lane, 5-port PCI Express Switch ++ 8508 PEX 8508 8-lane, 5-port PCI Express Switch ++ 8509 PEX 8509 8-lane, 8-port PCI Express Switch ++ 8512 PEX 8512 12-lane, 5-port PCI Express Switch + 8516 PEX 8516 Versatile PCI Express Switch ++ 8517 PEX 8517 16-lane, 5-port PCI Express Switch ++ 8518 PEX 8518 16-lane, 5-port PCI Express Switch ++ 8524 PEX 8524 24-lane, 6-port PCI Express Switch ++ 8525 PEX 8525 24-lane, 5-port PCI Express Switch + 8532 PEX 8532 Versatile PCI Express Switch +- 9030 PCI <-> IOBus Bridge Hot Swap ++ 8533 PEX 8533 32-lane, 6-port PCI Express Switch ++ 8547 PEX 8547 48-lane, 3-port PCI Express Switch ++ 8548 PEX 8548 48-lane, 9-port PCI Express Switch ++ 9030 PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + 10b5 2862 Alpermann+Velte PCL PCI LV (3V/5V): Timecode Reader Board + 10b5 2906 Alpermann+Velte PCI TS (3V/5V): Time Synchronisation Board + 10b5 2940 Alpermann+Velte PCL PCI D (3V/5V): Timecode Reader Board +@@ -3704,12 +4167,15 @@ + 9036 9036 + 9050 PCI <-> IOBus Bridge + 10b5 1067 IXXAT CAN i165 ++ 10b5 114e Wasco WITIO PCI168extended ++ 10b5 1169 Wasco OPTOIO32standard 32 digital in, 32 digital out + 10b5 1172 IK220 (Heidenhain) + 10b5 2036 SatPak GPS + 10b5 2221 Alpermann+Velte PCL PCI LV: Timecode Reader Board + 10b5 2273 SH ARC-PCI SOHARD ARCNET card + 10b5 2431 Alpermann+Velte PCL PCI D: Timecode Reader Board + 10b5 2905 Alpermann+Velte PCI TS: Time Synchronisation Board ++ 10b5 3196 Goramo PLX200SYN sync serial card + 10b5 9050 PCI-I04 PCI Passive PC/CAN Interface + 1498 0362 TPMC866 8 Channel Serial Card + 1522 0001 RockForce 4 Port V.90 Data/Fax/Voice Modem +@@ -3743,7 +4209,8 @@ + d84d 4065 EX-4065 8S(16C550) RS-232 + d84d 4068 EX-4068 8S(16C650) RS-232 + d84d 4078 EX-4078 2S(16C552) RS-232+1P +- 9054 PCI <-> IOBus Bridge ++ 9052 PCI9052 PCI <-> IOBus Bridge ++ 9054 PCI9054 32-bit 33MHz PCI <-> IOBus Bridge + 10b5 2455 Wessex Techology PHIL-PCI + 10b5 2696 Innes Corp AM Radcap card + 10b5 2717 Innes Corp Auricon card +@@ -3758,14 +4225,14 @@ + 16df 0014 PIKA PrimeNet MM cPCI 4 + 16df 0015 PIKA Daytona MM + 16df 0016 PIKA InLine MM +- 9056 9056 PCI I/O Accelerator ++ 9056 PCI9056 32-bit 66MHz PCI <-> IOBus Bridge + 10b5 2979 CellinkBlade 11 - CPCI board VoATM AAL1 + 14b4 d140 Dektec DTA-140 +- 9060 9060 ++ 9060 PCI9060 32-bit 33MHz PCI <-> IOBus Bridge + 906d 9060SD + 125c 0640 Aries 16000P + 906e 9060ES +- 9080 9080 ++ 9080 PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge + 103c 10eb (Agilent) E2777B 83K Series Optical Communication Interface + 103c 10ec (Agilent) E6978-66442 PCI CIC + 10b5 1123 Sectra KK631 encryption board +@@ -3774,7 +4241,7 @@ + 12d9 0002 PCI Prosody Card + 12df 4422 4422PCI ["Do-All" Telemetry Data Aquisition System] + 1517 000b ECSG-1R3ADC-PMC Clock synthesizer +- 9656 PCI <-> IOBus Bridge ++ 9656 PCI9656 PCI <-> IOBus Bridge + 1517 000f ECDR-GC314-PMC Receiver + 1885 0700 Tsunami FPGA PMC with Altera Stratix S40 + 1885 0701 Tsunami FPGA PMC with Altera Stratix S30 +@@ -3902,11 +4369,13 @@ + 1028 0095 3C920 Integrated Fast Ethernet Controller + 1028 0097 3C920 Integrated Fast Ethernet Controller + 1028 00b4 OptiPlex GX110 ++ 1028 00d8 Precision 530 + 1028 00fe Optiplex GX240 + 1028 012a 3C920 Integrated Fast Ethernet Controller [Latitude C640] + 10b7 1000 3C905CX-TX/TX-M Fast Etherlink for PC Management NIC + 10b7 7000 10/100 Mini PCI Ethernet Adapter + 10f1 2466 Tiger MPX S2466 (3C920 Integrated Fast Ethernet Controller) ++ 144d c005 X10 Laptop + 9201 3C920B-EMB Integrated Fast Ethernet Controller [Tornado] + 1043 80ab A7N8X Deluxe onboard 3C920B-EMB Integrated Fast Ethernet Controller + 9202 3Com 3C920B-EMB-WNM Integrated Fast Ethernet Controller +@@ -3976,14 +4445,17 @@ + 1523 M1523 + 10b9 1523 ALI M1523 ISA Bridge + 1531 M1531 [Aladdin IV] +- 1533 M1533/M1535 PCI to ISA Bridge [Aladdin IV/V/V+] +- 1014 053b ThinkPad R40e (2684-HVG) PCI to ISA Bridge ++ 1533 M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+] ++ 1014 053b ThinkPad R40e + 10b9 1533 ALi M1533 Aladdin IV/V ISA Bridge + 1541 M1541 + 10b9 1541 ALI M1541 Aladdin V/V+ AGP System Controller + 1543 M1543 + 1563 M1563 HyperTransport South Bridge ++ 10b9 1563 ASRock 939Dual-SATA2 Motherboard ++ 1849 1563 ASRock 939Dual-SATA2 Motherboard + 1573 PCI to LPC Controller ++ 1575 M1575 South Bridge + 1621 M1621 + 1631 ALI M1631 PCI North Bridge Aladdin Pro III + 1632 M1632M Northbridge+Trident +@@ -4016,16 +4488,20 @@ + 5228 M5228 ALi ATA/RAID Controller + 5229 M5229 IDE + 1014 050f ThinkPad R30 +- 1014 053d ThinkPad R40e (2684-HVG) builtin IDE ++ 1014 053d ThinkPad R40e + 103c 0024 Pavilion ze4400 builtin IDE + 1043 8053 A7A266 Motherboard IDE + 1849 5229 ASRock 939Dual-SATA2 Motherboard IDE (PATA) + 5235 M5225 + 5237 USB 1.1 Controller +- 1014 0540 ThinkPad R40e (2684-HVG) builtin USB ++ 1014 0540 ThinkPad R40e + 103c 0024 Pavilion ze4400 builtin USB + 104d 810f VAIO PCG-U1 USB/OHCI Revision 1.0 ++ 10b9 5237 ASRock 939Dual-SATA2 Motherboard ++ 1849 5237 ASRock 939Dual-SATA2 Motherboard + 5239 USB 2.0 Controller ++ 10b9 5239 ASRock 939Dual-SATA2 Motherboard ++ 1849 5239 ASRock 939Dual-SATA2 Motherboard + 5243 M1541 PCI to AGP Controller + 5246 AGP8X Controller + 5247 PCI to AGP Controller +@@ -4041,17 +4517,19 @@ + 5281 ALi M5281 Serial ATA / RAID Host Controller + 5287 ULi 5287 SATA + 5288 ULi M5288 SATA ++ 1043 8056 A8R-MVP Mainboard + 5289 ULi 5289 SATA + 5450 Lucent Technologies Soft Modem AMR + 5451 M5451 PCI AC-Link Controller Audio Device + 1014 0506 ThinkPad R30 +- 1014 053e ThinkPad R40e (2684-HVG) builtin Audio ++ 1014 053e ThinkPad R40e + 103c 0024 Pavilion ze4400 builtin Audio +- 10b9 5451 HP Compaq nc4010 (DY885AA#ABN) + 5453 M5453 PCI AC-Link Controller Modem Device + 5455 M5455 PCI AC-Link Controller Audio Device ++ 10b9 5455 ASRock 939Dual-SATA2 Motherboard ++ 1849 0850 ASRock 939Dual-SATA2 Motherboard + 5457 M5457 AC'97 Modem Controller +- 1014 0535 ThinkPad R40e (2684-HVG) builtin modem ++ 1014 0535 ThinkPad R40e + 103c 0024 Pavilion ze4400 builtin Modem Device + 5459 SmartLink SmartPCI561 56K Modem + 545a SmartLink SmartPCI563 56K Modem +@@ -4060,12 +4538,14 @@ + 5473 M5473 SD-MMC Controller + 7101 M7101 Power Management Controller [PMU] + 1014 0510 ThinkPad R30 +- 1014 053c ThinkPad R40e (2684-HVG) Power Management Controller ++ 1014 053c ThinkPad R40e + 103c 0024 Pavilion ze4400 ++ 1849 7101 ASRock 939Dual-SATA2 Motherboard + 10ba Mitsubishi Electric Corp. + 0301 AccelGraphics AccelECLIPSE + 0304 AccelGALAXY A2100 [OEM Evans & Sutherland] + 0308 Tornado 3000 [OEM Evans & Sutherland] ++ 10dd 0024 Tornado 3000 + 1002 VG500 [VolumePro Volume Rendering Accelerator] + 10bb Dapha Electronics Corporation + 10bc Advanced Logic Research +@@ -4116,7 +4596,7 @@ + 8005 NM2200 [MagicMedia 256AV Audio] + 0e11 b0d1 MagicMedia 256AV Audio Device on Discovery + 0e11 b126 MagicMedia 256AV Audio Device on Durango +- 1014 00dd MagicMedia 256AV Audio Device on BlackTip Thinkpad ++ 1014 00dd ThinkPad 390/i1720/i1721 + 1025 1003 MagicMedia 256AV Audio Device on TravelMate 720 + 1028 0088 Latitude CPi A + 1028 008f MagicMedia 256AV Audio Device on Colorado Inspiron +@@ -4143,10 +4623,20 @@ + 1195 1320 Ultra-SCSI CardBus PC Card REX CB31 + 2300 ABP940-UW + 2500 ABP940-U2W ++ 2700 ABP3950-U3W + 10ce Radius + # nee Citicorp TTI + 10cf Fujitsu Limited. ++ 1414 On-board USB 1.1 companion controller ++ 1415 On-board USB 2.0 EHCI controller ++ 1422 E8410 nVidia graphics adapter ++ 142d HD audio (Realtek ALC262) ++ 1430 82566MM Intel 1Gb copper LAN interface + 2001 mb86605 ++ 200c MB86613L IEEE1394 OHCI 1.0 Controller ++ 2019 MB86295S [CORAL P] ++ 201e MB86296S [CORAL PA] ++ 202b MB86297A [Carmine Graphics Controller] + 10d1 FuturePlus Systems Corp. + 10d2 Molex Incorporated + 10d3 Jabil Circuit Inc +@@ -4175,6 +4665,7 @@ + 10dc ATT2C15-3 FPGA + 10dd Evans & Sutherland + 0100 Lightning 1200 ++ 10dd 0023 Lightning 1200 15+16M + 10de nVidia Corporation + 0008 NV1 [EDGE 3D] + 0009 NV1 [EDGE 3D] +@@ -4291,69 +4782,104 @@ + 004e NV40GL [Quadro FX 4000] + 0050 CK804 ISA Bridge + 1043 815a K8N4-E or A8N-E Mainboard ++ 10f1 2865 Tomcat K8E (S2865) + 1458 0c11 GA-K8N Ultra-9 Mainboard + 1462 7100 MSI K8N Diamond + 147b 1c1a KN8-Ultra Mainboard ++ 1565 3402 NF4 AM2L Mainboard + 0051 CK804 ISA Bridge ++ 1028 0225 PWA-Pandora Motherboard [PowerEdge T105] + 0052 CK804 SMBus ++ 1028 0225 PWA-Pandora Motherboard [PowerEdge T105] + 1043 815a K8N4-E or A8N-E Mainboard ++ 10f1 2865 Tomcat K8E (S2865) + 1458 0c11 GA-K8N Ultra-9 Mainboard + 1462 7100 MSI K8N Diamond + 147b 1c1a KN8-Ultra Mainboard ++ 1565 3402 NF4 AM2L Mainboard + 0053 CK804 IDE + 1043 815a K8N4-E or A8N-E Mainboard ++ 10f1 2865 Tomcat K8E (S2865) + 1458 5002 GA-K8N Ultra-9 Mainboard + 1462 7100 MSI K8N Diamond + 147b 1c1a KN8-Ultra Mainboard ++ 1565 3402 NF4 AM2L Mainboard + 0054 CK804 Serial ATA Controller ++ 1028 0225 PWA-Pandora Motherboard [PowerEdge T105] + 1043 815a A8N-E Mainboard ++ 10f1 2865 Tomcat K8E (S2865) + 1458 b003 GA-K8N Ultra-9 Mainboard + 1462 7100 MSI K8N Diamond + 147b 1c1a KN8-Ultra Mainboard ++ 1565 5401 NF4 AM2L Mainboard + 0055 CK804 Serial ATA Controller ++ 1028 0225 PWA-Pandora Motherboard [PowerEdge T105] + 1043 815a K8N4-E or A8N-E Mainboard ++ 10f1 2865 Tomcat K8E (S2865) + 1458 b003 GA-K8N Ultra-9 Mainboard + 147b 1c1a KN8-Ultra Mainboard ++ 1565 5401 NF4 AM2L Mainboard + 0056 CK804 Ethernet Controller + 0057 CK804 Ethernet Controller + 1043 8141 K8N4-E or A8N-E Mainboard ++ 10de cb84 NF4 Lanparty ++ 10f1 2865 Tomcat K8E (S2865) + 1458 e000 GA-K8N Ultra-9 Mainboard + 1462 7100 MSI K8N Diamond + 147b 1c1a KN8-Ultra Mainboard ++ 1565 2501 NF4 AM2L Mainboard + 0058 CK804 AC'97 Modem + 0059 CK804 AC'97 Audio Controller + 1043 812a K8N4-E or A8N-E Mainboard ++ 10f1 2865 Tomcat K8E (S2865) + 147b 1c1a KN8-Ultra Mainboard ++ 1565 8211 NF4 AM2L Mainboard + 005a CK804 USB Controller ++ 1028 0225 PWA-Pandora Motherboard [PowerEdge T105] + 1043 815a K8N4-E or A8N-E Mainboard ++ 10f1 2865 Tomcat K8E (S2865) + 1458 5004 GA-K8N Ultra-9 Mainboard + 1462 7100 MSI K8N Diamond + 147b 1c1a KN8-Ultra Mainboard ++ 1565 3402 NF4 AM2L Mainboard + 005b CK804 USB Controller ++ 1028 0225 PWA-Pandora Motherboard [PowerEdge T105] + 1043 815a K8N4-E or A8N-E Mainboard ++ 10f1 2865 Tomcat K8E (S2865) + 1458 5004 GA-K8N Ultra-9 Mainboard + 1462 7100 MSI K8N Diamond + 147b 1c1a KN8-Ultra Mainboard ++ 1565 3402 NF4 AM2L Mainboard + 005c CK804 PCI Bridge + 005d CK804 PCIE Bridge + 005e CK804 Memory Controller ++ 1028 0225 PWA-Pandora Motherboard [PowerEdge T105] + 1043 815a A8N-E Mainboard ++ 10de 005e ECS Elitegroup NFORCE3-A939 motherboard. ++ 10f1 2865 Tomcat K8E (S2865) + 10f1 2891 Thunder K8SRE Mainboard + 1458 5000 GA-K8N Ultra-9 Mainboard + 1462 7100 MSI K8N Diamond + 147b 1c1a KN8-Ultra Mainboard ++ 1565 3402 NF4 AM2L Mainboard + 005f CK804 Memory Controller + 0060 nForce2 ISA Bridge + 1043 80ad A7N8X Mainboard ++ 147b 1c02 NF7-S/NF7 (nVidia-nForce2) 2.X + a0a0 03ba UK79G-1394 motherboard + 0064 nForce2 SMBus (MCP) ++ 147b 1c02 NF7-S/NF7 (nVidia-nForce2) 2.X + a0a0 03bb UK79G-1394 motherboard + 0065 nForce2 IDE ++ 10de 0c11 nForce 2 EIDE Controller + a0a0 03b2 UK79G-1394 motherboard + 0066 nForce2 Ethernet Controller + 1043 80a7 A7N8X Mainboard onboard nForce2 Ethernet ++ 10de 0c11 nForce MCP-T Networking Adapter ++ a0a0 03b3 UK79G-1394 motherboard + 0067 nForce2 USB Controller + 1043 0c11 A7N8X Mainboard ++ a0a0 03b4 UK79G-1394 motherboard + 0068 nForce2 USB Controller + 1043 0c11 A7N8X Mainboard + a0a0 03b4 UK79G-1394 motherboard +@@ -4362,6 +4888,7 @@ + a0a0 0304 UK79G-1394 motherboard + 006b nForce Audio Processing Unit + 10de 006b nForce2 MCP Audio Processing Unit ++ a0a0 0304 UK79G-1394 motherboard + 006c nForce2 External PCI Bridge + 006d nForce2 PCI Bridge + 006e nForce2 FireWire (IEEE 1394) Controller +@@ -4386,6 +4913,7 @@ + 0091 G70 [GeForce 7800 GTX] + 0092 G70 [GeForce 7800 GT] + 0093 G70 [GeForce 7800 GS] ++ 0095 GeForce 7800 SLI + 0098 G70 [GeForce Go 7800] + 0099 G70 [GeForce Go 7800 GTX] + 009d G70GL [Quadro FX 4500] +@@ -4427,7 +4955,7 @@ + 1462 7030 K8N Neo-FSR v2.0 + 147b 1c0b NF8 Mainboard + 00e2 nForce3 250Gb AGP Host to PCI Bridge +- 00e3 CK8S Serial ATA Controller (v2.5) ++ 00e3 nForce3 Serial ATA Controller + 1043 813f K8N-E + 105b 0c43 Winfast NF3250K8AA + 147b 1c0b NF8 Mainboard +@@ -4458,13 +4986,15 @@ + 1462 b010 K8N Neo-FSR v2.0 + 147b 1c0b NF8 Mainboard + 00ed nForce3 250Gb PCI-to-PCI Bridge +- 00ee CK8S Serial ATA Controller (v2.5) ++ 00ee nForce3 Serial ATA Controller 2 + 00f0 NV40 [GeForce 6800 Ultra] + 00f1 NV43 [GeForce 6600 GT] + 1043 81a6 N6600GT TD 128M AGP ++ 1043 81c6 N6600GT TD 128M AGP + 1458 3150 GV-N66T128VP + 1682 2119 GeForce 6600 GT AGP 128MB DDR3 DUAL DVI TV + 00f2 NV43 [GeForce 6600] ++ 1554 1194 PixelView PV-N43AT (256KD) + 1682 211c GeForce 6600 256MB DDR DUAL DVI TV + 00f3 NV43 [GeForce 6200] + 00f4 NV43 [GeForce 6600 LE] +@@ -4473,6 +5003,7 @@ + 1682 217e XFX GeForce 6800 XTreme 256MB DDR3 AGP + 00f8 NV45GL [Quadro FX 3400/4400] + 00f9 NV45 [GeForce 6800 GTO] ++ 10de 00f9 NV40 [GeForce 6800 GT] + 1682 2120 GEFORCE 6800 GT PCI-E + 00fa NV36 [GeForce PCX 5750] + 00fb NV35 [GeForce PCX 5900] +@@ -4519,6 +5050,7 @@ + 1462 8817 MSI GeForce2 MX400 Pro32S [MS-8817] + 14af 7102 3D Prophet II MX + 14af 7103 3D Prophet II MX Dual-Display ++ 1545 0023 Xtasy Rev. B2 + 0111 NV11DDR [GeForce2 MX200] + 0112 NV11 [GeForce2 Go] + 0113 NV11GL [Quadro2 MXR/EX/Go] +@@ -4536,7 +5068,7 @@ + 0149 NV43 [GeForce Go 6600 GT] + 014a Quadro NVS 440 + 014c Quadro FX 540 MXM +- 014d NV18GL [Quadro FX 550] ++ 014d NV43GL [Quadro FX 550] + 014e NV43GL [Quadro FX 540] + 014f NV43 [GeForce 6200] + 0150 NV15 [GeForce2 GTS/Pro] +@@ -4578,6 +5110,7 @@ + 0175 NV17 [GeForce4 420 Go] + 0176 NV17 [GeForce4 420 Go 32M] + 103c 08b0 tc1100 tablet ++ 144d c005 X10 Laptop + 4c53 1090 Cx9 / Vx9 mainboard + 0177 NV17 [GeForce4 460 Go] + 0178 NV17GL [Quadro4 550 XGL] +@@ -4594,6 +5127,7 @@ + 1462 8900 MS-8890 GeForce 4 MX440 AGP8X + 1462 9350 MSI Geforce4 MX T8X with AGP8X + 147b 8f0d Siluro GF4 MX-8X ++ 1554 1111 PixelView MVGA-NVG18A + 0182 NV18 [GeForce4 MX 440SE AGP 8x] + 0183 NV18 [GeForce4 MX 420 AGP 8x] + 0184 NV18 [GeForce4 MX] +@@ -4601,12 +5135,14 @@ + 0186 NV18M [GeForce4 448 Go] + 0187 NV18M [GeForce4 488 Go] + 0188 NV18GL [Quadro4 580 XGL] +- 018a NV18GL [Quadro NVS with AGP8X] ++ 018a NV18GL [Quadro NVS 280 SD] + 018b NV18GL [Quadro4 380 XGL] + 018c NV18GL [Quadro NVS 50 PCI] + 018d NV18M [GeForce4 448 Go] + 0191 G80 [GeForce 8800 GTX] + 0193 G80 [GeForce 8800 GTS] ++ 0194 GeForce 8800 Ultra ++ 0197 Tesla S870 (Compute Server Component) + 019d G80 [Quadro FX 5600] + 019e G80 [Quadro FX 4600] + 01a0 NVCrush11 [GeForce2 MX Integrated Graphics] +@@ -4614,8 +5150,8 @@ + 01ab nForce 420 Memory Controller (DDR) + 01ac nForce 220/420 Memory Controller + 01ad nForce 220/420 Memory Controller +- 01b0 nForce Audio +- 01b1 nForce Audio ++ 01b0 nForce Audio Processing Unit ++ 01b1 nForce AC'97 Audio Controller + 01b2 nForce ISA Bridge + 01b4 nForce PCI System Management + 01b7 nForce AGP to PCI Bridge +@@ -4624,19 +5160,22 @@ + 01c1 nForce AC'97 Modem Controller + 01c2 nForce USB Controller + 01c3 nForce Ethernet Controller ++ 01d0 GeForce 7350 LE + 01d1 G72 [GeForce 7300 LE] + 1462 0345 7300LE PCI Express Graphics Adapter + 01d3 G72 [GeForce 7300 SE] + 01d6 GeForce Go 7200 + 01d7 G72M [Quadro NVS 110M/GeForce Go 7300] + 01d8 G72M [GeForce Go 7400] ++ 1028 01d7 XPS M1210 + 01da G72M [Quadro NVS 110M] ++ 01db Quadro NVS 120M + 01dc G72GL [Quadro FX 350M] + 01dd G72 [GeForce 7500 LE] + 01de G72GL [Quadro FX 350] + 10de 01dc Quadro FX Go350M + 01df G71 [GeForce 7300 GS] +- 01e0 nForce2 AGP (different version?) ++ 01e0 nForce2 IGP2 + 147b 1c09 NV7 Motherboard + 01e8 nForce2 AGP + 01ea nForce2 Memory Controller 0 +@@ -4648,6 +5187,7 @@ + 01ed nForce2 Memory Controller 3 + a0a0 03b9 UK79G-1394 motherboard + 01ee nForce2 Memory Controller 4 ++ 10de 01ee MSI Delta-L nForce2 memory controller + a0a0 03b9 UK79G-1394 motherboard + 01ef nForce2 Memory Controller 5 + a0a0 03b9 UK79G-1394 motherboard +@@ -4675,7 +5215,9 @@ + 0242 C51G [GeForce 6100] + 0243 C51 PCI Express Bridge + 0244 C51 [Geforce 6150 Go] +- 10de 0244 C51 [Geforce 6150 Go] ++ 103c 30b5 Presario V3242AU ++ 103c 30b7 Presario V6133CL ++ 10de 0244 GeForce Go 6150 + 0245 C51 [Quadro NVS 210S/GeForce 6150LE] + 0246 C51 PCI Express Bridge + 0247 MCP51 PCI-X GeForce Go 6100 +@@ -4691,6 +5233,8 @@ + 0250 NV25 [GeForce4 Ti 4600] + 0251 NV25 [GeForce4 Ti 4400] + 1043 8023 v8440 GeForce 4 Ti4400 ++ 10de 0251 PNY GeForce4 Ti 4400 ++ 1462 8710 PNY GeForce4 Ti 4400 + 0252 NV25 [GeForce4 Ti] + 0253 NV25 [GeForce4 Ti 4200] + 107d 2896 WinFast A250 LE TD (Dual VGA/TV-out/DVI) +@@ -4699,6 +5243,7 @@ + 0259 NV25GL [Quadro4 750 XGL] + 025b NV25GL [Quadro4 700 XGL] + 0260 MCP51 LPC Bridge ++ 103c 30b7 Presario V6133CL + 1043 81bc A8N-VM CSM Mainboard + 1458 5001 GA-M55plus-S3G + 1462 7207 K8NGM2 series +@@ -4706,12 +5251,15 @@ + 0262 MCP51 LPC Bridge + 0263 MCP51 LPC Bridge + 0264 MCP51 SMBus ++ 103c 30b7 Presario V6133CL + 1043 81bc A8N-VM CSM Mainboard + 1462 7207 K8NGM2 series + 0265 MCP51 IDE ++ 103c 30b7 Presario V6133CL + 1043 81bc A8N-VM CSM Mainboard + 1462 7207 K8NGM2 series + 0266 MCP51 Serial ATA Controller ++ 103c 30b7 Presario V6133CL + 1043 81bc A8N-VM CSM Mainboard + 1462 7207 K8NGM2 series + 0267 MCP51 Serial ATA Controller +@@ -4719,31 +5267,42 @@ + 1462 7207 K8NGM2 series + 0268 MCP51 Ethernet Controller + 0269 MCP51 Ethernet Controller ++ 103c 30b7 Presario V6133CL + 1043 8141 A8N-VM CSM Mainboard + 1462 7207 K8NGM2 series + 026a MCP51 MCI + 026b MCP51 AC97 Audio Controller + 026c MCP51 High Definition Audio ++ 103c 30b5 Presario V3242AU ++ 103c 30b7 Presario V6133CL + 10de cb84 A8N-VM CSM Mainboard + 1462 7207 K8NGM2 series + 026d MCP51 USB Controller ++ 103c 30b7 Presario V6133CL + 1043 81bc A8N-VM CSM Mainboard + 1462 7207 K8NGM2 series + 026e MCP51 USB Controller ++ 103c 30b7 Presario V6133CL + 1043 81bc A8N-VM CSM Mainboard + 1462 7207 K8NGM2 series + 026f MCP51 PCI Bridge ++ 103c 30b7 Presario V6133CL + 0270 MCP51 Host Bridge ++ 103c 30b7 Presario V6133CL + 1043 81bc A8N-VM CSM Mainboard + 1458 5001 GA-M55plus-S3G + 1462 7207 K8NGM2 series + 0271 MCP51 PMU ++ 103c 30b5 Presario V3242AU ++ 103c 30b7 Presario V6133CL + 0272 MCP51 Memory Controller 0 + 027e C51 Memory Controller 2 ++ 103c 30b7 Presario V6133CL + 1043 81cd A8N-VM CSM Mainboard + 1458 5000 GA-M55plus-S3G + 1462 7207 K8NGM2 series + 027f C51 Memory Controller 3 ++ 103c 30b7 Presario V6133CL + 1043 81cd A8N-VM CSM Mainboard + 1458 5000 GA-M55plus-S3G + 1462 7207 K8NGM2 series +@@ -4761,7 +5320,9 @@ + 0293 G71 [GeForce 7900 GX2] + 0294 G71 [GeForce 7950 GX2] + 0295 G71 [GeForce 7950 GT] ++ 1043 8225 GeForce 7950 GT + 107d 2a68 WinFast PX7950GT TDH ++ 1462 0663 NX7950GT-VT2D512EZ-HD + 0297 GeForce Go 7950 GTX + 0298 GeForce Go 7900 GS + 0299 GeForce Go 7900 GTX +@@ -4773,10 +5334,20 @@ + 029f G70 [Quadro FX 4500 X2] + # Xbox Graphics Processing Unit (Integrated). GeForce3 derivative (NV20 < NV2A < NV25). + 02a0 NV2A [XGPU] ++ 02a5 MCPX CPU Bridge ++ 02a6 MCPX Memory Controller + 02e0 GeForce 7600 GT ++ 02e0 2249 GF 7600GT 560M 256MB DDR3 DUAL DVI TV + 02e1 G73 [GeForce 7600 GS] ++ 1682 222b PV-T73K-UAL3 (256MB) ++ 1682 2247 GF 7600GS 512MB DDR2 + 02e2 GeForce 7300 GT ++ 02e3 GeForce 7900 GS ++# An oddball 7950 that doesn't show up on any official NVIDIA lists but was seen in the wild ++ 02e4 GeForce 7950 GT AGP ++ 1682 2271 PV-T71A-YDF7 (512MB) + 02f0 C51 Host Bridge ++ 103c 30b7 Presario V6133CL + 1043 81cd A8N-VM CSM Mainboard + 1462 7207 K8NGM2 series + 02f1 C51 Host Bridge +@@ -4788,25 +5359,32 @@ + 02f6 C51 Host Bridge + 02f7 C51 Host Bridge + 02f8 C51 Memory Controller 5 ++ 103c 30b7 Presario V6133CL + 1043 81cd A8N-VM CSM Mainboard + 1458 5000 GA-M55plus-S3G + 1462 7207 K8NGM2 series + 02f9 C51 Memory Controller 4 ++ 103c 30b7 Presario V6133CL + 1043 81cd A8N-VM CSM Mainboard + 1458 5000 GA-M55plus-S3G + 1462 7207 K8NGM2 series + 02fa C51 Memory Controller 0 ++ 103c 30b7 Presario V6133CL + 1043 81cd A8N-VM CSM Mainboard + 1458 5000 GA-M55plus-S3G + 1462 7207 K8NGM2 series + 02fb C51 PCI Express Bridge + 02fc C51 PCI Express Bridge ++ 103c 30b7 Presario V6133CL + 02fd C51 PCI Express Bridge ++ 103c 30b7 Presario V6133CL + 02fe C51 Memory Controller 1 ++ 103c 30b7 Presario V6133CL + 1043 81cd A8N-VM CSM Mainboard + 1458 5000 GA-M55plus-S3G + 1462 7207 K8NGM2 series + 02ff C51 Host Bridge ++ 103c 30b7 Presario V6133CL + 1043 81cd A8N-VM CSM Mainboard + 1458 5000 GA-M55plus-S3G + 1462 7207 K8NGM2 series +@@ -4832,28 +5410,36 @@ + 0321 NV34 [GeForce FX 5200 Ultra] + 0322 NV34 [GeForce FX 5200] + 1043 02fb V9250 Magic ++ 1043 8180 V9520-X/TD/128M ++ 1462 9110 MS-8911 (FX5200-TD128) + 1462 9171 MS-8917 (FX5200-T128) + 1462 9360 MS-8936 (FX5200-T128) + 0323 NV34 [GeForce FX 5200LE] + 0324 NV34M [GeForce FX Go5200 64M] + 1028 0196 Inspiron 5160 ++ 103c 006a Pavillon ZD7000 laptop + 1071 8160 MIM2000 + 0325 NV34M [GeForce FX Go5250] + 0326 NV34 [GeForce FX 5500] ++ 1458 310d GeForce FX 5500 128 MB ++ 1682 2034 GeForce 5500 256 MB + 0327 NV34 [GeForce FX 5100] + 0328 NV34M [GeForce FX Go5200 32M/64M] + 0329 NV34M [GeForce FX Go5200] ++ 10de 0010 Powerbook G4 + 032a NV34GL [Quadro NVS 280 PCI] + 032b NV34GL [Quadro FX 500/600 PCI] + 032c NV34GLM [GeForce FX Go 5300] + 032d NV34 [GeForce FX Go5100] + 032f NV34GL + 0330 NV35 [GeForce FX 5900 Ultra] ++ 1043 8137 V9950 Ultra / 256 MB + 0331 NV35 [GeForce FX 5900] + 1043 8145 V9950GE + 0332 NV35 [GeForce FX 5900XT] + 0333 NV38 [GeForce FX 5950 Ultra] + 0334 NV35 [GeForce FX 5900ZT] ++ 1462 9373 FX5900ZT-VTD128 (MS-8937) + 0338 NV35GL [Quadro FX 3000] + 033f NV35GL [Quadro FX 700] + 0341 NV36.1 [GeForce FX 5700 Ultra] +@@ -4873,22 +5459,29 @@ + 0360 MCP55 LPC Bridge + 0361 MCP55 LPC Bridge + 0362 MCP55 LPC Bridge ++ 147b 12c4 KN9-Ultra Mainboard + 0363 MCP55 LPC Bridge + 0364 MCP55 LPC Bridge + 0365 MCP55 LPC Bridge + 0366 MCP55 LPC Bridge + 0367 MCP55 LPC Bridge + 0368 MCP55 SMBus ++ 147b 12c4 KN9-Ultra Mainboard + 0369 MCP55 Memory Controller ++ 147b 12c4 KN9-Ultra Mainboard + 036a MCP55 Memory Controller + 036b MCP55 SMU + 036c MCP55 USB Controller ++ 147b 12c4 KN9-Ultra Mainboard + 036d MCP55 USB Controller ++ 147b 12c4 KN9-Ultra Mainboard + 036e MCP55 IDE ++ 147b 12c4 KN9-Ultra Mainboard + 0370 MCP55 PCI bridge + 0371 MCP55 High Definition Audio + 0372 MCP55 Ethernet + 0373 MCP55 Ethernet ++ 147b 12c4 KN9-Ultra Mainboard + 0374 MCP55 PCI Express bridge + 0375 MCP55 PCI Express bridge + 0376 MCP55 PCI Express bridge +@@ -4898,20 +5491,24 @@ + 037c G70 [GeForce 7800 GS] (rev a2) + 037e MCP55 SATA Controller + 037f MCP55 SATA Controller ++ 147b 12c4 KN9-Ultra Mainboard + 0390 GeForce 7650 GS + 0391 G70 [GeForce 7600 GT] + 1458 3427 GV-NX76T128D-RH + 0392 G70 [GeForce 7600 GS] + 1462 0622 NX7600GS-T2D256EH + 0393 G70 [GeForce 7300 GT] ++ 10de 0412 NX7300GT-TD256EH ++ 1462 0412 NX7300GT-TD256EH + 0394 G70 [GeForce 7600 LE] + 0395 G70 [GeForce 7300 GT] + 0397 GeForce Go 7700 + 0398 G70 [GeForce Go 7600] +-# \n Subsystem: + 1025 006c Acer 9814 WKMI ++ 0399 GeForce Go 7600 GT + 039b GeForce Go 7900 SE + 039c Quadro FX 550M ++ 10de 039c Quadro FX 560M + 039e G73GL [Quadro FX 560] + 03a0 C55 Host Bridge + 03a1 C55 Host Bridge +@@ -4941,11 +5538,13 @@ + 03b9 C55 PCI Express bridge + 03ba C55 Memory Controller + 03bb C55 PCI Express bridge +- 03d0 GeForce 6100 nForce 430 ++ 03bc C55 Memory Controller ++ 03d0 GeForce 6150SE nForce 430 + 03d1 GeForce 6100 nForce 405 + 03d2 GeForce 6100 nForce 400 + 03d5 GeForce 6100 nForce 420 + 03e0 MCP61 LPC Bridge ++ 1849 03e0 939NF6G-VSTA Board + 03e1 MCP61 LPC Bridge + 03e2 MCP61 LPC Bridge + 03e3 MCP61 LPC Bridge +@@ -4954,20 +5553,65 @@ + 03e6 MCP61 Ethernet + 03e7 MCP61 SATA Controller + 03e8 MCP61 PCI Express bridge ++ 1849 03e8 939NF6G-VSTA Board + 03e9 MCP61 PCI Express bridge ++ 1849 03e9 939NF6G-VSTA Board + 03ea MCP61 Memory Controller ++ 1849 03ea 939NF6G-VSTA Board + 03eb MCP61 SMBus ++ 1849 03eb 939NF6G-VSTA Board + 03ec MCP61 IDE ++ 1849 03ec 939NF6G-VSTA Board + 03ee MCP61 Ethernet + 03ef MCP61 Ethernet ++ 1849 03ef 939NF6G-VSTA Board + 03f0 MCP61 High Definition Audio ++ 1849 0888 939NF6G-VSTA Board + 03f1 MCP61 USB Controller ++ 1849 03f1 939NF6G-VSTA Board + 03f2 MCP61 USB Controller ++ 1849 03f2 939NF6G-VSTA Board + 03f3 MCP61 PCI bridge ++ 1849 03f3 939NF6G-VSTA Board + 03f4 MCP61 SMU + 03f5 MCP61 Memory Controller ++ 1849 03eb 939NF6G-VSTA Board + 03f6 MCP61 SATA Controller ++ 1849 03f6 939NF6G-VSTA Board + 03f7 MCP61 SATA Controller ++ 0400 GeForce 8600 GTS ++ 0401 GeForce 8600GT ++ 0402 GeForce 8600 GT ++ 1462 0910 NX8600GT-T2D256EZ ++ 0403 GeForce 8600 GS ++ 0404 GeForce 8400 GS ++ 0405 GeForce 9500M GS ++ 0407 GeForce 8600M GT ++ 0408 GeForce 9650M GS ++ 0409 GeForce 8700M GT ++ 040a Quadro FX 370 ++ 040b Quadro NVS 320M ++ 040c Quadro FX 570M ++ 040d Quadro FX 1600M ++ 040e Quadro FX 570 ++ 040f Quadro FX 1700 ++ 0420 GeForce 8400 SE ++ 0421 GeForce 8500 GT ++ 0422 GeForce 8400 GS ++ 0423 GeForce 8300 GS ++ 0424 GeForce 8400 GS ++ 0425 GeForce 8600M GS ++ 1025 0121 Aspire 5920G ++ 0426 G86M [GeForce 8400M GT] ++ 0427 GeForce 8400M GS ++ 0428 GeForce 8400M G ++ 0429 Quadro NVS 140M ++ 17aa 20d8 ThinkPad T61 ++ 042a Quadro NVS 130M ++ 042b Quadro NVS 135M ++ 042d Quadro FX 360M ++ 042e GeForce 9300M G ++ 042f Quadro NVS 290 + 0440 MCP65 LPC Bridge + 0441 MCP65 LPC Bridge + 0442 MCP65 LPC Bridge +@@ -4999,11 +5643,132 @@ + 045d MCP65 SATA Controller + 045e MCP65 SATA Controller + 045f MCP65 SATA Controller ++ 0531 GeForce 7150M ++ 0533 GeForce 7000M (rev a2) ++ 053a GeForce 7050 PV / nForce 630a ++ 053b GeForce 7050 PV / nForce 630a ++ 053e GeForce 7025 ++ 0541 MCP67 Memory Controller ++ 0542 MCP67 SMBus ++ 0543 MCP67 Co-processor ++ 0547 MCP67 Memory Controller ++ 1849 0547 ALiveNF7G-HDready ++ 0548 MCP67 ISA Bridge ++ 054c MCP67 Ethernet ++ 1849 054c ALiveNF7G-HDready, MCP67 Gigabit Ethernet ++ 054d MCP67 Ethernet ++ 054e MCP67 Ethernet ++# forcedeth source code from Nvidi ++ 054f MCP67 Ethernet ++ 0550 MCP67 AHCI Controller ++ 0554 MCP67 AHCI Controller ++ 0555 MCP67 SATA Controller + 055c MCP67 High Definition Audio + 055d MCP67 High Definition Audio ++ 055e MCP67 OHCI USB 1.1 Controller ++ 055f MCP67 EHCI USB 2.0 Controller ++ 0560 MCP67 IDE Controller ++ 0561 MCP67 PCI Bridge ++ 0562 MCP67 PCI Express Bridge ++ 1849 0562 ALiveNF7G-HDready ++ 0563 MCP67 PCI Express Bridge ++ 0568 MCP78S [GeForce 8200] Memory Controller ++ 0569 MCP78S [GeForce 8200] PCI Express Bridge ++ 056a GeForce 7100/nForce 630i ++ 056c MCP73 IDE ++ 056d MCP73 PCI Express bridge ++ 056e MCP73 PCI Express bridge ++ 056f MCP73 PCI Express bridge ++ 05be Tesla S870 ++ 0600 GeForce 8800 GTS 512 ++ 0602 GeForce 8800 GT 512 ++ 0604 GeForce 9800 GX2 ++ 0606 GeForce 8800 GS ++ 0609 GeForce 8800M GTS ++ 060c GeForce 8800M GTX ++ 060d GeForce 8800 GS ++ 0610 GeForce 9600 GSO ++ 0611 GeForce 8800 GT ++ 107d 2ab0 Winfast PX8800 GT PCI-E ++ 0612 GeForce 9800 GTX ++ 061a Quadro FX 3700 ++ 061c Quadro FX 3600M ++ 0622 G94 [GeForce 9600 GT] ++ 1458 3481 GV-NX96T512HP ++ 0623 GeForce 9600 GS ++ 0647 GeForce 9600M GT ++ 0648 GeForce 9600M GS ++ 0649 GeForce 9600M GT ++ 064b GeForce 9500M G ++ 06e2 GeForce 8400 GS ++ 06e4 GeForce 8400 GS ++ 06e5 GeForce 9300M GS ++ 06e8 GeForce 9200M GS ++ 06e9 GeForce 9300M GS ++ 0751 MCP78S [GeForce 8200] Memory Controller ++ 0752 MCP78S [GeForce 8200] SMBus ++ 0753 MCP78S [GeForce 8200] Co-Processor ++ 0754 MCP78S [GeForce 8200] Memory Controller ++ 0759 MCP78S [GeForce 8200] IDE ++ 075a MCP78S [GeForce 8200] PCI Bridge ++ 075b MCP78S [GeForce 8200] PCI Express Bridge ++ 075c MCP78S [GeForce 8200] LPC Bridge ++ 0760 MCP78S [GeForce 8200] Ethernet ++ 0761 MCP77 Ethernet ++ 0762 MCP77 Ethernet ++ 0763 MCP77 Ethernet ++ 0778 MCP78S [GeForce 8200] PCI Express Bridge ++ 077b MCP78S [GeForce 8200] OHCI USB 1.1 Controller ++ 077c MCP78S [GeForce 8200] EHCI USB 2.0 Controller ++ 077d MCP78S [GeForce 8200] OHCI USB 1.1 Controller ++ 077e MCP78S [GeForce 8200] EHCI USB 2.0 Controller ++ 07c1 MCP73 Host Bridge ++ 07c2 MCP73 Host Bridge ++ 07c5 MCP73 Host Bridge ++ 07c8 MCP73 Memory Controller ++ 07cb nForce 630i memory controller ++ 07cd nForce 630i memory controller ++ 07ce nForce 630i memory controller ++ 07cf nForce 630i memory controller ++ 07d0 nForce 630i memory controller ++ 07d1 nForce 630i memory controller ++ 07d2 nForce 630i memory controller ++ 07d3 nForce 630i memory controller ++ 07d6 nForce 630i memory controller ++ 07d7 MCP73 LPC Bridge ++ 07d8 MCP73 SMBus ++ 07d9 MCP73 Memory Controller ++ 07da MCP73 Co-processor ++ 07dc MCP73 Ethernet ++ 07dd MCP73 Ethernet ++ 07de MCP73 Ethernet ++ 07df MCP73 Ethernet ++ 07e0 GeForce 7150 / nForce 630i ++ 07e1 GeForce 7100/nForce 630i ++ 07e2 GeForce 7050 / nForce 630i ++ 07e3 GeForce 7050/nForce 610i ++ 07e5 GeForce 7100 / nForce 620i ++ 07f4 GeForce 7100/nForce 630i ++ 07f8 MCP73 SATA RAID Controller ++ 07fc MCP73 High Definition Audio ++ 10de 07fc MCP73 High Definition Audio ++ 07fe GeForce 7100/nForce 630i ++ 0844 GeForce 9100M G ++ 0848 GeForce 8300 ++ 0849 GeForce 8200 ++ 084a nForce 730a ++ 084b GeForce 8200 ++ 084f GeForce 8100 / nForce 720a ++ 0ab0 MCP79 Ethernet ++ 0ab1 MCP79 Ethernet ++ 0ab2 MCP79 Ethernet ++ 0ab3 MCP79 Ethernet ++ 0ad4 MCP78S [GeForce 8200] AHCI Controller + c615 G70 [GeForce 7600 GT] + 10df Emulex Corporation + 1ae5 LP6000 Fibre Channel Host Adapter ++ e100 Proteus-X: LightPulse IOV Fibre Channel Host Adapter ++ e180 Proteus-X: LightPulse IOV Fibre Channel Host Adapter + f011 Saturn: LightPulse Fibre Channel Host Adapter + f015 Saturn: LightPulse Fibre Channel Host Adapter + f085 LP850 Fibre Channel Host Adapter +@@ -5030,11 +5795,14 @@ + fa00 Thor-X LightPulse Fibre Channel Host Adapter + fb00 Viper LightPulse Fibre Channel Host Adapter + fc00 Thor-X LightPulse Fibre Channel Host Adapter ++ 10df fc00 LP10000 LightPulse Fibre Channel Host Adapter + fc10 Helios-X LightPulse Fibre Channel Host Adapter + fc20 Zephyr-X LightPulse Fibre Channel Host Adapter + fc40 Saturn-X: LightPulse Fibre Channel Host Adapter ++ fc50 Proteus-X: LightPulse IOV Fibre Channel Host Adapter + fd00 Helios-X LightPulse Fibre Channel Host Adapter + fe00 Zephyr-X LightPulse Fibre Channel Host Adapter ++ fe05 Zephyr-X: LightPulse FCoE Adapter + ff00 Neptune LightPulse Fibre Channel Host Adapter + 10e0 Integrated Micro Solutions Inc. + 5026 IMS5026/27/28 +@@ -5075,6 +5843,7 @@ + 8088 Kongsberg Spacetec Format Synchronizer + 8089 Kongsberg Spacetec Serial Output Board + 809c S5933_HEPC3 ++ 80b9 Harmonix Hi-Card P8 (4x active ISDN BRI) + 80d7 PCI-9112 + 80d9 PCI-9118 + 80da PCI-9812 +@@ -5114,12 +5883,16 @@ + 0139 Zonet Zen3200 + 0260 Realtek 260 High Definition Audio + 0261 Realtek 261 High Definition Audio ++ 0262 Realtek 262 High Definition Audio + 0280 Realtek 280 High Definition Audio ++ 0660 Realtek 660 High Definition Audio ++ 0662 Realtek 662 High Definition Audio + 0861 Realtek 861 High Definition Audio + 0862 Realtek 862 High Definition Audio + 0880 Realtek 880 High Definition Audio + 0883 Realtek 883 High Definition Audio + 1025 1605 TravelMate 5600 series ++ 0885 Realtek 885 High Definition Audio + 0888 Realtek 888 High Definition Audio + 8029 RTL-8029(AS) + 10b8 2011 EZ-Card (SMC1208) +@@ -5129,7 +5902,8 @@ + 1259 2400 AT-2400 + 8129 RTL-8129 + 10ec 8129 RT8129 Fast Ethernet Adapter +- 8136 RTL8101E PCI Express Fast Ethernet controller ++ 11ec 8129 RT8129 Fast Ethernet Adapter ++ 8136 RTL8101E/RTL8102E PCI Express Fast Ethernet controller + 8138 RT8139 (B/C) Cardbus Fast Ethernet Adapter + 10ec 8138 RT8139 (B/C) Fast Ethernet Adapter + 8139 RTL-8139/8139C/8139C+ +@@ -5138,6 +5912,7 @@ + 1025 8920 ALN-325 + 1025 8921 ALN-325 + 103c 006a NX9500 ++ 103c 30d9 Presario C700 + 1043 1045 L8400B or L3C/S notebook + 1043 8109 P5P800-MX Mainboard + 1071 8160 MIM2000 +@@ -5151,11 +5926,13 @@ + 11f6 8139 FN22-3(A) LinxPRO Ethernet Adapter + 1259 2500 AT-2500TX + 1259 2503 AT-2500TX/ACPI +- 1429 d010 ND010 ++ 1395 2100 AMB2100 ++ 1429 d010 ND010/ND012 + 1432 9130 EN-9130TX + 1436 8139 RT8139 + 144d c00c P30/P35 notebook + 1458 e000 GA-7VM400M/7VT600 Motherboard ++ 1462 217c Aspire L250 + 1462 788c 865PE Neo2-V Mainboard + 146c 1439 FE-1439TX + 1489 6001 GF100TXRII +@@ -5166,13 +5943,15 @@ + 1565 2300 P4TSV Onboard LAN (RTL8100B) + 1695 9001 Onboard RTL8101L 10/100 MBit + 1799 5000 F5D5000 PCI Card/Desktop Network PCI Card ++ 187e 3303 FN312 + 1904 8139 RTL8139D Fast Ethernet Adapter +- 2646 0001 EtheRx ++ 2646 0001 KNE120TX + 8e2e 7000 KF-230TX + 8e2e 7100 KF-230TX/2 + a0a0 0007 ALN-325C + 8167 RTL-8110SC/8169SC Gigabit Ethernet + 1462 235c P965 Neo MS-7235 mainboard ++ 1462 236c 945P Neo3-F motherboard + 8168 RTL8111/8168B PCI Express Gigabit Ethernet controller + 8169 RTL-8169 Gigabit Ethernet + 1025 0079 Aspire 5024WLMi +@@ -5205,6 +5984,10 @@ + 8380 Ellips ProfiXpress Profibus Master + 8381 Ellips Santos Frame Grabber + d154 Copley Controls CAN card (PCI-CAN-02) ++# SED is assigned Xilinx PCI device IDs ebf0 through ebff ++ ebf0 SED Systems Modulator/Demodulator ++ ebf1 SED Systems Audio Interface Card ++ ebf2 SED Systems Common PCI Interface + 10ef Racore Computer Products, Inc. + 8154 M815x Token Ring Adapter + 10f0 Peritek Corporation +@@ -5232,15 +6015,17 @@ + 10ff NCube + 1100 Jazz Multimedia + 1101 Initio Corporation ++ 0002 INI-920 Ultra SCSI Adapter + 1060 INI-A100U2W + 1622 INI-1623 PCI SATA-II Controller + 9100 INI-9100/9100W +- 9400 INI-940 +- 9401 INI-950 +- 9500 360P +- 9502 Initio INI-9100UW Ultra Wide SCSI Controller INIC-950P chip ++ 9400 INI-940 Fast Wide SCSI Adapter ++ 9401 INI-935 Fast Wide SCSI Adapter ++ 9500 INI-950 SCSI Adapter ++ 9502 INI-950P Ultra Wide SCSI Adapter + 1102 Creative Labs + 0002 SB Live! EMU10k1 ++ 100a 1102 SB Live! 5.1 Digital OEM SB0220 EMU10K1-JFF + 1102 0020 CT4850 SBLive! Value + 1102 0021 CT4620 SBLive! + 1102 002f SBLive! mainboard implementation +@@ -5264,12 +6049,14 @@ + 1102 0051 SB0090 Audigy Player + 1102 0053 SB0090 Audigy Player/OEM + 1102 0058 SB0090 Audigy Player/OEM +- 1102 1002 SB Audigy2 ZS ++ 1102 1002 SB Audigy2 Platinum + 1102 1007 SB0240 Audigy 2 Platinum 6.1 ++ 1102 1009 SB Audigy2 OEM HP + 1102 2002 SB Audigy 2 ZS (SB0350) + 1102 4001 E-MU 1010 + 0005 SB X-Fi + 1102 0021 X-Fi Platinum ++ 1102 002c X-Fi XtremeGamer FATAL1TY PRO + 1102 1003 X-Fi XtremeMusic + 0006 [SB Live! Value] EMU10k1X + 0007 SB Audigy LS +@@ -5277,15 +6064,20 @@ + 1102 1001 SB0310 Audigy LS + 1102 1002 SB0312 Audigy LS + 1102 1006 SB0410 SBLive! 24-bit ++ 1102 1012 SB0790 X-Fi XA ++ 1102 1013 Soundblaster X-Fi Xtreme Audio + 1462 1009 K8N Diamond + 0008 SB0400 Audigy2 Value + 1102 0008 EMU0404 Digital Audio System ++ 0009 [SB X-Fi Xtreme Audio] CA0110-IBG ++ 1102 0010 [SB X-Fi Xtreme Audio] CA0110-IBG + 4001 SB Audigy FireWire Port + 1102 0010 SB Audigy FireWire Port + 7002 SB Live! Game Port + 1102 0020 Gameport Joystick + 7003 SB Audigy Game Port + 1102 0040 SB Audigy MIDI/Game Port ++ 1102 0060 SB Audigy2 MIDI/Game Port + 7004 [SB Live! Value] Input device controller + 7005 SB Audigy LS Game Port + 1102 1001 SB0310 Audigy LS MIDI/Game port +@@ -5307,11 +6099,11 @@ + 156d b700 G700/U700 (AlphaTop (Taiwan)) + 156d b795 G795 (AlphaTop (Taiwan)) + 156d b797 G797 (AlphaTop (Taiwan)) +-1103 Triones Technologies, Inc. ++# nee Triones Technologies, Inc. ++1103 HighPoint Technologies, Inc. + 0003 HPT343/345/346/363 + 0004 HPT366/368/370/370A/372/372N + 1103 0001 HPT370A +- 1103 0003 HPT343 / HPT345 / HPT363 UDMA33 + 1103 0004 HPT366 UDMA66 (r1) / HPT368 UDMA66 (r2) / HPT370 UDMA100 (r3) / HPT370 UDMA100 RAID (r4) + 1103 0005 HPT370 UDMA100 + 1103 0006 HPT302/302N +@@ -5320,7 +6112,17 @@ + 0007 HPT371/371N + 0008 HPT374 + 0009 HPT372N ++ 1720 RocketRAID 1720 (2x SATA II RAID Controller) ++ 1740 RocketRAID 1740 ++ 1742 RocketRAID 1742 ++ 2300 RocketRAID 230x 4 Port SATA-II Controller ++ 2310 RocketRAID 2310 4 Port SATA-II Controller ++ 2320 RocketRAID 2320 SATA-II Controller ++ 2322 RocketRAID 2322 SATA-II Controller + 2340 RocketRAID 2340 16 Port SATA-II Controller ++ 2640 RocketRAID 2640 SAS/SATA Controller ++ 3220 RocketRAID 3220 ++ 3320 RocketRAID 3320 + 1104 RasterOps Corp. + 1105 Sigma Designs, Inc. + 1105 REALmagic Xcard MPEG 1/2/3/4 DVD Decoder +@@ -5335,6 +6137,7 @@ + 127d 0000 CineView II + 8485 EM8485 REALmagic DVD/MPEG-4 A/V Decoder + 8486 EM8486 REALmagic DVD/MPEG-4 A/V Decoder ++ c622 EM8622L MPEG-4.10 (H.264) and SMPTE 421M (VC-1) A/V Decoder + 1106 VIA Technologies, Inc. + 0102 Embedded VIA Ethernet Controller + 0130 VT6305 1394.A Controller +@@ -5343,7 +6146,7 @@ + 0208 PT890 Host Bridge + 0238 K8T890 Host Bridge + 0258 PT880 Host Bridge +- 0259 CN400/PM880 Host Bridge ++ 0259 CN333/CN400/PM880 Host Bridge + 0269 KT880 Host Bridge + 0282 K8T800Pro Host Bridge + 1043 80a3 A8V Deluxe +@@ -5356,16 +6159,19 @@ + 1043 803e A7V-E Mainboard + 1043 8042 A7V133/A7V133-C Mainboard + 147b a401 KT7/KT7-RAID/KT7A/KT7A-RAID Mainboard +- 0308 PT894 Host Bridge ++ 0308 PT880 Ultra/PT894 Host Bridge ++ 1043 8199 P4V800D-X Mainboard + 0314 CN700/VN800/P4M800CE/Pro Host Bridge +- 0324 CX700 Host Bridge ++ 0324 CX700/VX700 Host Bridge + 0327 P4M890 Host Bridge + 0336 K8M890CE Host Bridge + 0340 PT900 Host Bridge +- 0351 VT3351 Host Bridge +- 0364 P4M900 Host Bridge ++ 0351 K8T890CF Host Bridge ++ 0353 VX800 Host Bridge ++ 0364 CN896/VN896/P4M900 Host Bridge + 1043 81ce P5VD2-VM mothervoard + 0391 VT8371 [KX133] ++ 0415 PATA IDE Host Controller + 0501 VT8501 [Apollo MVP4] + 0505 VT82C505 + # Shares chip with :0576. The VT82C576M has :1571 instead of :0561. +@@ -5381,12 +6187,17 @@ + 1179 0001 Magnia Z310 + 1297 f641 FX41 motherboard + 1458 5002 GA-7VAX Mainboard ++ 1462 5901 KT6 Delta-FIS2R (MS-6590) + 1462 7020 K8T NEO 2 motherboard + 1462 7094 K8T Neo2-F V2.0 ++ 1462 7120 KT4AV motherboard + 1462 7181 K8MM3-V mainboard + 147b 1407 KV8-MAX3 motherboard + 1849 0571 K7VT2/K7VT6 motherboard + 0576 VT82C576 3V [Apollo Master] ++ 0581 CX700/VX700 RAID Controller ++# Upgrade bios to get correct ID: 5324 instead of 0581 ++ 1106 0581 Wrong IDE ID + 0585 VT82C585VP [Apollo VP1/VPX] + 0586 VT82C586/A/B PCI-to-ISA [Apollo VP] + 1106 0000 MVP3 ISA Bridge +@@ -5425,7 +6236,7 @@ + 1208 PT890 Host Bridge + 1238 K8T890 Host Bridge + 1258 PT880 Host Bridge +- 1259 CN400/PM880 Host Bridge ++ 1259 CN333/CN400/PM880 Host Bridge + 1269 KT880 Host Bridge + 1282 K8T800Pro Host Bridge + 1290 K8M890 Host Bridge +@@ -5433,12 +6244,13 @@ + 1296 P4M800 Host Bridge + 1308 PT894 Host Bridge + 1314 CN700/VN800/P4M800CE/Pro Host Bridge +- 1324 CX700 Host Bridge ++ 1324 CX700/VX700 Host Bridge + 1327 P4M890 Host Bridge + 1336 K8M890CE Host Bridge + 1340 PT900 Host Bridge + 1351 VT3351 Host Bridge +- 1364 P4M900 Host Bridge ++ 1353 VX800/VX820 Error Reporting ++ 1364 CN896/VN896/P4M900 Host Bridge + 1571 VT82C576M/VT82C586 + 1595 VT82C595/97 [Apollo VP2/97] + 2106 VIA Rhine Family Fast Ethernet Adapter (VT6105) +@@ -5446,7 +6258,7 @@ + 2208 PT890 Host Bridge + 2238 K8T890 Host Bridge + 2258 PT880 Host Bridge +- 2259 CN400/PM880 Host Bridge ++ 2259 CN333/CN400/PM880 CPU Host Bridge + 2269 KT880 Host Bridge + 2282 K8T800Pro Host Bridge + 2290 K8M890 Host Bridge +@@ -5454,12 +6266,13 @@ + 2296 P4M800 Host Bridge + 2308 PT894 Host Bridge + 2314 CN700/VN800/P4M800CE/Pro Host Bridge +- 2324 CX700 Host Bridge ++ 2324 CX700/VX700 Host Bridge + 2327 P4M890 Host Bridge + 2336 K8M890CE Host Bridge + 2340 PT900 Host Bridge + 2351 VT3351 Host Bridge +- 2364 P4M900 Host Bridge ++ 2353 VX800/VX820 Host Bus Control ++ 2364 CN896/VN896/P4M900 Host Bridge + 287a VT8251 PCI to PCI Bridge + 287b VT8251 Host Bridge + 287c VT8251 PCIE Root Port +@@ -5467,7 +6280,7 @@ + 287e VT8251 Ultra VLINK Controller + 3022 CLE266 + 3038 VT82xxxxx UHCI USB 1.1 Controller +- 0925 1234 USB Controller ++ 0925 1234 VA-502 Mainboard + 1019 0985 P6VXA Motherboard + 1019 0a81 L7VTA v1.0 Motherboard (KT400-8235) + 1043 8080 A7V333 motherboard +@@ -5476,8 +6289,10 @@ + 1043 80ed A7V600/K8V-X/A8V Deluxe motherboard + 1179 0001 Magnia Z310 + 1458 5004 GA-7VAX Mainboard ++ 1462 5901 KT6 Delta-FIS2R (MS-6590) + 1462 7020 K8T NEO 2 motherboard + 1462 7094 K8T Neo2-F V2.0 ++ 1462 7120 KT4AV motherboard + 1462 7181 K8MM3-V mainboard + 147b 1407 KV8-MAX3 motherboard + 182d 201d CN-029 USB2.0 4 port PCI Card +@@ -5487,11 +6302,14 @@ + 10bd 0000 VT86C100A Fast Ethernet Adapter + 1106 0100 VT86C100A Fast Ethernet Adapter + 1186 1400 DFE-530TX rev A +- 3044 IEEE 1394 Host Controller ++ 3044 VT6306 Fire II IEEE 1394 OHCI Link Layer Controller ++ 0010 0001 IEEE 1394 4port DCST 1394-3+1B + 1025 005a TravelMate 290 +- 1043 808a A8V Deluxe or A8N-VM CSM Mainboard ++ 1043 808a A8V/A8N/P4P800 series motherboard + 1458 1000 GA-7VT600-1394 Motherboard + 1462 207d K8NGM2 series motherboard ++ 1462 217d Aspire L250 ++ 1462 590d KT6 Delta-FIS2R (MS-6590) + 1462 702d K8T NEO 2 motherboard + 1462 971d MS-6917 + 3050 VT82C596 Power Management +@@ -5518,6 +6336,7 @@ + 15dd 7609 Onboard Audio + 3059 VT8233/A/8235/8237 AC97 Audio Controller + 1019 0a81 L7VTA v1.0 Motherboard (KT400-8235) ++ 1019 1877 K8M800-M2 (V2.0) onboard audio + 1043 8095 A7V8X Motherboard (Realtek ALC650 codec) + 1043 80a1 A7V8X-X Motherboard + 1043 80b0 A7V600/K8V-X/K8V Deluxe motherboard (ADI AD1980 codec [SoundMAX]) +@@ -5532,19 +6351,24 @@ + 1458 a002 GA-7VAX Onboard Audio (Realtek ALC650) + 1462 0080 K8T NEO 2 motherboard + 1462 3800 KT266 onboard audio ++ 1462 5901 KT6 Delta-FIS2R (MS-6590) + 1462 7181 K8MM3-V mainboard + 147b 1407 KV8-MAX3 motherboard ++ 1695 300c EP-8KRA2+ Mainboard + 1849 0850 ASRock 775Dual-880 Pro onboard audio (Realtek ALC850) ++ 1849 9739 P4VT8 Mainboard (C-Media CMI9739A codec) + 1849 9761 K7VT6 motherboard + 4005 4710 MSI K7T266 Pro2-RU (MSI-6380 v2) onboard audio (Realtek/ALC 200/200P) + a0a0 01b6 AK77-8XN onboard audio + a0a0 0342 AK86-L motherboard + 3065 VT6102 [Rhine-II] + 1043 80a1 A7V8X-X Motherboard ++ 1043 80ed A7V600-X Motherboard + 1106 0102 VT6102 [Rhine II] Embeded Ethernet Controller on VT8235 + 1186 1400 DFE-530TX rev A + 1186 1401 DFE-530TX rev B + 13b9 1421 LD-10/100AL PCI Fast Ethernet Adapter (rev.B) ++ 1462 7061 MS-7061 + 1462 7181 K8MM3-V mainboard + 147b 1c09 NV7 Motherboard + 1695 3005 VT6103 +@@ -5570,21 +6394,26 @@ + 1043 80ed A7V600/K8V-X/A8V Deluxe motherboard + 1297 f641 FX41 motherboard + 1458 5004 GA-7VAX Mainboard ++ 1462 5901 KT6 Delta-FIS2R (MS-6590) + 1462 7020 K8T NEO 2 motherboard + 1462 7094 K8T Neo2-F V2.0 ++ 1462 7120 KT4AV motherboard + 1462 7181 K8MM3-V mainboard + 147b 1407 KV8-MAX3 motherboard + 182d 201d CN-029 USB 2.0 4 port PCI Card + 1849 3104 K7VT6 motherboard +- 3106 VT6105 [Rhine-III] ++ 3106 VT6105/VT6106S [Rhine-III] ++ 1106 0105 VT6106S [Rhine-III] + 1186 1403 DFE-530TX rev C +- 3108 S3 Unichrome Pro VGA Adapter ++ 1186 1406 DFE-530TX+ rev F2 ++ 1186 1407 DFE-538TX ++ 3108 K8M800/K8N800/K8N800A [S3 UniChrome Pro] + 3109 VT8233C PCI to ISA Bridge + 3112 VT8361 [KLE133] Host Bridge + 3113 VPX/VPX2 PCI to PCI Bridge Controller + 3116 VT8375 [KM266/KL266] Host Bridge + 1297 f641 FX41 motherboard +- 3118 S3 Unichrome Pro VGA Adapter ++ 3118 CN400/PM800/PM880/PN800/PN880 [S3 UniChrome Pro] + 3119 VT6120/VT6121/VT6122 Gigabit Ethernet Adapter + 3122 VT8623 [Apollo CLE266] integrated CastleRock graphics + 3123 VT8623 [Apollo CLE266] +@@ -5596,22 +6425,26 @@ + 3149 VIA VT6420 SATA RAID Controller + 1043 80ed A7V600/K8V Deluxe/K8V-X/A8V Deluxe motherboard + 1458 b003 GA-7VM400AM(F) Motherboard ++ 1462 5901 KT6 Delta-FIS2R (MS-6590) + 1462 7020 K8T Neo 2 Motherboard + 1462 7094 K8T Neo2-F V2.0 ++ 1462 7181 K8MM3-V mainboard + 147b 1407 KV8-MAX3 motherboard + 147b 1408 KV7 + 1849 3149 K7VT6 motherboard + a0a0 04ad AK86-L motherboard + 3156 P/KN266 Host Bridge +- 3157 CX700M2 UniChrome PRO II Graphics ++ 3157 CX700/VX700 [S3 UniChrome Pro] + 3164 VT6410 ATA133 RAID controller + 1043 80f4 P4P800 Mainboard Deluxe ATX + 1462 7028 915P/G Neo2 +- 3168 VT8374 P4X400 Host Controller/AGP Bridge ++ 3168 P4X333/P4X400/PT800 AGP Bridge ++ 1849 3168 P4VT8 Mainboard + 3177 VT8235 ISA Bridge + 1019 0a81 L7VTA v1.0 Motherboard (KT400-8235) + 1043 808c A7V8X motherboard + 1043 80a1 A7V8X-X motherboard ++ 1106 0000 KT4AV motherboard + 1297 f641 FX41 motherboard + 1458 5001 GA-7VAX Mainboard + 1849 3177 K7VT2 motherboard +@@ -5621,6 +6454,7 @@ + 147b 1407 KV8-MAX3 motherboard + 3189 VT8377 [KT400/KT600 AGP] Host Bridge + 1043 807f A7V8X motherboard ++ 1106 0000 KT4AV motherboard (KT400A) + 1458 5000 GA-7VAX Mainboard + 1849 3189 K7VT6 motherboard + 3204 K8M800 Host Bridge +@@ -5635,32 +6469,34 @@ + 1458 5001 GA-7VT600 Motherboard + 147b 1407 KV8-MAX3 motherboard + 1849 3227 K7VT4 motherboard +- 3230 K8M890 [Chrome9] Integrated Video ++ 3230 K8M890CE/K8N890CE [Chrome 9] + 3238 K8T890 Host Bridge + 3249 VT6421 IDE RAID Controller +- 324a CX700 PCI to PCI Bridge +- 324b CX700 Host Bridge +- 324e CX700 Internal Module Bus ++ 324a CX700/VX700 PCI to PCI Bridge ++ 324b CX700/VX700 Host Bridge ++ 324e CX700/VX700 Internal Module Bus ++ 3253 VIA VT6655 WiFi Adapter, 802.11a/b/g + 3258 PT880 Host Bridge +- 3259 CN400/PM880 Host Bridge ++ 3259 CN333/CN400/PM880 Host Bridge + 3260 VIA Chrome9 HC IGP + 3269 KT880 Host Bridge + 3282 K8T800Pro Host Bridge + 3287 VT8251 PCI to ISA Bridge +- 3288 VIA High Definition Audio Controller ++ 3288 VT1708/A [Azalia HDAC] (VIA High Definition Audio Controller) + 3290 K8M890 Host Bridge + 3296 P4M800 Host Bridge +- 3324 CX700 Host Bridge ++ 3324 CX700/VX700 Host Bridge + 3327 P4M890 Host Bridge + 3336 K8M890CE Host Bridge + 3337 VT8237A PCI to ISA Bridge + 3340 PT900 Host Bridge +- 3343 UniChrome Pro IGP [VIA P4M890 Chipset] +- 3344 UniChrome Pro IGP ++ 3343 P4M890 [S3 UniChrome Pro] ++ 3344 CN700/P4M800 Pro/P4M800 CE/VN800 [S3 UniChrome Pro] + 3349 VT8251 AHCI/SATA 4-Port Controller + 3351 VT3351 Host Bridge +- 3364 P4M900 Host Bridge +- 3371 Chrome9 HC IGP ++ 3353 VX800 PCI to PCI Bridge ++ 3364 CN896/VN896/P4M900 Host Bridge ++ 3371 CN896/VN896/P4M900 [Chrome 9 HC] + 3372 VT8237S PCI to ISA Bridge + 337a VT8237A PCI to PCI Bridge + 337b VT8237A Host Bridge +@@ -5669,7 +6505,7 @@ + 4208 PT890 Host Bridge + 4238 K8T890 Host Bridge + 4258 PT880 Host Bridge +- 4259 CN400/PM880 Host Bridge ++ 4259 CN333/CN400/PM880 Host Bridge + 4269 KT880 Host Bridge + 4282 K8T800Pro Host Bridge + 4290 K8M890 Host Bridge +@@ -5677,34 +6513,38 @@ + 4296 P4M800 Host Bridge + 4308 PT894 Host Bridge + 4314 CN700/VN800/P4M800CE/Pro Host Bridge +- 4324 CX700 Host Bridge ++ 4324 CX700/VX700 Host Bridge + 4327 P4M890 Host Bridge + 4336 K8M890CE Host Bridge + 4340 PT900 Host Bridge + 4351 VT3351 Host Bridge +- 4364 P4M900 Host Bridge ++ 4353 VX800/VX820 Power Management Control ++ 4364 CN896/VN896/P4M900 Host Bridge + 5030 VT82C596 ACPI [Apollo PRO] + 5208 PT890 I/O APIC Interrupt Controller + 5238 K8T890 I/O APIC Interrupt Controller + 5290 K8M890 I/O APIC Interrupt Controller + 5308 PT894 I/O APIC Interrupt Controller +- 5324 CX700M2 IDE ++ 5324 VX800 Serial ATA and EIDE Controller + 5327 P4M890 I/O APIC Interrupt Controller + 5336 K8M890CE I/O APIC Interrupt Controller + 5340 PT900 I/O APIC Interrupt Controller + 5351 VT3351 I/O APIC Interrupt Controller +- 5364 P4M900 I/O APIC Interrupt Controller ++ 5353 VX800/VX820 APIC and Central Traffic Control ++ 5364 CN896/VN896/P4M900 I/O APIC Interrupt Controller + 6100 VT85C100A [Rhine II] + 6287 SATA RAID Controller + 6327 P4M890 Security Device +- 6364 P4M900 Security Device ++ 6353 VX800/VX820 Scratch Registers ++ 6364 CN896/VN896/P4M900 Security Device + 7204 K8M800 Host Bridge +- 7205 VT8378 [S3 UniChrome] Integrated Video ++ 7205 KM400/KN400/P4M800 [S3 UniChrome] + 1458 d000 Gigabyte GA-7VM400(A)M(F) Motherboard ++ 1462 7061 MS-7061 + 7208 PT890 Host Bridge + 7238 K8T890 Host Bridge + 7258 PT880 Host Bridge +- 7259 CN400/PM880 Host Bridge ++ 7259 CN333/CN400/PM880 Host Bridge + 7269 KT880 Host Bridge + 7282 K8T800Pro Host Bridge + 7290 K8M890 Host Bridge +@@ -5712,17 +6552,21 @@ + 7296 P4M800 Host Bridge + 7308 PT894 Host Bridge + 7314 CN700/VN800/P4M800CE/Pro Host Bridge +- 7324 CX700 Host Bridge ++ 7324 CX700/VX700 Host Bridge + 7327 P4M890 Host Bridge + 7336 K8M890CE Host Bridge + 7340 PT900 Host Bridge + 7351 VT3351 Host Bridge +- 7364 P4M900 Host Bridge ++ 7353 VX800/VX820 North-South Module Interface Control ++ 7364 CN896/VN896/P4M900 Host Bridge + 8231 VT8231 [PCI-to-ISA Bridge] + 8235 VT8235 ACPI + 8305 VT8363/8365 [KT133/KM133 AGP] +- 8324 CX700 PCI to ISA Bridge ++ 8324 CX700/VX700 PCI to ISA Bridge ++ 8353 VX800/VX820 Bus Control and Power Management + 8391 VT8371 [KX133 AGP] ++ 8400 MVP4 ++ 8500 KLE133/PLE133/PLE133T + 8501 VT8501 [Apollo MVP4 AGP] + 8596 VT82C596 [Apollo PRO AGP] + 8597 VT82C597 [Apollo VP3 AGP] +@@ -5732,10 +6576,17 @@ + 8605 VT8605 [PM133 AGP] + 8691 VT82C691 [Apollo Pro] + 8693 VT82C693 [Apollo Pro Plus] PCI Bridge ++ 8a25 PL133/PL133T [S3 ProSavage] ++ 8a26 KL133/KL133A/KM133/KM133A [S3 ProSavage] ++ 8d01 PN133/PN133T [S3 Twister] ++ 8d04 KM266/P4M266/P4M266A/P4N266 [S3 ProSavageDDR] ++ 9530 Secure Digital Memory Card Controller ++ 95d0 SDIO Host Controller + a208 PT890 PCI to PCI Bridge Controller + a238 K8T890 PCI to PCI Bridge Controller + a327 P4M890 PCI to PCI Bridge Controller +- a364 P4M900 PCI to PCI Bridge Controller ++ a353 VX800/VX820 South-North Module Interface Control ++ a364 CN896/VN896/P4M900 PCI to PCI Bridge Controller + b091 VT8633 [Apollo Pro266 AGP] + b099 VT8366/A/7 [Apollo KT266/A/333 AGP] + b101 VT8653 AGP Bridge +@@ -5747,15 +6598,16 @@ + b168 VT8235 PCI Bridge + b188 VT8237 PCI bridge [K8T800/K8T890 South] + 147b 1407 KV8-MAX3 motherboard +- b198 VT8237 PCI Bridge ++ b198 VT8237/VX700 PCI Bridge + b213 VPX/VPX2 I/O APIC Interrupt Controller + b999 [K8T890 North / VT8237 South] PCI Bridge + c208 PT890 PCI to PCI Bridge Controller + c238 K8T890 PCI to PCI Bridge Controller + c327 P4M890 PCI to PCI Bridge Controller + c340 PT900 PCI to PCI Bridge Controller +- c364 P4M900 PCI to PCI Bridge Controller +- d104 VT8237 Integrated Fast Ethernet Controller ++ c353 VX800/VX820 PCI Express Root Port ++ c364 CN896/VN896/P4M900 PCI to PCI Bridge Controller ++ d104 VT8237R USB UDCI Controller + d208 PT890 PCI to PCI Bridge Controller + d213 VPX/VPX2 PCI to PCI Bridge Controller + d238 K8T890 PCI to PCI Bridge Controller +@@ -5763,9 +6615,11 @@ + e208 PT890 PCI to PCI Bridge Controller + e238 K8T890 PCI to PCI Bridge Controller + e340 PT900 PCI to PCI Bridge Controller ++ e353 VX800/VX820 PCI Express Root Port + f208 PT890 PCI to PCI Bridge Controller + f238 K8T890 PCI to PCI Bridge Controller + f340 PT900 PCI to PCI Bridge Controller ++ f353 VX800/VX820 PCI Express Root Port + 1107 Stratus Computers + 0576 VIA VT82C570MV [Apollo] (Wrong vendor ID!) + 1108 Proteon, Inc. +@@ -5819,6 +6673,8 @@ + 103c 1207 EN-1207D Fast Ethernet Adapter + 1113 1211 EN-1207D Fast Ethernet Adapter + 1216 EN-1216 Ethernet Adapter ++ 1113 1216 EN1207F series PCI Fast Ethernet Adapter ++ 1113 2220 EN2220A Cardbus Fast Ethernet Adapter + 1113 2242 EN2242 10/100 Ethernet Mini-PCI Card + 111a 1020 SpeedStream 1020 PCI 10/100 Ethernet Adaptor [EN-1207F-TX ?] + 1217 EN-1217 Ethernet Adapter +@@ -5828,6 +6684,7 @@ + 9511 21x4x DEC-Tulip compatible Fast Ethernet + d301 CPWNA100 (Philips wireless PCMCIA) + ec02 SMC 1244TX v3 ++ ee23 SMCWPCIT-G 108Mbps Wireless PCI adapter + 1114 Atmel Corporation + 0506 at76c506 802.11b Wireless Network Adaptor + 1115 3D Labs +@@ -5939,6 +6796,46 @@ + 0003 IDT77222/77252 155Mbps ATM MICRO ABR SAR Controller + 0004 IDT77V252 155Mbps ATM MICRO ABR SAR Controller + 0005 IDT77V222 155Mbps ATM MICRO ABR SAR Controller ++ 8018 PES12N3A PCI Express Switch ++ 801c PES24N3A PCI Express Switch ++ 8028 PES4T4 PCI Express Switch ++ 802b PES8T5A PCI Express Switch ++ 802c PES16T4 PCI Express Switch ++ 802d PES16T7 PCI Express Switch ++ 802e PES24T6 PCI Express Switch ++ 802f PES32T8 PCI Express Switch ++ 8032 PES48T12 PCI Express Switch ++ 8034 PES16/22/34H16 PCI Express Switch ++ 8035 PES32H8 PCI Express Switch ++ 8036 PES48H12 PCI Express Switch ++ 8037 PES64H16 PCI Express Switch ++ 8039 PES3T3 PCI Express Switch ++ 803a PES4T4 PCI Express Switch ++ 803c PES5T5 PCI Express Switch ++ 803d PES6T5 PCI Express Switch ++ 8048 PES8NT2 PCI Express Switch ++ 8049 PES8NT2 PCI Express Switch ++ 804a PES8NT2 PCI Express Internal NTB ++ 804b PES8NT2 PCI Express External NTB ++ 804c PES16NT2 PCI Express Switch ++ 804d PES16NT2 PCI Express Switch ++ 804e PES16NT2 PCI Express Internal NTB ++ 804f PES16NT2 PCI Express External NTB ++ 8058 PES12NT3 PCI Express Switch ++ 8059 PES12NT3 PCI Express Switch ++ 805a PES12NT3 PCI Express Internal NTB ++ 805b PES12NT3 PCI Express External NTB ++ 805c PES24NT3 PCI Express Switch ++ 805d PES24NT3 PCI Express Switch ++ 805e PES24NT3 PCI Express Internal NTB ++ 805f PES24NT3 PCI Express External NTB ++ 8060 PES16T4G2 PCI Express Gen2 Switch ++ 8061 PES12T3G2 PCI Express Gen2 Switch ++ 8068 PES6T6G2 PCI Express Gen2 Switch ++ 806a PES24T3G2 PCI Express Gen2 Switch ++ 806c PES16T4A/4T4G2 PCI Express Gen2 Switch ++ 806e PES24T6G2 PCI Express Gen2 Switch ++ 806f HIO524G2 PCI Express Gen2 Switch + 111e Eldec + 111f Precision Digital Images + 4a47 Precision MX Video engine interface +@@ -5977,6 +6874,7 @@ + 1775 c200 C2K onboard USB 2.0 host controller + 3400 SmartPCI56(UCB1500) 56K Modem + 5400 TriMedia TM1000/1100 ++ 12ca 0000 BlueICE + 5402 TriMedia TM-1300 + 1244 0f00 Fritz!Card DSL + 5405 TriMedia TM1500 +@@ -5984,6 +6882,7 @@ + 7130 SAA7130 Video Broadcast Decoder + 102b 48d0 Matrox CronosPlus + 1048 226b ELSA EX-VISION 300TV ++ 107d 6655 WinFast DTV1000S + 1131 2001 10MOONS PCI TV CAPTURE CARD + 1131 2005 Techcom (India) TV Tuner Card (SSD-TV-670) + 1461 050c Nagase Sangyo TransGear 3000TV +@@ -5994,13 +6893,16 @@ + 185b c100 Compro VideoMate TV PVR/FM + 185b c901 Videomate DVB-T200 + 5168 0138 LifeView FlyVIDEO2000 +- 7133 SAA7133/SAA7135 Video Broadcast Decoder ++ 7133 SAA7131/SAA7133/SAA7135 Video Broadcast Decoder + 0000 4091 Beholder BeholdTV 409 FM ++# Deleting vendor name after rereading submit instructions ++ 0070 6701 WinTV HVR-1110 + 1019 4cb5 Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM) + 1043 0210 FlyTV mini Asus Digimatrix + 1043 4843 ASUS TV-FM 7133 + 1043 4845 TV-FM 7135 + 1043 4862 P7131 Dual ++ 1043 4876 My Cinema-P7131 Hybrid + 1131 0000 KWorld V-Stream Studio TV Terminator + 1131 2001 Proteus Pro [philips reference design] + 1131 2018 Tiger reference design +@@ -6008,19 +6910,24 @@ + 11bd 002b PCTV Stereo + 11bd 002e PCTV 110i (saa7133) + 12ab 0800 PURPLE TV ++ 13c2 2804 Technotrend Budget T-3000 Hybrid + 1421 0335 Instant TV DVB-T Cardbus + 1421 1370 Instant TV (saa7135) + 1435 7330 VFG7330 + 1435 7350 VFG7350 + 1461 1044 AVerTVHD MCE A180 ++ 1461 4836 M10D Hybrid DVBT + 1461 a14b AVerTV Studio 509 ++ 1461 f01d DVB-T Super 007 + 1461 f31f Avermedia AVerTV GO 007 FM +- 1462 6231 TV@Anywhere plus ++ 1461 f936 Hybrid+FM PCI (rev A16D) ++ 1462 6231 TV@nywhere Plus + 1489 0214 LifeView FlyTV Platinum FM + 14c0 1212 LifeView FlyTV Platinum Mini2 + 153b 1160 Cinergy 250 PCI TV + 153b 1162 Terratec Cinergy 400 mobile + 17de 7350 ATSC 110 Digital / Analog HDTV Tuner ++ 17de 7352 ATSC 115 Digital / Analog HDTV Tuner + 185b c100 VideoMate TV + 185b c900 VideoMate T750 + 5168 0306 LifeView FlyDVB-T DUO +@@ -6057,10 +6964,12 @@ + 185b c900 Videomate DVB-T300 + 1894 a006 KNC One TV-Station DVR + 1894 fe01 KNC One TV-Station RDS / Typhoon TV Tuner RDS ++ 5168 0138 FLY TV PRIME 34FM + 7145 SAA7145 + 7146 SAA7146 + 110a 0000 Fujitsu/Siemens DVB-C card rev1.5 + 110a ffff Fujitsu/Siemens DVB-C card rev1.5 ++ 1124 2581 Leutron Vision PicPort + 1131 4f56 KNC1 DVB-S Budget + 1131 4f60 Fujitsu-Siemens Activy DVB-S Budget Rev AL + 1131 4f61 Activy DVB-S Budget Rev GR +@@ -6077,6 +6986,7 @@ + 13c2 0006 Technotrend/Hauppauge DVB card rev1.3 or rev1.6 + 13c2 0008 Technotrend/Hauppauge DVB-T + 13c2 000a Octal/Technotrend DVB-C for iTV ++ 13c2 000e Technotrend/Hauppauge DVB card rev2.3 + 13c2 1003 Technotrend-Budget/Hauppauge WinTV-NOVA-S DVB card + 13c2 1004 Technotrend-Budget/Hauppauge WinTV-NOVA-C DVB card + 13c2 1005 Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card +@@ -6089,12 +6999,14 @@ + 13c2 1018 DVB S-1401 + 13c2 1019 S2-3200 + 13c2 1102 Technotrend/Hauppauge DVB card rev2.1 ++ 153b 1155 Cinergy 1200 DVB-S + 153b 1156 Terratec Cynergy 1200C ++ 153b 1157 Cinergy 1200 DVB-T + 1894 0020 KNC One DVB-C V1.0 + 9730 SAA9730 Integrated Multimedia and Peripheral Controller + 1131 0000 Integrated Multimedia and Peripheral Controller + 1132 Mitel Corp. +-1133 Eicon Networks Corporation ++1133 Dialogic Corporation + 7901 EiconCard S90 + 7902 EiconCard S90 + 7911 EiconCard S91 +@@ -6116,56 +7028,67 @@ + e008 Diva CT Lite S/T PCI + e009 Diva CT Lite U PCI + e00a Diva ISDN+V.90 PCI +- e00b Diva 2.02 PCI S/T ++ e00b Diva ISDN PCI 2.02 + e00c Diva 2.02 PCI U +- e00d Diva ISDN Pro 3.0 PCI ++ e00d Diva Pro 3.0 PCI + e00e Diva ISDN+CT S/T PCI Rev 2 + e010 Diva Server BRI-2M PCI + 110a 0021 Fujitsu Siemens ISDN S0 + e011 Diva Server BRI S/T Rev 2 + e012 Diva Server 4BRI-8M PCI +- e013 Diva Server 4BRI Rev 2 +- 1133 1300 Diva Server V-4BRI-8 +- 1133 e013 Diva Server 4BRI-8M 2.0 PCI ++ e013 4BRI ++ 1133 1300 Diva V-4BRI-8 PCI v2 ++ 1133 e013 Diva 4BRI-8 PCI v2 + e014 Diva Server PRI-30M PCI +- e015 DIVA Server PRI Rev 2 +- 1133 e015 Diva Server PRI 2.0 PCI ++ e015 Diva PRI PCI v2 + e016 Diva Server Voice 4BRI PCI + e017 Diva Server Voice 4BRI Rev 2 + 1133 e017 Diva Server Voice 4BRI-8M 2.0 PCI +- e018 Diva Server BRI-2M 2.0 PCI +- 1133 1800 Diva Server V-BRI-2 +- 1133 e018 Diva Server BRI-2M 2.0 PCI ++ e018 BRI ++ 1133 1800 Diva V-BRI-2 PCI v2 ++ 1133 e018 Diva BRI-2 PCI v2 + e019 Diva Server Voice PRI Rev 2 + 1133 e019 Diva Server Voice PRI 2.0 PCI +- e01a Diva Server 2FX ++ e01a Diva BRI-2FX PCI v2 + e01b Diva Server Voice BRI-2M 2.0 PCI + 1133 e01b Diva Server Voice BRI-2M 2.0 PCI +- e01c Diva Server PRI Rev 3 +- 1133 1c01 Diva Server PRI/E1/T1-8 +- 1133 1c02 Diva Server PRI/T1-24 +- 1133 1c03 Diva Server PRI/E1-30 +- 1133 1c04 Diva Server PRI/E1/T1 +- 1133 1c05 Diva Server V-PRI/T1-24 +- 1133 1c06 Diva Server V-PRI/E1-30 ++ e01c PRI ++ 1133 1c01 Diva PRI/E1/T1-8 PCI v3 ++ 1133 1c02 Diva PRI/T1-24 PCI(e) v3 ++ 1133 1c03 Diva PRI/E1-30 PCI(e) v3 ++ 1133 1c04 Diva PRI/E1/T1-CTI PCI(e) v3 ++ 1133 1c05 Diva V-PRI/T1-24 PCI(e) v3 ++ 1133 1c06 Diva V-PRI/E1-30 PCI(e) v3 + 1133 1c07 Diva Server PRI/E1/T1-8 Cornet NQ + 1133 1c08 Diva Server PRI/T1-24 Cornet NQ + 1133 1c09 Diva Server PRI/E1-30 Cornet NQ + 1133 1c0a Diva Server PRI/E1/T1 Cornet NQ + 1133 1c0b Diva Server V-PRI/T1-24 Cornet NQ + 1133 1c0c Diva Server V-PRI/E1-30 Cornet NQ +- e01e Diva Server 2PRI +- e020 Diva Server 4PRI +- e022 Diva Server Analog-2P +- e024 Diva Server Analog-4P +- 1133 2400 Diva Server V-Analog-4P +- 1133 e024 Diva Server Analog-4P +- e028 Diva Server Analog-8P +- 1133 2800 Diva Server V-Analog-8P +- 1133 e028 Diva Server Analog-8P +- e02a Diva Server IPM-300 +- e02c Diva Server IPM-600 +- e032 Diva BRI-2 PCIe r1 ++ e01e 2PRI ++ 1133 1e01 Diva 2PRI/E1/T1-60 PCI v1 ++ 1133 e01e Diva V-2PRI/E1/T1-60 PCI v1 ++ e020 4PRI ++ 1133 2001 Diva 4PRI/E1/T1-120 PCI v1 ++ 1133 e020 Diva V-4PRI/E1/T1-120 PCI v1 ++ e022 Analog-2 ++ 1133 2200 Diva V-Analog-2 PCI v1 ++ 1133 e022 Diva Analog-2 PCI v1 ++ e024 Analog-4 ++ 1133 2400 Diva V-Analog-4 PCI v1 ++ 1133 e024 Diva Analog-4 PCI v1 ++ e028 Analog-8 ++ 1133 2800 Diva V-Analog-8 PCI v1 ++ 1133 e028 Diva Analog-8 PCI v1 ++ e02a Diva IPM-300 PCI v1 ++ e02c Diva IPM-600 PCI v1 ++ e02e 4BRI ++ 1133 2e01 Diva V-4BRI-8 PCIe v2 ++ 1133 e02e Diva 4BRI-8 PCIe v2 ++ e032 BRI ++ 1133 3201 Diva V-BRI-2 PCIe v2 ++ 1133 e032 Diva BRI-2 PCIe v2 ++ e034 Diva BRI-CTI PCI v2 + 1134 Mercury Computer Systems + 0001 Raceway Bridge + 0002 Dual PCI to RapidIO Bridge +@@ -6331,6 +7254,12 @@ + 0034 AccelePort 2r 920 + 0035 DataFire DSP T1/E1/PRI cPCI + 0040 AccelePort Xp ++# AccelePort Xp 2 ports ++ 114f 0042 AccelePort 2p PCI ++# AccelePort Xp 4 ports ++ 114f 0043 AccelePort 4p PCI ++# AccelePort Xp 8 ports ++ 114f 0044 AccelePort 8p PCI + 0042 AccelePort 2p + 0043 AccelePort 4p + 0044 AccelePort 8p +@@ -6346,6 +7275,9 @@ + 00c9 Digi Neo 2 DB9 PRI + 00ca Digi Neo 2 RJ45 + 00cb Digi Neo 2 RJ45 PRI ++ 00cc Digi Neo 1 422 ++ 00cd Digi Neo 1 422 485 ++ 00ce Digi Neo 2 422 485 + 00d0 ClassicBoard 4 422 + 00d1 ClassicBoard 8 422 + 6001 Avanstar +@@ -6431,6 +7363,7 @@ + 0015 CMIC-GC Host Bridge + 0016 CMIC-GC Host Bridge + 0017 GCNB-LE Host Bridge ++ 0031 HT1100 HPX0 HT Host Bridge + 0036 BCM5785 [HT1000] PCI/PCI-X Bridge + 0101 CIOB-X2 PCI-X I/O Bridge + 0103 EPB PCI-Express to PCI-X Bridge +@@ -6460,6 +7393,7 @@ + 0214 BCM5785 [HT1000] IDE + 0217 CSB6 IDE Controller + 1028 4134 Poweredge SC600 ++ 021b HT1100 HD Audio + 0220 OSB4/CSB5 OHCI USB Controller + 4c53 1080 CT8 mainboard + 0221 CSB6 OHCI USB Controller +@@ -6479,6 +7413,17 @@ + 024a BCM5785 [HT1000] SATA (Native SATA Mode) + # The device starts as 024A, and changes to 024B if set to PATA mode in BIOS + 024b BCM5785 [HT1000] SATA (PATA/IDE Mode) ++ 0406 HT1100 PCI-X Bridge ++ 0408 HT1100 Legacy Device ++ 040a HT1100 ISA-LPC Bridge ++ 0410 HT1100 SATA Controller (Native SATA Mode) ++ 0411 HT1100 SATA Controller (PATA / IDE Mode) ++ 0412 HT1100 USB OHCI Controller ++ 0414 HT1100 USB EHCI Controller ++ 0416 HT1100 USB EHCI Controller (with Debug Port) ++ 0420 HT1100 PCI-Express Bridge ++ 0421 HT1100 SAS/SATA Controller ++ 0422 HT1100 PCI-Express Bridge + 1167 Mutoh Industries Inc + 1168 Thine Electronics Inc + 1169 Centre for Development of Advanced Computing +@@ -6546,6 +7491,7 @@ + 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP + 104d 814e VAIO GRZ390Z + 10f7 8338 Panasonic CF-Y5 laptop ++ 144d c005 X10 Laptop + 144d c00c P30/P35 notebook + 14ef 0220 PCD-RP-220S + 17aa 201c Thinkpad X60s +@@ -6562,12 +7508,14 @@ + 1014 0511 ThinkPad A/T/X Series + 1028 014f Latitude X300 laptop + 1028 0188 Inspiron 6000 laptop ++ 144d c005 X10 Laptop + 144d c00c P30/P35 notebook + 17aa 201e Thinkpad X60s + 0554 R5C554 + 0575 R5C575 SD Bus Host Adapter + 0576 R5C576 SD Bus Host Adapter + 0592 R5C592 Memory Stick Bus Host Adapter ++ 103c 30b7 Presario V6133CL + 1043 1967 V6800V + 144d c018 X20 IV + 0811 R5C811 +@@ -6576,13 +7524,18 @@ + 1014 0598 Thinkpad Z60m + 1028 0188 Inspiron 6000 laptop + 1028 01a2 Inspiron 9200 ++ 103c 30b7 Presario V6133CL + 1043 1967 ASUS V6800V + 10f7 8338 Panasonic CF-Y5 laptop + 144d c018 X20 IV + 17aa 201d Thinkpad X60s + 0832 R5C832 IEEE 1394 Controller ++ 103c 30b7 Presario V6133CL + 0841 R5C841 CardBus/SD/SDIO/MMC/MS/MSPro/xD/IEEE1394 ++ 0843 R5C843 MMC Host Controller ++ 103c 30b7 Presario V6133CL + 0852 xD-Picture Card Controller ++ 103c 30b7 Presario V6133CL + 1043 1967 V6800V + 1181 Telmatics International + 1183 Fujikura Ltd +@@ -6618,11 +7571,16 @@ + 3a13 AirPlus DWL-G520 Wireless PCI Adapter(rev.B) + 3a14 AirPremier DWL-AG530 Wireless PCI Adapter + 3a63 AirXpert DWL-AG660 Wireless Cardbus Adapter ++ 3c00 D-link DWL-G650X + 4000 DL2000-based Gigabit Ethernet ++ 4001 DGE-550SX PCI-X Gigabit Ethernet Adapter + 4300 DGE-528T Gigabit Ethernet Adapter + # There are at least 3 revisions of this adapter; 4800 is board revision A1 as far as I can tell, revision B1 is 4c00. + 4800 DGE-530T Gigabit Ethernet Adapter (rev 11) ++ 4b00 DGE-560T PCI Express Gigabit Ethernet Adapter + 4b01 DGE-530T Gigabit Ethernet Adapter (rev 11) ++ 4b02 DGE-560SX PCI Express Gigabit Ethernet Adapter ++ 4b03 DGE-550T Gigabit Ethernet Adapter V.B1 + 4c00 Gigabit Ethernet Adapter + 1186 4c00 DGE-530T Gigabit Ethernet Adapter + 8400 D-Link DWL-650+ CardBus PC Card +@@ -6715,8 +7673,11 @@ + 1fa6 Marvell W8300 802.11 Adapter + 1fa7 88W8310 and 88W8000G [Libertas] 802.11g client chipset + 1faa 88w8335 [Libertas] 802.11b/g Wireless +- 1385 4e00 WG511 v2 54MBit/ Wireless PC-Card ++ 1385 4e00 WG511v2 54 Mbps Wireless PC Card ++ 1385 6b00 WG311v3 802.11g Wireless PCI Adapter + 2a01 88W8335 [Libertas] 802.11b/g Wireless ++ 2a02 88W8361 [TopDog] 802.11n Wireless ++ 4101 OLPC Cafe Controller Secure Digital Controller + 4320 88E8001 Gigabit Ethernet Controller + 1019 0f38 Marvell 88E8001 Gigabit Ethernet Controller (ECS) + 1019 8001 Marvell 88E8001 Gigabit Ethernet Controller (ECS) +@@ -6782,6 +7743,10 @@ + 1854 001e Marvell 88E8036 Fast Ethernet Controller (LGE) + 1854 0020 Marvell 88E8036 Fast Ethernet Controller (LGE) + 4352 88E8038 PCI-E Fast Ethernet Controller ++ 4353 88E8039 PCI-E Fast Ethernet Controller ++ 4354 88E8040 PCI-E Fast Ethernet Controller ++ 4356 88EC033 Ethernet Controller ++ 435a 88E8048 PCI-E Fast Ethernet Controller + 4360 88E8052 PCI-E ASF Gigabit Ethernet Controller + 1043 8134 Marvell 88E8052 Gigabit Ethernet Controller (Asus) + 107b 4009 Marvell 88E8052 Gigabit Ethernet Controller (Wistron) +@@ -6838,6 +7803,13 @@ + a0a0 0506 Marvell 88E8053 Gigabit Ethernet Controller (Aopen) + 4363 88E8055 PCI-E Gigabit Ethernet Controller + 4364 88E8056 PCI-E Gigabit Ethernet Controller ++ 4365 88E8070 based Ethernet Controller ++ 4366 88EC036 PCI-E Gigabit Ethernet Controller ++ 4367 88EC032 Ethernet Controller ++ 4368 88EC034 Ethernet Controller ++ 4369 88EC042 Ethernet Controller ++ 436a Marvell Yukon 88E8058 PCI-E Gigabit Ethernet Controller ++ 436b 88E8071 PCI-E Gigabit Ethernet Controller + 4611 GT-64115 System Controller + 4620 GT-64120/64120A/64121A System Controller + 4801 GT-48001 +@@ -6847,8 +7819,10 @@ + 5080 MV88SX5080 8-port SATA I PCI-X Controller + 5081 MV88SX5081 8-port SATA I PCI-X Controller + 6041 MV88SX6041 4-port SATA II PCI-X Controller ++ 6042 88SX6042 PCI-X 4-Port SATA-II + 6081 MV88SX6081 8-port SATA II PCI-X Controller + 6101 88SE6101 single-port PATA133 interface ++ 6121 88SE6121 SATA II Controller + 6141 88SE614x SATA II PCI-E controller + 6145 88SE6145 SATA II PCI-E controller + 6450 64560 System Controller +@@ -6856,6 +7830,7 @@ + 6480 MV64460/64461/64462 System Controller + 1775 c200 C2K CompactPCI single board computer + 6485 MV64460/64461/64462 System Controller, Revision B ++ 7042 88SX7042 PCI-e 4-port SATA-II + f003 GT-64010 Primary Image Piranha Image Generator + 11ac Canon Information Systems Research Aust. + 11ad Lite-On Communications Inc +@@ -6993,7 +7968,6 @@ + 1033 80a8 Versa Note Vxi + 144f 4005 Magnia SG20 + 1468 0450 Evo N600c +- 4005 144f LifeBook C Series + 0451 LT WinModem + 0452 LT WinModem + 0453 LT WinModem +@@ -7138,7 +8112,10 @@ + 9881 RL100TX Fast Ethernet + 11f7 Scientific Atlanta + 11f8 PMC-Sierra Inc. ++ 7364 PM7364 [FREEDM - 32 Frame Engine & Datalink Mgr] + 7375 PM7375 [LASAR-155 ATM SAR] ++ 7384 PM7384 [FREEDM - 84P672 Frm Engine & Datalink Mgr] ++ 8000 PM8000 [SPC - SAS Protocol Controller] + 11f9 I-Cube Inc + 11fa Kasan Electronics Company, Ltd. + 11fb Datel Inc +@@ -7160,6 +8137,15 @@ + 000d RocketModem 4-port + 000e RocketPort Plus 2 port RS232 + 000f RocketPort Plus 2 port RS422 ++ 0040 RocketPort Infinity Octa, 8port, RJ45 ++ 0041 RocketPort Infinity 32port, External Interface ++ 0042 RocketPort Infinity 8port, External Interface ++ 0043 RocketPort Infinity 16port, External Interface ++ 0044 RocketPort Infinity Quad, 4port, DB ++ 0045 RocketPort Infinity Octa, 8port, DB ++ 0047 RocketPort Infinity 4port, RJ45 ++ 004f RocketPort Infinity 2port, SMPTE ++ 0052 RocketPort Infinity Octa, 8port, SMPTE + 0801 RocketPort UPCI 32 port w/external I/F + 0802 RocketPort UPCI 8 port w/external I/F + 0803 RocketPort UPCI 16 port w/external I/F +@@ -7239,6 +8225,7 @@ + 7130 Integrated MS/xD Controller + 7134 OZ711MP1/MS1 MemoryCardBus Controller + 7135 Cardbus bridge ++ 7136 OZ711SP1 Memory CardBus Controller + 71e2 OZ711E2 SmartCardBus Controller + 7212 OZ711M2 4-in-1 MemoryCardBus Controller + 7213 OZ6933E CardBus Controller +@@ -7302,6 +8289,11 @@ + 1220 Ariel Corporation + 1220 AMCC 5933 TMS320C80 DSP/Imaging board + 1221 Contec Co., Ltd ++ 9172 PO-64L(PCI)H [Isolated Digital Output Board for PCI] ++ 91a2 PO-32L(PCI)H [Isolated Digital Output Board for PCI] ++ 91c3 DA16-16(LPCI)L [Un-insulated highly precise analog output board for Low Profile PCI] ++ b152 DIO-96D2-LPCI ++ c103 ADA16-32/2(PCI)F [High-Speed Analog I/O Board for PCI] + 1222 Ancor Communications, Inc. + 1223 Artesyn Communication Products + 0003 PM/Link +@@ -7434,7 +8426,7 @@ + 0640 Aries 16000P + 125d ESS Technology + 0000 ES336H Fax Modem (Early Model) +- 1948 Solo? ++ 1948 ES1948 Maestro-1 + 1968 ES1968 Maestro 2 + 1028 0085 ES1968 Maestro-2 PCI + 1033 8051 ES1968 Maestro-2 Audiodrive +@@ -7495,6 +8487,7 @@ + 10b8 a835 SMC2835W V2 Wireless Cardbus Adapter + 1113 4203 WN4201B + 1113 8201 T-Com T-Sinus 154pcicard Wireless PCI Adapter ++ 1113 b301 T-Sinus 154card Cardbus + 1113 ee03 SMC2802W V2 Wireless PCI Adapter [ISL3886] + 1113 ee08 SMC2835W V3 EU Wireless Cardbus Adapter + 1186 3202 DWL-G650 A1 Wireless Adapter +@@ -7621,6 +8614,7 @@ + 1278 Transtech Parallel Systems Ltd. + 0701 TPE3/TM3 PowerPC Node + 0710 TPE5 PowerPC PCI board ++ 1101 TS-C43 card with 4 ADSP-TS101 processors + 1279 Transmeta Corporation + 0060 TM8000 Northbridge + 0061 TM8000 AGP bridge +@@ -7868,6 +8862,7 @@ + 12b9 00ab USR 56k Internal Voice Modem (Model 5609) + 12b9 00ac USR 56k Internal Voice Modem (Model 3298) + 12b9 00ad USR 56k Internal FAX Modem (Model 5610) ++ 12b9 baba USR 56K Internal Voice Modem 3CP3298-DEL (Model 5601) [Hawk] + 12ba BittWare, Inc. + 12bb Nippon Unisoft Corporation + 12bc Array Microsystems +@@ -7920,6 +8915,14 @@ + 0086 THR2 Multi-scale Thresholder + 12c6 Mitani Corporation + 12c7 Dialogic Corp ++# 12 Line, 6 port, CT-BUS/SC-BUS, loopstart FXO adaptor. ++ 0546 Springware D/120JCT-LS ++# 24 Channel, 1 Port, CT-BUS/SC-BUS, T1/PRI adaptor. ++ 0647 Springware D/240JCT-T1 ++# 4 Line, 4 port, CT-BUS/SC-BUS, loopstart FXO adaptor. Revision 01 ++ 0676 Springware D/41JCT-LS ++# 48 Channel, 2 Port, CT-BUS/SC-BUS, T1/PRI adaptor. ++ 0685 Springware D/480JCT-2T1 + 12c8 G Force Co, Ltd + 12c9 Gigi Operations + 12ca Integrated Computing Engines +@@ -7975,6 +8978,7 @@ + 0005 Aculab E1/T1 PCI card + 1078 Prosody X class e1000 device + 12d9 000d Prosody X PCI ++ 12d9 000e Prosody X cPCI + 12da True Time Inc. + 12db Annapolis Micro Systems, Inc + 12dc Symicron Computer Communication Ltd. +@@ -8110,7 +9114,21 @@ + 004d PCI-QUAD04 + 0052 PCI-DAS4020/12 + 0054 PCI-DIO96 ++ 005d PCI-DAS6023 + 005e PCI-DAS6025 ++ 005f PCI-DAS6030 ++ 0060 PCI-DAS6031 ++ 0061 PCI-DAS6032 ++ 0062 PCI-DAS6033 ++ 0063 PCI-DAS6034 ++ 0064 PCI-DAS6035 ++ 0065 PCI-DAS6040 ++ 0066 PCI-DAS6052 ++ 0067 PCI-DAS6070 ++ 0068 PCI-DAS6071 ++ 006f PCI-DAS6036 ++ 0078 PCI-DAS6013 ++ 0079 PCI-DAS6014 + 1308 Jato Technologies Inc. + 0001 NetCelerator Adapter + 1308 0001 NetCelerator Adapter +@@ -8298,13 +9316,16 @@ + 0102 PCI509 DCF77 Radio Clock + 0103 PCI510 DCF77 Radio Clock + 0104 PCI511 DCF77 Radio Clock ++ 0105 PEX511 DCF77 Radio Clock (PCI Express) + 0201 GPS167PCI GPS Receiver + 0202 GPS168PCI GPS Receiver + 0203 GPS169PCI GPS Receiver + 0204 GPS170PCI GPS Receiver ++ 0205 GPS170PEX GPS Receiver (PCI Express) + 0301 TCR510PCI IRIG Timecode Reader + 0302 TCR167PCI IRIG Timecode Reader + 0303 TCR511PCI IRIG Timecode Reader ++ 0304 TCR511PEX IRIG Timecode Reader (PCI Express) + 1361 Soliton Systems K.K. + 1362 Fujifacom Corporation + 1363 Phoenix Technology Ltd +@@ -8396,7 +9417,7 @@ + 4900 WG311v1 54 Mbps Wireless PCI Adapter + 4a00 WAG311 802.11a/g Wireless PCI Adapter + 4b00 WG511T 108 Mbps Wireless PC Card +- 4c00 WG311v2 54 Mbps Wireless PCI Adapter ++ 4c00 WG311v2 54 Mbps Wireless-G PCI Adapter + 4d00 WG311T 108 Mbps Wireless PCI Adapter + 4e00 WG511v2 54 Mbps Wireless PC Card + 4f00 WG511U Double 108 Mbps Wireless PC Card +@@ -8426,10 +9447,29 @@ + 1391 Development Concepts Inc + 1392 Medialight Inc + 1393 Moxa Technologies Co Ltd ++ 0001 UC7000 Serial ++ 1020 CP102 (2-port RS-232 PCI) ++ 1021 CP102UL (2-port RS-232 Universal PCI) ++ 1022 CP102U (2-port RS-232 Universal PCI) + 1040 Smartio C104H/PCI ++ 1041 CP104U (4-port RS-232 Universal PCI) ++ 1042 CP104JU (4-port RS-232 Universal PCI) ++ 1043 CP104EL (4-port RS-232 Smart PCI Express) ++ 1044 POS104UL (4-port RS-232 Universal PCI) ++ 1080 CB108 (8-port RS-232 PC/104-plus Module) ++ 1140 CT-114 series + 1141 Industrio CP-114 ++ 1142 CB114 (4-port RS-232/422/485 PC/104-plus Module) ++ 1180 CP118U (8-port RS-232/422/485 Smart Universal PCI) ++ 1181 CP118EL (8-port RS-232/422/485 Smart PCI Express) ++ 1320 CP132 (2-port RS-422/485 PCI) ++ 1321 CP132U (2-Port RS-422/485 Universal PCI) ++ 1340 CP134U (4-Port RS-422/485 Universal PCI) ++ 1341 CB134I (4-port RS-422/485 PC/104-plus Module) ++ 1380 CP138U (8-port RS-232/422/485 Smart Universal PCI) + 1680 Smartio C168H/PCI + 1681 CP-168U V2 Smart Serial Board (8-port RS-232) ++ 1682 CP168EL (8-port RS-232 Smart PCI Express) + 2040 Intellio CP-204J + 2180 Intellio C218 Turbo PCI + 3200 Intellio C320 Turbo PCI +@@ -8524,6 +9564,7 @@ + 1004 9650SE SATA-II RAID + 13c2 Technotrend Systemtechnik GmbH + 000e Technotrend/Hauppauge DVB card rev2.3 ++ 1019 TTechnoTrend-budget DVB S2-3200 + 13c3 Janz Computer AG + 13c4 Phase Metrics + 13c5 Alphi Technology Corp +@@ -8585,6 +9626,7 @@ + 13f0 Sundance Technology Inc / IC Plus Corp + 0200 IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY + 0201 ST201 Sundance Ethernet ++ 1021 TC9020 Gigabit Ethernet + 1023 IP1000 Family Gigabit Ethernet + 13f1 Oce' - Technologies B.V. + 13f2 Ford Microelectronics Inc +@@ -8604,8 +9646,25 @@ + 1043 8077 CMI8738 6-channel audio controller + 1043 80e2 CMI8738 6ch-MX + 13f6 0111 CMI8738/C3DX PCI Audio Device ++ 13f6 9761 Theatron Agrippa ++ 153b 1144 Aureon 5.1 ++ 153b 1170 Aureon 7.1 + 1681 a000 Gamesurround MUSE XL ++ 270f 1103 CT-7NJS Ultra motherboard ++ 584d 3731 Digital X-Mystique ++ 584d 3741 X-Plosion 7.1 ++ 584d 3751 X-Raider 7.1 ++ 584d 3761 X-Mystique 7.1 LP ++ 584d 3771 X-Mystique 7.1 LP Value ++ 7284 8384 Striker 7.1 + 0211 CM8738 ++ 8788 CMI8788 [Oxygen HD Audio] ++ 1043 8269 Virtuoso 200 (Xonar D2) ++ 14c3 1710 HIFIER ++ 1a58 0910 Barracuda AC-1 ++ 415a 5431 X-Meridian 7.1 ++ 584d 3781 HDA X-Purity 7.1 Platinum ++ 7284 9761 CLARO + 9880 CM9880 + 13f7 Wildfire Communications + 13f8 Ad Lib Multimedia Inc +@@ -8622,6 +9681,8 @@ + # This board has two PCI functions, appears as two PCI devices + 1602 0002 PCI-1602 2-port isolated RS-422/485 + 1612 0004 PCI-1612 4-port RS-232/422/485 ++ 1603 PCI-1603 2-port isolated RS-232/current loop ++ 1604 PCI-1604 2-port RS-232 + 16ff PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) + 1601 0000 PCI-1601 2-port unisolated RS-422/485 PCI communications card + 1602 0000 PCI-1602 2-port isolated RS-422/485 +@@ -8706,6 +9767,17 @@ + 270f f645 ZNF3-250 + 1413 Addonics + 1414 Microsoft Corporation ++ 5801 XMA Decoder (Xenon) ++ 5802 SATA Controller - CdRom (Xenon) ++ 5803 SATA Controller - Disk (Xenon) ++ 5804 OHCI Controller 0 (Xenon) ++ 5805 EHCI Controller 0 (Xenon) ++ 5806 OHCI Controller 1 (Xenon) ++ 5807 EHCI Controller 1 (Xenon) ++ 580a Fast Ethernet Adapter (Xenon) ++ 580b Secure Flash Controller (Xenon) ++ 580d System Management Controller (Xenon) ++ 5811 Xenos GPU (Xenon) + 1415 Oxford Semiconductor Ltd + 8403 VScom 011H-EP1 1 port parallel adaptor + 9500 OX16PCI954 (Quad 16950 UART) function 0 (Disabled) +@@ -8750,6 +9822,11 @@ + 1425 Chelsio Communications Inc + 000b T210 Protocol Engine + 000c T204 Protocol Engine ++ 0030 T310 10GbE Single Port Protocol Engine Ethernet Adapter ++ 103c 705e PCIe 10GBase-SR [AD386A] ++ 0031 T320 10GbE Dual Port Protocol Engine Ethernet Adapter ++ 0032 T302 1GbE Dual Port Protocol Engine Ethernet adapter ++ 0033 T304 1GbE Quad Port Protocol Engine Ethernet adapter + 1426 Storage Technology Corp. + 1427 Better On-Line Solutions + 1428 Edec Co Ltd +@@ -8844,9 +9921,11 @@ + 6819 Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller [MSI CB54G] + 6825 PCI Card wireless 11g [PC54G] + 6834 RaLink RT2500 802.11g [PC54G2] +- 7125 K8N motherboard ++ 7125 MS-7125 [K8N Neo4 Platinum] + 7235 P965 Neo MS-7235 mainboard + 7242 K9AGM RS485 Motherboard ++ 7250 MS-7250 Motherboard [K9N Platinum SLI/non-SLI] ++ 7327 K9AGM2-FIH Motherboard + 8725 NVIDIA NV25 [GeForce4 Ti 4600] VGA Adapter + 9000 NVIDIA NV28 [GeForce4 Ti 4800] VGA Adapter + 9110 GeFORCE FX5200 +@@ -8912,7 +9991,7 @@ + 1496 JOYTECH Computer Co., Ltd. + 1497 SMA Regelsysteme GmBH + 1497 SMA Technologie AG +-1498 TEWS Datentechnik GmBH ++1498 TEWS Technologies GmbH + 0330 TPMC816 2 Channel CAN bus controller. + 0385 TPMC901 Extended CAN bus with 2/4/6 CAN controller + 21cc TCP460 CompactPCI 16 Channel Serial Interface RS232/RS422 +@@ -9021,6 +10100,8 @@ + 14d4 Panacom Technology Corp + 14d5 Nitsuko Corporation + 14d6 Accusys Inc ++ 6101 ACS-61xxx, PCIe to SAS/SATA RAID HBA ++ 6201 ACS-62xxx, External PCIe to SAS/SATA RAID controller + 14d7 Hirakawa Hewtech Corp + 14d8 HOPF Elektronik GmBH + # Formerly SiPackets, Inc., formerly API NetWorks, Inc., formerly Alpha Processor, Inc. +@@ -9064,7 +10145,13 @@ + 107b 5048 E4500 Onboard + 1601 NetXtreme BCM5752M Gigabit Ethernet PCI Express + 1639 NetXtreme II BCM5709 Gigabit Ethernet ++ 103c 7055 NC382i Integrated Quad Port PCI Express Gigabit Server Adapter ++ 103c 7059 NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter + 163a NetXtreme II BCM5709S Gigabit Ethernet ++# ice ++ 103c 171d NC382m Dual Port 1GbE Multifunction BL-c Adapter ++ 103c 7056 NC382i Integrated Quad Port PCI Express Gigabit Server Adapter ++ 163b NetXtreme II BCM5716 Gigabit Ethernet + 1644 NetXtreme BCM5700 Gigabit Ethernet + 1014 0277 Broadcom Vigil B5700 1000Base-T + 1028 00d1 Broadcom BCM5700 +@@ -9091,7 +10178,7 @@ + 0e11 009a NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T) + 0e11 00c1 NC6770 Gigabit Server Adapter (PCI-X, 1000-SX) + 1028 0121 Broadcom BCM5701 1000Base-T +- 103c 128a 1000Base-T (PCI) [A7061A] ++ 103c 128a BCM5701 1000Base-T (HP, OEM 3COM) + 103c 128b 1000Base-SX (PCI) [A7073A] + 103c 12a4 Core Lan 1000Base-T + 103c 12c1 IOX Core Lan 1000Base-T [A7109AX] +@@ -9108,6 +10195,7 @@ + 14e4 0006 BCM5701 1000Base-T + 14e4 0007 BCM5701 1000Base-SX + 14e4 0008 BCM5701 1000Base-T ++ 14e4 1645 NetXtreme BCM5701 Gigabit Ethernet + 14e4 8008 BCM5701 1000Base-T + 1646 NetXtreme BCM5702 Gigabit Ethernet + 0e11 00bb NC7760 1000BaseTX +@@ -9126,6 +10214,8 @@ + 0e11 00cf NC7772 Gigabit Server Adapter (PCI-X, 10,100,1000-T) + 0e11 00d0 NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T) + 0e11 00d1 NC7783 Gigabit Server Adapter (PCI-X, 10,100,1000-T) ++ 1028 014a PowerEdge 1750 ++ 103c 310f NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T) + 10a9 8013 Dual Port Gigabit Ethernet (PCI-X,Copper) + 10a9 8018 Dual Port Gigabit Ethernet (A330) + 10a9 801a Dual Port Gigabit Ethernet (IA-blade) +@@ -9133,30 +10223,49 @@ + 10b7 2000 3C998-T Dual Port 10/100/1000 PCI-X + 10b7 3000 3C999-T Quad Port 10/100/1000 PCI-X + 1166 1648 NetXtreme CIOB-E 1000Base-T +- 1734 100b Primergy RX300 ++ 1734 100b PRIMERGY RX/TX series onboard LAN ++ 1649 NetXtreme BCM5704S_2 Gigabit Ethernet + 164a NetXtreme II BCM5706 Gigabit Ethernet + 103c 3070 NC380T PCI Express Dual Port Multifunction Gigabit Server Adapter + 103c 3101 NC370T MultifuNCtion Gigabit Server Adapter + 164c NetXtreme II BCM5708 Gigabit Ethernet ++ 1028 0205 Broadcom NetXtreme II BCM5708 1000Base-T (rev 12) + 103c 7037 NC373T PCI Express Multifunction Gigabit Server Adapter + 103c 7038 NC373i Integrated Multifunction Gigabit Server Adapter + 164d NetXtreme BCM5702FE Gigabit Ethernet ++ 164e NetXtreme II BCM57710 10Gigabit PCIe [Everest] ++ 103c 171c NC532m Dual Port 10GbE Multifunction BL-C Adapter ++ 103c 7058 NC532i Dual Port 10GbE Multifunction BL-C Adapter ++ 164f NetXtreme II BCM57711 10Gigabit PCIe ++ 1650 NetXtreme II BCM57711E 10Gigabit PCIe ++ 103c 171c NC532m Dual Port 10GbE Multifunction BL-C Adapter ++ 103c 7058 NC532i Dual Port 10GbE Multifunction BL-C Adapter + 1653 NetXtreme BCM5705 Gigabit Ethernet + 0e11 00e3 NC7761 Gigabit Server Adapter + 1654 NetXtreme BCM5705_2 Gigabit Ethernet + 0e11 00e3 NC7761 Gigabit Server Adapter + 103c 3100 NC1020 ProLiant Gigabit Server Adapter 32 PCI + 103c 3226 NC150T 4-port Gigabit Combo Switch & Adapter ++ 1658 NetXtreme BCM5720 Gigabit Ethernet + 1659 NetXtreme BCM5721 Gigabit Ethernet PCI Express + 1014 02c6 eServer xSeries server mainboard ++ 1028 01e6 PowerEdge 860 + 103c 7031 NC320T PCIe Gigabit Server Adapter + 103c 7032 NC320i PCIe Gigabit Server Adapter +- 1734 1061 Primergy RX300 S2 ++ 1734 1061 PRIMERGY RX/TX S2 series onboard LAN + 165a NetXtreme BCM5722 Gigabit Ethernet PCI Express ++# Dual NIC server ++ 1014 0378 IBM System x3350 (Machine type 4192) ++ 1028 020f PowerEdge R300 ++ 1028 0210 PowerEdge T300 ++ 1028 0225 PWA-Pandora Motherboard [PowerEdge T105] + 103c 7051 NC105i PCIe Gigabit Server Adapter + 103c 7052 NC105T PCIe Gigabit Server Adapter ++ 165b NetXtreme BCM5723 Gigabit Ethernet PCIe ++ 103c 705d NC107i Integrated PCI Express Gigabit Server Adapter + 165d NetXtreme BCM5705M Gigabit Ethernet + 1028 865d Latitude D400 ++ 14e4 165d Dell Latitude D600 + 165e NetXtreme BCM5705M_2 Gigabit Ethernet + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop +@@ -9171,33 +10280,53 @@ + 1672 NetXtreme BCM5754M Gigabit Ethernet PCI Express + 1673 NetXtreme BCM5755M Gigabit Ethernet PCI Express + 1674 NetXtreme BCM5756ME Gigabit Ethernet PCI Express ++ 1676 NetXtreme BCM5750 Gigabit Ethernet + 1677 NetXtreme BCM5751 Gigabit Ethernet PCI Express ++ 1028 0177 Dimension 8400 + 1028 0179 Optiplex GX280 + 1028 0182 Latitude D610 + 1028 0187 Precision M70 +- 1028 01ad Optiplex GX620 ++ 1028 01ad OptiPlex GX620 + 103c 3006 DC7100 SFF(DX878AV) ++ 1462 028c 915P/G Neo2 + 1734 105d Scenic W620 + 1678 NetXtreme BCM5715 Gigabit Ethernet ++ 103c 703e NC326i PCIe Dual Port Gigabit Server Adapter + 1679 NetXtreme BCM5715S Gigabit Ethernet + 103c 1707 NC326m PCIe Dual Port Adapter + 103c 170c NC325m PCIe Quad Port Adapter + 103c 703c NC326i PCIe Dual Port Gigabit Server Adapter + 167a NetXtreme BCM5754 Gigabit Ethernet PCI Express ++ 1028 01da OptiPlex 745 ++ 1028 01de Precision 390 ++ 1028 01df PowerEdge SC440 + 167b NetXtreme BCM5755 Gigabit Ethernet PCI Express ++ 103c 280a DC5750 Microtower ++ 167c NetXtreme BCM5750M Gigabit Ethernet + 167d NetXtreme BCM5751M Gigabit Ethernet PCI Express +- 17aa 2081 Thinkpad R60e model 0657 ++ 1014 0577 ThinkPad Z60t ++ 103c 0940 HP Compaq nw8240 Mobile Workstation ++ 17aa 2081 ThinkPad R60e + 167e NetXtreme BCM5751F Fast Ethernet PCI Express + 167f NetLink BCM5787F Fast Ethernet PCI Express ++ 1680 NetXtreme BCM5761e Gigabit Ethernet PCIe ++ 1681 NetXtreme BCM5761 Gigabit Ethernet PCIe ++ 1684 NetXtreme BCM5764M Gigabit Ethernet PCIe + 1693 NetLink BCM5787M Gigabit Ethernet PCI Express ++ 1025 0121 Aspire 5920G ++ 103c 30c0 6710b + 1696 NetXtreme BCM5782 Gigabit Ethernet + 103c 12bc d530 CMT (DG746A) + 14e4 000d NetXtreme BCM5782 1000Base-T ++ 1698 NetLink BCM5784M Gigabit Ethernet PCIe ++ 1699 NetLink BCM5785 Gigabit Ethernet + 169a NetLink BCM5786 Gigabit Ethernet PCI Express + 169b NetLink BCM5787 Gigabit Ethernet PCI Express + 169c NetXtreme BCM5788 Gigabit Ethernet + 103c 308b MX6125 + 103c 30a1 NC2400 ++ 144d c018 X20 ++ 1462 590c KT6 Delta-FIS2R (MS-6590) + 169d NetLink BCM5789 Gigabit Ethernet PCI Express + 16a6 NetXtreme BCM5702X Gigabit Ethernet + 0e11 00bb NC7760 Gigabit Server Adapter (PCI-X, 10/100/1000-T) +@@ -9218,6 +10347,7 @@ + 16aa NetXtreme II BCM5706S Gigabit Ethernet + 103c 3102 NC370F MultifuNCtion Gigabit Server Adapter + 16ac NetXtreme II BCM5708S Gigabit Ethernet ++ 1014 0304 NetXtreme II BCM5708S Gigabit Ethernet + 103c 1706 NC373m Multifunction Gigabit Server Adapter + 103c 7038 NC373i PCI Express Multifunction Gigabit Server Adapter + 103c 703b NC373i Integrated Multifunction Gigabit Server Adapter +@@ -9236,23 +10366,33 @@ + 16dd NetLink BCM5781 Gigabit Ethernet PCI Express + 16f7 NetXtreme BCM5753 Gigabit Ethernet PCI Express + 16fd NetXtreme BCM5753M Gigabit Ethernet PCI Express ++ 103c 30a3 Compaq nw8440 + 16fe NetXtreme BCM5753F Fast Ethernet PCI Express + 170c BCM4401-B0 100Base-TX + 1028 0188 Inspiron 6000 laptop ++ 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 + 1028 01af Inspiron 6400 ++ 1028 01cd Inspiron 9400 Laptop ++ 1028 01d7 XPS M1210 ++ 1028 01d8 Inspiron E1405 + 103c 099c NX6110/NC6120 ++ 103c 30a2 NX7300 laptop ++ 14e4 170c HP Compaq 6720t Mobile Thin Client + 170d NetXtreme BCM5901 100Base-TX +- 1014 0545 ThinkPad R40e (2684-HVG) builtin ethernet controller ++ 1014 0545 ThinkPad R40e + 170e NetXtreme BCM5901 100Base-TX + 1712 NetLink BCM5906 Fast Ethernet PCI Express + 1713 NetLink BCM5906M Fast Ethernet PCI Express ++ 1028 01f3 Inspiron 1420 ++ 1028 0209 XPS M1330 + 3352 BCM3352 + 3360 BCM3360 + 4210 BCM4210 iLine10 HomePNA 2.0 + 4211 BCM4211 iLine10 HomePNA 2.0 + V.90 56k modem + 4212 BCM4212 v.90 56k modem + 4220 802-11b/g Wireless PCI controller, packaged as a Linksys WPC54G ver 1.2 PCMCIA card ++ 4222 NetXtreme BCM5753M Gigabit Ethernet PCI Express + 4301 BCM4303 802.11b Wireless LAN Controller + 1028 0407 TrueMobile 1180 Onboard WLAN + 1043 0120 WL-103b Wireless LAN PC Card +@@ -9260,13 +10400,47 @@ + 4306 BCM4307 Ethernet Controller + 4307 BCM4307 802.11b Wireless LAN Controller + 4310 BCM4310 Chipcommon I/OController +- 4311 BCM94311MCG wlan mini-PCI ++ 4311 BCM4311 802.11b/g WLAN ++ 1028 0007 Wireless 1390 WLAN Mini-Card ++ 1028 0008 Wireless 1390 WLAN ExpressCard ++ 103c 1363 BCM4311 802.11b/g Wireless LAN Controller ++ 103c 1364 BCM4311 802.11b/g Wireless LAN Controller ++ 103c 1365 BCM4311 802.11b/g Wireless LAN Controller ++ 103c 1374 BCM4311 802.11b/g Wireless LAN Controller ++ 103c 1375 BCM4311 802.11b/g Wireless LAN Controller ++ 103c 1376 BCM4311 802.11b/g Wireless LAN Controller ++ 103c 1377 BCM4311 802.11b/g Wireless LAN Controller ++ 103c 137f BCM4322 802.11a/b/g/n Wireless LAN Controller ++ 103c 1380 BCM4322 802.11a/b/g/n Wireless LAN Controller ++ 14e4 4311 BCM94311MCG + 4312 BCM4312 802.11a/b/g ++ 1028 0007 Wireless 1490 Dual Band WLAN Mini-Card ++ 1028 0008 Wireless 1490 Dual Band WLAN ExpressCard ++ 103c 135a Broadcom 802.11a/b/g WLAN ++ 103c 135f Broadcom 802.11a/b/g WLAN ++ 103c 1360 Broadcom 802.11a/b/g WLAN ++ 103c 1361 Broadcom 802.11a/b/g WLAN ++ 103c 1362 Broadcom 802.11a/b/g WLAN ++ 103c 1370 Broadcom 802.11a/b/g WLAN ++ 103c 1371 Broadcom 802.11a/b/g WLAN ++ 103c 1372 Broadcom 802.11a/b/g WLAN ++ 103c 1373 Broadcom 802.11a/b/g WLAN ++ 103c 30b5 Presario V3242AU ++ 1371 103c Broadcom 802.11 Multiband-netwerkadapter(6715s) + 4313 BCM4310 Ethernet Controller +- 4315 BCM4310 USB Controller ++ 4315 BCM4312 802.11b/g ++ 1028 000b Wireless 1395 WLAN Mini-Card ++ 1028 000c Wireless 1397 WLAN Mini-Card ++ 103c 137c BCM4312 802.11b/g Wireless LAN Controller ++ 103c 137d BCM4312 802.11b/g Wireless LAN Controller + 4318 BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller +- 103c 1356 MX6125 ++ 1028 0005 Wireless 1370 WLAN Mini-PCI Card ++ 1028 0006 Wireless 1370 WLAN PC Card ++ 103c 1355 Broadcom 802.11b/g WLAN ++ 103c 1356 Broadcom 802.11b/g WLAN ++ 103c 1357 Broadcom 802.11b/g WLAN + 1043 120f A6U notebook embedded card ++ 1154 0355 Buffalo WLI2-PCI-G54S High Speed Mode Wireless Adapter + 1468 0311 Aspire 3022WLMi, 5024WLMi, 5020 + 1468 0312 TravelMate 2410 + 14e4 0449 Gateway 7510GX +@@ -9275,11 +10449,20 @@ + 1737 0042 WMP54GS version 1.1 [Wireless-G PCI Adapter] 802.11g w/SpeedBooster + 1737 0048 WPC54G-EU version 3 [Wireless-G Notebook Adapter] + 4319 BCM4311 [AirForce 54g] 802.11a/b/g PCI Express Transceiver ++ 1028 0005 Wireless 1470 Dual Band WLAN Mini-PCI Card ++ 1028 0006 Wireless 1470 Dual Band WLAN PC Card ++ 103c 1358 Broadcom 802.11a/b/g WLAN ++ 103c 1359 Broadcom 802.11a/b/g WLAN ++ 103c 135a Broadcom 802.11a/b/g WLAN + 4320 BCM4306 802.11b/g Wireless LAN Controller + 1028 0001 TrueMobile 1300 WLAN Mini-PCI Card ++ 1028 0002 TrueMobile 1300 WLAN PC Card + 1028 0003 Wireless 1350 WLAN Mini-PCI Card +- 103c 12f4 NX9500 Built-in Wireless +- 103c 12fa Presario R3000 802.11b/g ++ 1028 0004 Wireless 1350 WLAN PC Card ++ 103c 12f4 Broadcom 802.11b/g WLAN ++ 103c 12f8 Broadcom 802.11b/g WLAN ++ 103c 12fa Broadcom 802.11b/g WLAN ++ 103c 12fb Broadcom 802.11b/g WLAN + 1043 100f WL-100G + 1057 7025 WN825G + 106b 004e AirPort Extreme +@@ -9288,6 +10471,7 @@ + 144f 7051 Sonnet Aria Extreme PCI + 14e4 4320 Linksys WMP54G PCI + 1737 4320 WPC54G ++ 1799 7000 F5D7000uk 54G Wireless Network Card + 1799 7001 Belkin F5D7001 High-Speed Mode Wireless G Network Card + 1799 7010 Belkin F5D7010 54g Wireless Network card + 1799 7011 F5D7011 54g+ Wireless Network card +@@ -9296,14 +10480,30 @@ + 4322 BCM4306 UART + 4324 BCM4309 802.11a/b/g + 1028 0001 Truemobile 1400 ++ 1028 0002 TrueMobile 1400 Dual Band WLAN PC Card + 1028 0003 Truemobile 1450 MiniPCI ++ 1028 0004 Wireless 1450 Dual Band WLAN PC Card ++ 103c 12f9 Broadcom 802.11a/b/g WLAN ++ 103c 12fc Broadcom 802.11a/b/g WLAN + 4325 BCM43xG 802.11b/g + 1414 0003 Wireless Notebook Adapter MN-720 + 1414 0004 Wireless PCI Adapter MN-730 + 4326 BCM4307 Chipcommon I/O Controller? ++# This should be the correct naming ++ 4328 BCM4328 802.11a/b/g/n ++ 1028 0009 Wireless 1500 Draft 802.11n WLAN Mini-Card ++ 1028 000a Wireless 1500 Draft 802.11n WLAN Mini-card ++ 103c 1366 BCM4321 802.11a/b/g/n Wireless LAN Controller ++ 103c 1367 BCM4321 802.11a/b/g/n Wireless LAN Controller ++ 103c 1368 BCM4321 802.11a/b/g/n Wireless LAN Controller ++ 103c 1369 BCM4321 802.11a/b/g/n Wireless LAN Controller ++ 14e4 4328 BCM4328 802.11a/b/g/n + 4329 BCM43XG ++ 432b BCM4322 802.11a/b/g/n Wireless LAN Controller ++ 1028 000d Wireless 1510 Wireless-N WLAN Mini-Card + 4344 EDGE/GPRS data and 802.11b/g combo cardbus [GC89] + 4401 BCM4401 100Base-T ++ 1025 0035 TravelMate 660 + 103c 08b0 tc1100 tablet + 1043 80a8 A7V8X motherboard + 4402 BCM4402 Integrated 10/100BaseT +@@ -9356,6 +10556,7 @@ + 5840 BCM5840 Crypto Accelerator + 5841 BCM5841 Crypto Accelerator + 5850 BCM5850 Crypto Accelerator ++ b800 BCM56800 StrataXGS 10GE Switch Controller + 14e5 Pixelfusion Ltd + 14e6 SHINING Technology Inc + 14e7 3CX +@@ -9516,8 +10717,9 @@ + 2f11 HSF 56k HSFi Modem + 2f20 HSF 56k Data/Fax Modem + 2f30 HSF 56k Data/Fax Modem +- 5045 HDAUDIO with SmartCP ++ 5045 CX20549 (Venice) + 5047 High Definition Audio [Waikiki] ++ 5b7a CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder + 8234 RS8234 ATM SAR Controller [ServiceSAR Plus] + 8800 CX23880/1/2/3 PCI Video and Audio Decoder + 0070 2801 Hauppauge WinTV 28xxx (Roslyn) models +@@ -9560,8 +10762,10 @@ + 18ac db11 FusionHDTV DVB-T Plus + 18ac db50 FusionHDTV DVB-T Dual Digital + 7063 3000 pcHDTV HD3000 HDTV ++ 7063 5500 pcHDTV HD-5500 + 8801 CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] + 0070 2801 Hauppauge WinTV 28xxx (Roslyn) models ++ 7063 5500 pcHDTV HD-5500 + 8802 CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] + 0070 2801 Hauppauge WinTV 28xxx (Roslyn) models + 0070 9002 Nova-T DVB-T Model 909 +@@ -9577,8 +10781,10 @@ + 18ac db00 DVICO FusionHDTV DVB-T1 + 18ac db10 DVICO FusionHDTV DVB-T Plus + 7063 3000 pcHDTV HD3000 HDTV ++ 7063 5500 pcHDTV HD-5500 + 8804 CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] + 0070 9002 Nova-T DVB-T Model 909 ++ 7063 5500 pcHDTV HD-5500 + 8811 CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] + 0070 3401 Hauppauge WinTV 34xxx models + 1462 8606 MSI TV-@nywhere Master +@@ -9704,6 +10910,9 @@ + 0550 ENE PCI Secure Digital Card Reader Controller + 0551 SD/MMC Card Reader Controller + 0610 PCI Smart Card Reader Controller ++ 0730 ENE PCI Memory Stick Card Reader Controller ++ 0750 ENE PCI SmartMedia / xD Card Reader Controller ++ 0751 ENE PCI Secure Digital / MMC Card Reader Controller + 1211 CB1211 Cardbus Controller + 1225 CB1225 Cardbus Controller + 1410 CB1410 Cardbus Controller +@@ -9893,9 +11102,13 @@ + 15ab Bluesteel Networks Inc + 15ac North Atlantic Instruments + 15ad VMware Inc +- 0405 [VMware SVGA II] PCI Display Adapter +- 0710 Virtual SVGA +- 0720 VMware High-Speed Virtual NIC [vmxnet] ++ 0405 Abstract SVGA II Adapter ++ 0710 Abstract SVGA Adapter ++ 0720 Abstract Ethernet Controller ++ 0740 Virtual Machine Communication Interface ++ 0770 Abstract USB2 EHCI Controller ++ 0801 Virtual Machine Interface ++ 15ad 0800 Hypervisor ROM Interface + 15ae Amersham Pharmacia Biotech + 15b0 Zoltrix International Ltd + 15b1 Source Technology Inc +@@ -9906,15 +11119,19 @@ + 5a44 MT23108 InfiniHost + 5a45 MT23108 [Infinihost HCA Flash Recovery] + 5a46 MT23108 PCI Bridge ++ 5e8c MT24204 [InfiniHost III Lx HCA] + 5e8d MT25204 [InfiniHost III Lx HCA Flash Recovery] + 6274 MT25204 [InfiniHost III Lx HCA] + 6278 MT25208 InfiniHost III Ex (Tavor compatibility mode) + 6279 MT25208 [InfiniHost III Ex HCA Flash Recovery] + 6282 MT25208 InfiniHost III Ex + 6340 MT25408 [ConnectX IB SDR] +- 634a MT25418 [ConnectX IB DDR] ++ 634a MT25418 [ConnectX IB DDR, PCIe 2.0 2.5GT/s] + 6354 MT25428 [ConnectX IB QDR] +- 6368 MT25448 [ConnectX EN 10GigE] ++ 6368 MT25448 [ConnectX EN 10GigE, PCIe 2.0 2.5GT/s] ++ 6732 MT26418 [ConnectX IB DDR, PCIe 2.0 5GT/s] ++ 673c MT26428 [ConnectX IB QDR, PCIe 2.0 5GT/s] ++ 6750 MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] + 15b4 CCI/TRIAD + 15b5 Cimetrics Inc + 15b6 Texas Memory Systems Inc +@@ -9980,6 +11197,7 @@ + 15e7 Get Engineering Corp + 15e8 National Datacomm Corp + 0130 Wireless PCI Card ++ 0131 NCP130A2 Wireless NIC + 15e9 Pacific Digital Corp + 1841 ADMA-100 DiscStaQ ATA Controller + 15ea Tokyo Denshi Sekei K.K. +@@ -10042,6 +11260,8 @@ + 3052 SmartLink SmartPCI562 56K Modem + 5449 SmartPCI561 Modem + 1657 Brocade Communications Systems, Inc. ++# Same Device_ID used for 410 (1port) and 420 (2 port) HBAs. ++ 0646 Brocade 400 4Gb PCIe FC HBA + 165a Epix Inc + c100 PIXCI(R) CL1 Camera Link Video Capture Board [custom QL5232] + d200 PIXCI(R) D2X Digital Video Capture Board [custom QL5232] +@@ -10060,6 +11280,9 @@ + 104e 5LS172.6 B&R Dual CAN Interface Card + 12d7 5LS172.61 B&R Dual CAN Interface Card + 20ad 5ACPCI.MFIO-K01 Profibus DP / K-Feldbus / COM ++1678 NetEffect ++ 0100 NE020 10Gb Accelerated Ethernet Adapter (iWARP RNIC) ++1679 Tokyo Electron Device Ltd. + 167b ZyDAS Technology Corp. + 2102 ZyDAS ZD1202 + 187e 3406 ZyAIR B-122 CardBus 11Mbs Wireless LAN Card +@@ -10070,11 +11293,11 @@ + 1682 XFX Pine Group Inc. + 1688 CastleNet Technology Inc. + 1170 WLAN 802.11b card +-168c Atheros Communications, Inc. ++168c Atheros Communications Inc. + 0007 AR5000 802.11a Wireless Adapter + 0011 AR5210 802.11a NIC + 0012 AR5211 802.11ab NIC +- 0013 AR5212 802.11abg NIC ++ 0013 AR5212/AR5213 Multiprotocol MAC/baseband processor + 1113 d301 Philips CPWNA100 Wireless CardBus adapter + 1186 3202 D-link DWL-G650 (Rev B3,B5) Wireless cardbus adapter + 1186 3203 DWL-G520 Wireless PCI Adapter +@@ -10089,12 +11312,14 @@ + 1186 3ab0 Allnet ALL0281 Wireless PCI Card + 1385 4d00 Netgear WG311T Wireless PCI Adapter + 1458 e911 Gigabyte GN-WIAG02 ++ 1468 0408 ThinkPad 11b/g Wireless LAN Mini PCI Adapter + 14b7 0a60 8482-WD ORiNOCO 11a/b/g Wireless PCI Adapter + 1668 1026 IBM HighRate 11 a/b/g Wireless CardBus Adapter + 168c 0013 AirPlus XtremeG DWL-G650 Wireless PCMCIA Adapter + 168c 1025 DWL-G650B2 Wireless CardBus Adapter + 168c 1027 Engenius NL-3054CB ARIES b/g CardBus Adapter + 168c 1042 Ubiquiti Networks SuperRange a/b/g Cardbus Adapter ++ 168c 1051 EZ Connect g 802.11g 108Mbps Wireless PCI Adapter + 168c 2026 Netgate 5354MP ARIES a(108Mb turbo)/b/g MiniPCI Adapter + 168c 2041 Engenius 5354MP Plus ARIES2 b/g MiniPCI Adapter + 168c 2042 Engenius 5354MP Plus ARIES2 a/b/g MiniPCI Adapter +@@ -10103,7 +11328,8 @@ + 17cf 0042 Z-COMAX Highpower XG-622H (400mw) 802.11b/g mini-PCI Adapter + 185f 1012 CM9 Wireless a/b/g MiniPCI Adapter + 185f 2012 Wistron NeWeb WLAN a+b+g model CB9 +- 001a AR5005G 802.11abg NIC ++# the name AR5005G is used for the reference design using AR2413 ++ 001a AR2413 802.11bg NIC + 1052 168c Sweex Wireless Lan PC Card 54Mbps + 1113 ee20 SMC Wireless CardBus Adapter 802.11g (SMCWCB-G EU) + 1113 ee24 SMC Wireless PCI Card WPCI-G +@@ -10115,7 +11341,8 @@ + 168c 001a Belkin FD7000 + 168c 1052 TP-Link TL-WN510G Wireless CardBus Adapter + 168c 2052 Compex Wireless 802.11 b/g MiniPCI Adapter, Rev A1 [WLM54G] +- 001b AR5006X 802.11abg NIC ++# the name AR5006X is used for the reference design using AR5413 ++ 001b AR5413 802.11abg NIC + 1186 3a19 D-Link AirPremier AG DWL-AG660 Wireless Cardbus Adapter + 1186 3a22 D-Link AirPremier AG DWL-AG530 Wireless PCI Adapter + 1458 e901 GN-WI01HT Wireless a/b/g MiniPCI Adapter +@@ -10124,10 +11351,16 @@ + 168c 2063 EnGenius EMP-8602 (400mw) or Compex WLM54AG + 185f 1600 DCMA-82 High Power WLAN 802.11a/b/g mini-PCI Module (Super A/G, eXtended Range, 400mW) + a727 6804 Wireless 11a/b/g PC Card with XJACK(r) Antenna +- 001c AR5006EG 802.11 b/g Wireless PCI Express Adapter +- 0020 AR5005VL 802.11bg Wireless NIC +- 0023 AR5416 802.11a/b/g/n Wireless PCI Adapter +- 0024 AR5418 802.11a/b/g/n Wireless PCI Express Adapter ++# the names AR5006* are for AR242{3,4} designs and the names AR5007* are for AR2425 designs ++ 001c AR242x 802.11abg Wireless PCI Express Adapter ++ 168c 3061 AR5006EGS 802.11bg NIC (2.4GHz, PCI Express) ++ 168c 3062 AR5006EXS 802.11abg NIC (2.4/5.0GHz, PCI Express) ++ 168c 3063 AR5006EX 802.11abg NIC (2.4/5.0GHz, PCI Express) ++ 168c 3065 AR5006EG 802.11bg NIC (2.4GHz, PCI Express) ++# the name AR5005VL is used for some AR5513 based designs ++ 0020 AR5513 802.11abg Wireless NIC ++ 0023 AR5416 802.11abgn Wireless PCI Adapter ++ 0024 AR5418 802.11abgn Wireless PCI Express Adapter + 1014 AR5212 802.11abg NIC + 1014 058a ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6) + 3b08 D-Link AirPlus G DWL-G630 +@@ -10154,6 +11387,7 @@ + 16be Creatix Polymedia GmbH + 16c6 Micrel-Kendin + 8695 Centaur KS8695 ARM processor ++ 8842 KSZ8842-PMQL 2-Port Ethernet Switch + 16c8 Octasic Inc. + 16c9 EONIC B.V. The Netherlands + 16ca CENATEK Inc +@@ -10196,6 +11430,7 @@ + 524d PMC-DX2001 Reconfigurable FPGA with TTL I/O + 5335 PMC-SX35 Reconfigurable Virtex-4 FPGA with plug-in I/O + 5456 PMC470 48-Channel Digital Input/Output Module ++16da Advantech Co., Ltd. + 16df PIKA Technologies Inc. + 16e3 European Space Agency + 1e0f LEON2FT Processor +@@ -10218,14 +11453,16 @@ + 170b NetOctave + 0100 NSP2000-SSL crypto accelerator + 170c YottaYotta Inc. ++1719 EZChip Technologies + # Seems to be a 2nd ID for Vitesse Semiconductor + 1725 Vitesse Semiconductor + 7174 VSC7174 PCI/PCI-X Serial ATA Host Bus Controller + 172a Accelerated Encryption + 13c8 AEP SureWare Runner 1000V3 +-1734 Fujitsu Siemens Computer GmbH ++1734 Fujitsu Siemens Computers + 1078 Amilo Pro v2010 + 1085 Celsius M450 ++ 1098 Amilo L 1310G + 1737 Linksys + 0013 WMP54G Wireless Pci Card + 0015 WMP54GS Wireless Pci Card +@@ -10245,13 +11482,16 @@ + 03eb AC1003 Gigabit Ethernet + 1743 Peppercon AG + 8139 ROL/F-100 Fast Ethernet Adapter with ROL ++1745 ViXS Systems, Inc. + 1749 RLX Technologies + 174b PC Partner Limited + 174d WellX Telecom SA + 175c AudioScience Inc + 175e Sanera Systems, Inc. ++1760 TEDIA spol. s r. o. + 1775 SBS Technologies + 177d Cavium Networks ++ 0001 Nitrox XL + 1787 Hightech Information System Ltd. + # also used by Struck Innovative Systeme for joint developments + 1796 Research Centre Juelich +@@ -10261,6 +11501,7 @@ + 0004 CAMAC Controller + 0005 PROFIBUS + 0006 AMCC HOTlink ++ 000d Synchronisation Slave + 1797 JumpTec h, GMBH + 1799 Belkin + 6001 Wireless PCI Card - F5D6001 +@@ -10280,6 +11521,7 @@ + 8033 GL880S USB 1.1 controller + 8034 GL880S USB 2.0 controller + 17aa Lenovo ++17ab Phillips Components + 17af Hightech Information System Ltd. + 17b3 Hawking Technologies + ab08 PN672TX 10/100 Ethernet +@@ -10302,12 +11544,14 @@ + 1220 ARC-1220 8-Port PCI-Express to SATA RAID Controller + 1230 ARC-1230 12-Port PCI-Express to SATA RAID Controller + 1260 ARC-1260 16-Port PCI-Express to SATA RAID Controller ++ 1280 ARC-1231 12-Port PCI-Express to SATA RAID Controller + 17d5 S2io Inc. + 5831 Xframe 10 Gigabit Ethernet PCI-X + 103c 12d5 PCI-X 133MHz 10GbE SR Fiber + 10a9 8020 Single Port 10 Gigabit Ethernet (PCI-X, Fiber) + 10a9 8024 Single Port 10 Gigabit Ethernet (PCI-X, Fiber) + 5832 Xframe II 10Gbps Ethernet ++ 103c 1337 PCI-X 266MHz 10GigE SR [AD385A] + 10a9 8021 Single Port 10 Gigabit Ethernet II (PCI-X, Fiber) + 17db Cray Inc + 0101 XT Series [Seastar] 3D Toroidal Router +@@ -10356,17 +11600,19 @@ + 1799 700a F5D7000 Wireless G Desktop Network Card + 1799 701a F5D7010 Wireless G Notebook Network Card + 185f 22a0 CN-WF513 Wireless Cardbus Adapter ++ 0300 Wireless Adapter Canyon CN-WF511 + 0301 RT2561/RT61 802.11g PCI + 1186 3c08 DWL-G630 Rev E + 1186 3c09 DWL-G510 Rev C + 13d1 abe3 miniPCI Pluscom 802.11 a/b/g + 1458 e934 GN-WP01GS + 1737 0055 WMP54G ver 4.1 ++ 1814 2561 EW-7108PCg + 0302 RT2561/RT61 rev B 802.11g + 1186 3c08 DWL-G630 Rev E + 1186 3c09 DWL-G510 Rev C + 1462 b834 PC54G3 Wireless 11g PCI Card +- 0401 Ralink RT2600 802.11 MIMO ++ 0401 RT2600 802.11 MIMO + e932 RT2560F 802.11 b/g PCI + 1820 InfiniCon Systems Inc. + 1822 Twinhan Technology Co. Ltd +@@ -10378,6 +11624,10 @@ + 9790 WL-121 Wireless Network Adapter 100g+ [Ver.3] + 182e Raza Microelectronics, Inc. + 0008 XLR516 Processor ++# Strange vendor ID used by BCM5785 when in RAID mode ++182f Broadcom ++# HT1000 uses 3 IDs 1166:024a (Native SATA Mode), 1166:024b (PATA/IDE Mode), 182f:000b (RAID Mode) depends on SATA BIOS setting ++ 000b BCM5785 [HT1000] SATA (RAID Mode) + 1830 Credence Systems Corporation + 183b MikroM GmbH + 08a7 MVC100 DVI +@@ -10400,8 +11650,12 @@ + 5a46 MT23108 InfiniHost HCA bridge + 6278 MT25208 InfiniHost III Ex (Tavor compatibility mode) + 6282 MT25208 InfiniHost III Ex +-186c Humusoft +- 0614 MF614 multifunction I/O card ++186c Humusoft, s.r.o. ++ 0612 AD612 Data Acquisition Device ++ 0614 MF614 Multifunction I/O Card ++ 0622 AD622 Data Acquisition Device ++ 0624 MF624 Multifunction I/O Card ++ 0625 MF625 3-phase Motor Driver + 1876 L-3 Communications + a101 VigraWATCH PCI + a102 VigraWATCH PMC +@@ -10425,6 +11679,7 @@ + d800 FusionHDTV 3 Gold + d810 FusionHDTV 3 Gold-Q + d820 FusionHDTV 3 Gold-T ++ db30 FusionHDTV DVB-T Pro + 18b8 Ammasso + b001 AMSO 1100 iWARP/RDMA Gigabit Ethernet Coprocessor + 18bc Info-Tek Corp. +@@ -10466,9 +11721,16 @@ + 0004 Fastcom 422/2-PCI-335 + 0005 Fastcom IGESCC-PCI-ISO/1 + 000a Fastcom 232/4-PCI-335 ++ 000f Fastcom FSCC ++ 0010 Fastcom GSCC ++# Dual Serocco ++ 0011 Fastcom QSSB ++ 0014 SuperFSCC + 18fb Resilience Corporation + 1904 Hangzhou Silan Microelectronics Co., Ltd. + 8139 RTL8139D [Realtek] PCI 10/100BaseTX ethernet adaptor ++1905 Micronas USA, Inc. ++1912 Renesas Technology Corp. + 1923 Sangoma Technologies Corp. + 0040 A200/Remora FXO/FXS Analog AFT card + 0100 A104d QUAD T1/E1 AFT card +@@ -10476,6 +11738,43 @@ + 0400 A104u Quad T1/E1 AFT + # nee Level 5 Networks + 1924 Solarflare Communications ++ 0703 SFC4000 rev A net [Solarstorm] ++ 10b8 0102 SMC10GPCIe-10BT (A2) [TigerCard] ++ 10b8 0103 SMC10GPCIe-10BT (A3) [TigerCard] ++ 10b8 0201 SMC10GPCIe-XFP (A1) [TigerCard] ++ 1924 0101 SFE4001-A1 ++ 1924 0102 SFE4001-A2 ++ 1924 0103 SFE4001-A3 ++ 1924 0201 SFE4002-A1 ++ 1924 0301 SFE4003-A1 ++ 1924 0302 SFE4003-A2 ++ 1924 0303 SFE4003-A3 ++ 1924 0304 SFE4003-A4 ++ 1924 0500 SFE4005-A0 ++ 0710 SFC4000 rev B [Solarstorm] ++ 10b8 0103 SMC10GPCIe-10BT (A3) [TigerCard] ++ 10b8 0201 SMC10GPCIe-XFP (A1) [TigerCard] ++ 1924 0102 SFE4001-A2 ++ 1924 0103 SFE4001-A3 ++ 1924 0201 SFE4002-A1 ++ 1924 0302 SFE4003-A2 ++ 1924 0303 SFE4003-A3 ++ 1924 0304 SFE4003-A4 ++ 1924 0500 SFE4005-A0 ++ 6703 SFC4000 rev A iSCSI/Onload [Solarstorm] ++ 10b8 0102 SMC10GPCIe-10BT (A2) [TigerCard] ++ 10b8 0103 SMC10GPCIe-10BT (A3) [TigerCard] ++ 10b8 0201 SMC10GPCIe-XFP (A1) [TigerCard] ++ 1924 0101 SFE4001-A1 ++ 1924 0102 SFE4001-A2 ++ 1924 0103 SFE4001-A3 ++ 1924 0201 SFE4002-A1 ++ 1924 0301 SFE4003-A1 ++ 1924 0302 SFE4003-A2 ++ 1924 0303 SFE4003-A3 ++ 1924 0304 SFE4003-A4 ++ 1924 0500 SFE4005-A0 ++ c101 EF1-21022T [EtherFabric] + 192e TransDimension + 1931 Option N.V. + 000c Qualcomm MSM6275 UMTS chip +@@ -10487,8 +11786,23 @@ + 1113 FireSpy450bT + 1114 FireSpy850 + 1115 FireSpy850bT ++1954 Curtis, Inc. + 1957 Freescale Semiconductor Inc +- 0012 MPC8548 [PowerQUICC III] ++ 0012 MPC8548E ++ 0013 MPC8548 ++ 0014 MPC8543E ++ 0015 MPC8543 ++ 0018 MPC8547E ++ 0019 MPC8545E ++ 001a MPC8545 ++ 0020 MPC8568E ++ 0021 MPC8568 ++ 0022 MPC8567E ++ 0023 MPC8567 ++ 0030 MPC8533E ++ 0031 MPC8533 ++ 0032 MPC8544E ++ 0033 MPC8544 + 0080 MPC8349E + 0081 MPC8349 + 0082 MPC8347E TBGA +@@ -10497,11 +11811,14 @@ + 0085 MPC8347 PBGA + 0086 MPC8343E + 0087 MPC8343 ++ 7010 MPC8641 PCI Host Bridge ++ 7011 MPC8641D PCI Host Bridge + 1958 Faster Technology, LLC. + 1959 PA Semi, Inc + 1966 Orad Hi-Tec Systems + 1975 DVG64 family + 1969 Attansic Technology Corp. ++ 1026 L1 Gigabit Ethernet Adapter + 1048 L1 Gigabit Ethernet Adapter + 2048 L2 100 Mbit Ethernet Adapter + 196a Sensory Networks Inc. +@@ -10528,7 +11845,7 @@ + 8001 RapidFile + 1993 Innominate Security Technologies AG + 199a Pulse-LINK, Inc. +-19a2 ServerEngines LLC ++19a2 ServerEngines Corp. + 0200 BladeEngine 10Gb PCI-E iSCSI adapter + 0201 BladeEngine 10Gb PCI-E Network Adpater + 19a8 DAQDATA GmbH +@@ -10552,12 +11869,16 @@ + 0007 CAN interface PCIcanx II HS or HS/HS + 1a08 Sierra semiconductor + 0000 SC15064 ++1a0e DekTec Digital Video B.V. + 1a1d GFaI e.V. + 1a17 Meta Networks MTP-1G IDPS NIC + 1a22 Ambric Inc. + 1a29 Fortinet, Inc. ++1a2b Ascom AG + 1a51 Hectronic AB ++1a58 Razer USA Ltd. + 1a5d Celoxica ++1a68 VirtenSys Limited + 1a71 XenSource, Inc. + 1a73 Violin Memory, Inc + 0001 Mozart [Memory Appliance 1010] +@@ -10565,7 +11886,12 @@ + 1a78 Virident Systems Inc. + 1a8c Verigy Pte. Ltd. + 1100 E8001-66443 PCI Express CIC ++1aae Global Velocity, Inc. + 1ab9 Espia Srl ++1ae0 Google, Inc. ++1ae8 Silicon Software GmbH ++1af4 Qumranet, Inc. ++1af5 Netezza Corp. + 1b13 Jaton Corp + 1c1c Symphony + 0001 82C101 +@@ -10576,11 +11902,17 @@ + 2020 DC-390 + 690c 690c + dc29 DC290 +-1fc0 Tumsan Oy ++# nee Tumsan Oy ++1fc0 Ascom (Finland) Oy + 0300 E2200 Dual E1/Rawpipe Card +-1fc1 PathScale, Inc ++# nee PathScale, Inc ++1fc1 QLogic, Corp. + 000d InfiniPath HT-400 + 0010 InfiniPath PE-800 ++1fc9 Tehuti Networks Ltd. ++ 3009 10 Giga TOE SmartNIC ++ 3010 10 Giga TOE SmartNIC ++ 3014 10 Giga TOE SmartNIC 2-Port + 1fce Cognio Inc. + 0001 Spectrum Analyzer PC Card (SAgE) + 2000 Smart Link Ltd. +@@ -10692,9 +12024,19 @@ + 1360 RTL8139 Ethernet + 4040 NetXen Incorporated + 0001 NXB-10GXSR 10 Gigabit Ethernet PCIe Adapter with SR-XFP optical interface ++ 103c 7047 NC510F PCIe 10 Gigabit Server Adapter + 0002 NXB-10GCX4 10 Gigabit Ethernet PCIe Adapter with CX4 copper interface ++ 103c 7048 NC510c PCIe 10Gigabit Server Adapter + 0003 NXB-4GCU Quad Gigabit Ethernet PCIe Adapter with 1000-BASE-T interface + 0004 BladeCenter-H 10 Gigabit Ethernet High Speed Daughter Card ++ 0005 NetXen Dual Port 10GbE Multifunction Adapter for c-Class ++ 103c 170e NC512m Dual Port 10GbE Multifunction BL-C Adapter ++ 0024 XG Mgmt ++ 0025 XG Mgmt ++ 0100 NX3031 Multifunction 1/10 Gigabit Server Adapter ++ 103c 171b NC522m Dual Port 10GbE Multifunction BL-c Adapter ++ 103c 705a NC375i Integrated Quad Port Multifunction Gigabit Server Adapter ++ 103c 705b NC522SFP Dual Port 10GbE Server Adapter + 4143 Digital Equipment Corp + 4144 Alpha Data + 0044 ADM-XRCIIPro +@@ -10720,6 +12062,7 @@ + 0070 e817 WinTV PVR 500 (2nd unit) + 0070 ff92 WiNTV PVR-550 + 0270 0801 WinTV PVR 150 ++ 104d 013d ENX-26 TV Encoder + 10fc d038 GV-MVP/RX2W (1st unit) + 10fc d039 GV-MVP/RX2W (2nd unit) + 12ab fff3 MPG600 +@@ -10743,6 +12086,8 @@ + 1960 RedCreek PCI adapter + 4943 Growth Networks + 494f ACCES I/O Products, Inc. ++ 0c60 PCI-DIO-48 ++ 0e60 PCI-DIO-48S + 10e8 LPCI-COM-8SM + 4978 Axil Computer Inc + 4a14 NetVin +@@ -10972,11 +12317,16 @@ + 0007 82379AB + 0008 Extended Express System Support Controller + 0039 21145 Fast Ethernet ++ 0040 Auburndale/Havendale DRAM Controller ++ 0041 Auburndale/Havendale PCI Express x16 Root Port ++ 0042 Auburndale/Havendale Integrated Graphics Controller + 0122 82437FX + 0309 80303 I/O Processor PCI-to-PCI Bridge + 030d 80312 I/O Companion Chip PCI-to-PCI Bridge + 0326 6700/6702PXH I/OxAPIC Interrupt Controller A ++ 1775 1100 CR11/VR11 Single Board Computer + 0327 6700PXH I/OxAPIC Interrupt Controller B ++ 1775 1100 CR11/VR11 Single Board Computer + 0329 6700PXH PCI Express-to-PCI Bridge A + 032a 6700PXH PCI Express-to-PCI Bridge B + 032c 6702PXH PCI Express-to-PCI Bridge A +@@ -11030,10 +12380,10 @@ + 8086 01f7 SCRU32 + # uninitialized SRCU32 RAID Controller + 061f 80303 I/O Processor +- 0960 80960RP [i960 RP Microprocessor/Bridge] +- 0962 80960RM [i960RM Bridge] +- 0964 80960RP [i960 RP Microprocessor/Bridge] +- 1000 82542 Gigabit Ethernet Controller ++ 0960 80960RP (i960RP) Microprocessor/Bridge ++ 0962 80960RM (i960RM) Bridge ++ 0964 80960RP (i960RP) Microprocessor/Bridge ++ 1000 82542 Gigabit Ethernet Controller (Fiber) + 0e11 b0df NC6132 Gigabit Ethernet Adapter (1000-SX) + 0e11 b0e0 NC6133 Gigabit Ethernet Adapter (1000-LX) + 0e11 b123 NC6134 Gigabit Ethernet Adapter (1000-LX) +@@ -11056,7 +12406,7 @@ + 8086 2004 PRO/1000 T Server Adapter + 1008 82544EI Gigabit Ethernet Controller (Copper) + 1014 0269 iSeries 1000/100/10 Ethernet Adapter +- 1028 011b PowerEdge 2550 ++ 1028 011b PowerEdge 1650/2550 + 1028 011c PRO/1000 XT Network Connection + 8086 1107 PRO/1000 XT Server Adapter + 8086 2107 PRO/1000 XT Server Adapter +@@ -11081,7 +12431,7 @@ + 1014 026a PRO/1000 MT Network Connection + 1028 002e Optiplex GX260 + 1028 0134 PowerEdge 600SC +- 1028 0151 PRO/1000 MT Network Connection ++ 1028 0151 Optiplex GX270 + 107b 8920 PRO/1000 MT Desktop Adapter + 8086 001e PRO/1000 MT Desktop Adapter + 8086 002e PRO/1000 MT Desktop Adapter +@@ -11090,11 +12440,13 @@ + 100f 82545EM Gigabit Ethernet Controller (Copper) + 1014 0269 iSeries 1000/100/10 Ethernet Adapter + 1014 028e PRO/1000 MT Network Connection ++ 15ad 0750 Abstract PRO/1000 MT Single Port Adapter + 8086 1000 PRO/1000 MT Network Connection + 8086 1001 PRO/1000 MT Server Adapter + 1010 82546EB Gigabit Ethernet Controller (Copper) + 0e11 00db NC7170 Gigabit Server Adapter + 1014 027c PRO/1000 MT Dual Port Network Adapter ++ 15ad 0760 Abstract PRO/1000 MT Dual Port Adapter + 18fb 7872 RESlink-X + 1fc1 0026 Niagara 2260 Bypass Card + 4c53 1080 CT8 mainboard +@@ -11130,8 +12482,9 @@ + 1019 82547EI Gigabit Ethernet Controller + 1458 1019 GA-8IPE1000 Pro2 motherboard (865PE) + 1458 e000 Intel Gigabit Ethernet (Kenai II) +- 8086 1019 PRO/1000 CT Desktop Connection ++ 8086 1019 ASUS PC-DL Deluxe mainboard (Socket 603) + 8086 301f D865PERL mainboard ++ 8086 3025 D875PBZ motherboard + 8086 302c Intel 82865G Mainboard (D865GBF) + 8086 3427 S875WP1-E mainboard + 101a 82547EI Gigabit Ethernet Controller (Mobile) +@@ -11139,7 +12492,7 @@ + 101d 82546EB Gigabit Ethernet Controller + 8086 1000 PRO/1000 MT Quad Port Server Adapter + 101e 82540EP Gigabit Ethernet Controller (Mobile) +- 1014 0549 PRO/1000 MT Mobile Connection ++ 1014 0549 Thinkpad + 1179 0001 PRO/1000 MT Mobile Connection + 8086 101e PRO/1000 MT Mobile Connection + 1026 82545GM Gigabit Ethernet Controller +@@ -11179,29 +12532,34 @@ + 0e11 0098 Evo N600c + 1039 82801DB PRO/100 VE (LOM) Ethernet Controller + 1014 0267 NetVista A30p ++ 114a 0582 PC8 onboard ethernet ETH1 + 103a 82801DB PRO/100 VE (CNR) Ethernet Controller + 103b 82801DB PRO/100 VM (LOM) Ethernet Controller + 103c 82801DB PRO/100 VM (CNR) Ethernet Controller + 103d 82801DB PRO/100 VE (MOB) Ethernet Controller +- 1014 0522 Thinkpad R40 model 2681 ++ 1014 0522 ThinkPad R40 + 8086 103d 82562EZ 10/100 Ethernet Controller + 103e 82801DB PRO/100 VM (MOB) Ethernet Controller + 1040 536EP Data Fax Modem + 16be 1040 V.9X DSP Data Fax Modem + 1043 PRO/Wireless LAN 2100 3B Mini PCI Adapter + 103c 08b0 tc1100 tablet +- 8086 2522 Samsung P30 integrated WLAN ++ 8086 2522 Samsung X10/P30 integrated WLAN + 8086 2527 MIM2000/Centrino ++ 8086 2561 Dell Latitude D800 + 8086 2581 Toshiba Satellite M10 +- 1048 PRO/10GbE LR Server Adapter ++ 1048 82597EX 10GbE Ethernet Controller + 8086 a01f PRO/10GbE LR Server Adapter + 8086 a11f PRO/10GbE LR Server Adapter + 1049 82566MM Gigabit Network Connection ++ 103c 30c1 Compaq 6910p ++ 17aa 20b9 ThinkPad T61 + 104a 82566DM Gigabit Network Connection + 104b 82566DC Gigabit Network Connection + 104c 82562V 10/100 Network Connection + 104d 82566MC Gigabit Network Connection + 1050 82562EZ 10/100 Ethernet Controller ++ 1028 019d Dimension 3000 + 1462 728c 865PE Neo2 (MS-6728) + 1462 758c MS-6758 (875P Neo) + 8086 3020 D865PERL mainboard +@@ -11218,17 +12576,19 @@ + 105b 82546GB Gigabit Ethernet Controller (Copper) + 105e 82571EB Gigabit Ethernet Controller + 103c 7044 NC360T PCI Express Dual Port Gigabit Server Adapter ++ 103c 704e Dual Port 1000Base-T (PCIe) [AD337A] + 1775 1100 CR11/VR11 Single Board Computer + 1775 6003 Telum GE-QT + 8086 005e PRO/1000 PT Dual Port Server Connection + 8086 105e PRO/1000 PT Dual Port Network Connection ++ 8086 10d5 82571PT Gigabit PT Quad Port Server ExpressModule + 8086 115e PRO/1000 PT Dual Port Server Adapter +- 8086 116e PRO/1000 PT Dual Port Server Adapter + 8086 125e PRO/1000 PT Dual Port Server Adapter + 8086 135e PRO/1000 PT Dual Port Server Adapter + 105f 82571EB Gigabit Ethernet Controller ++ 103c 704f Dual Port 1000Base-SX (PCIe) [AD338A] ++ 8086 005a PRO/1000 PF Dual Port Server Adapter + 8086 115f PRO/1000 PF Dual Port Server Adapter +- 8086 116f PRO/1000 PF Dual Port Server Adapter + 8086 125f PRO/1000 PF Dual Port Server Adapter + 8086 135f PRO/1000 PF Dual Port Server Adapter + 1060 82571EB Gigabit Ethernet Controller +@@ -11248,8 +12608,10 @@ + 8086 0075 PRO/1000 CT Network Connection + 8086 1075 PRO/1000 CT Network Connection + 1076 82541GI Gigabit Ethernet Controller +- 1028 0165 PowerEdge 750 +- 1028 019a PowerEdge SC1425 ++ 1028 0165 PRO/1000 MT Network Connection ++ 1028 016d PRO/1000 MT Network Connection ++ 1028 019a PRO/1000 MT Network Connection ++ 1028 106d PRO/1000 MT Network Connection + 8086 0076 PRO/1000 MT Network Connection + 8086 1076 PRO/1000 MT Network Connection + 8086 1176 PRO/1000 MT Desktop Adapter +@@ -11284,9 +12646,11 @@ + 8086 1476 PRO/1000 GT Desktop Adapter + 107d 82572EI Gigabit Ethernet Controller (Copper) + 8086 1082 PRO/1000 PT Server Adapter ++ 8086 1084 PRO/1000 PT Server Adapter + 8086 1092 PRO/1000 PT Server Adapter + 107e 82572EI Gigabit Ethernet Controller (Fiber) + 8086 1084 PRO/1000 PF Server Adapter ++ 8086 1085 PRO/1000 PF Server Adapter + 8086 1094 PRO/1000 PF Server Adapter + 107f 82572EI Gigabit Ethernet Controller + 1080 FA82537EP 56K V.92 Data/Fax Modem PCI +@@ -11302,6 +12666,7 @@ + 8086 108a PRO/1000 P Dual Port Server Adapter + 8086 118a PRO/1000 P Dual Port Server Adapter + 108b 82573V Gigabit Ethernet Controller (Copper) ++ 1462 176c on board on MSI 945P - NEO (MS-7176) + 108c 82573E Gigabit Ethernet Controller (Copper) + 108e 82573E KCS (Active Management) + 108f Active Management Technology - SOL +@@ -11311,6 +12676,8 @@ + 1094 PRO/100 VE Network Connection + 1095 PRO/100 VE Network Connection + 1096 80003ES2LAN Gigabit Ethernet Controller (Copper) ++ 15d9 8680 X7DVL-E-O motherboard ++ 8086 3476 Intel S5000PSLSATA Server Board + 1097 631xESB/632xESB DPT LAN Controller (Fiber) + 1098 80003ES2LAN Gigabit Ethernet Controller (Serdes) + 1099 82546GB Gigabit Ethernet Controller (Copper) +@@ -11318,8 +12685,10 @@ + 109a 82573L Gigabit Ethernet Controller + 1179 ff10 PRO/1000 PL + 17aa 2001 ThinkPad T60 +- 17aa 207e Thinkpad X60s ++ 17aa 207e ThinkPad X60s + 8086 109a PRO/1000 PL Network Connection ++ 8086 309c DeskTop Board D945GTP ++ 8086 30a5 DeskTop Board D975XBX + 109b 82546GB PRO/1000 GF Quad Port Server Adapter + 109e 82597EX 10GbE Ethernet Controller + 8086 a01f PRO/10GbE CX4 Server Adapter +@@ -11329,7 +12698,12 @@ + 10a4 82571EB Gigabit Ethernet Controller + 8086 10a4 PRO/1000 PT Quad Port Server Adapter + 8086 11a4 PRO/1000 PT Quad Port Server Adapter +- 10a5 82571EB PRO/1000 PF Quad Port Server Adapter ++ 10a5 82571EB Gigabit Ethernet Controller (Fiber) ++ 8086 10a5 PRO/1000 PF Quad Port Server Adapter ++ 8086 10a6 PRO/1000 PF Quad Port Server Adapter ++ 10a7 82575EB Gigabit Network Connection ++ 8086 10a8 82575EB Gigabit Riser Card ++ 10a9 82575EB Gigabit Backplane Connection + 10b0 82573L PRO/1000 PL Network Connection + 10b2 82573V PRO/1000 PM Network Connection + 10b3 82573E PRO/1000 PM Network Connection +@@ -11338,20 +12712,65 @@ + 103c 3109 NC340T PCI-X Quad-port Gigabit Server Adapter + 8086 1099 PRO/1000 GT Quad Port Server Adapter + 8086 1199 PRO/1000 GT Quad Port Server Adapter ++ 10b6 82598 10GbE PCI-Express Ethernet Controller + 10b9 82572EI Gigabit Ethernet Controller (Copper) ++ 103c 704a HP 110T PCIe Gigabit Server Adapter + 8086 1083 PRO/1000 PT Desktop Adapter + 8086 1093 PRO/1000 PT Desktop Adapter + 10ba 80003ES2LAN Gigabit Ethernet Controller (Copper) + 10bb 80003ES2LAN Gigabit Ethernet Controller (Serdes) + 10bc 82571EB Gigabit Ethernet Controller (Copper) ++ 103c 704b NC364T PCI Express Quad Port Gigabit Server Adapter + 8086 10bc PRO/1000 PT Quad Port LP Server Adapter + 8086 11bc PRO/1000 PT Quad Port LP Server Adapter + 10bd 82566DM-2 Gigabit Network Connection ++ 1028 0211 OptiPlex 755 ++ 10be 82567 Gigabit Network Connection ++ 10bf 82567LF Gigabit Network Connection + 10c0 82562V-2 10/100 Network Connection + 10c2 82562G-2 10/100 Network Connection + 10c3 82562GT-2 10/100 Network Connection + 10c4 82562GT 10/100 Network Connection + 10c5 82562G 10/100 Network Connection ++ 10c6 82598EB 10 Gigabit AF Dual Port Network Connection ++ 8086 a05f 10 Gigabit XF SR Dual Port Server Adapter ++ 8086 a15f 10 Gigabit XF SR Dual Port Server Adapter ++ 10c7 82598EB 10 Gigabit AF Network Connection ++ 1014 037f 10 Gigabit XF SR Server Adapter ++ 1014 0380 10 Gigabit XF LR Server Adapter ++ 8086 a05f 10 Gigabit XF SR Server Adapter ++ 8086 a15f 10 Gigabit XF SR Server Adapter ++ 8086 a16f 10 Gigabit XF SR Server Adapter ++ 10c8 82598EB 10 Gigabit AT Network Connection ++ 8086 a10c 10 Gigabit AT Server Adapter ++ 8086 a11c 10 Gigabit AT Server Adapter ++ 8086 a12c 10 Gigabit AT Server Adapter ++ 10cb 82567V Gigabit Network Connection ++ 10cc 82567LM-2 Gigabit Network Connection ++ 10cd 82567LF-2 Gigabit Network Connection ++ 10ce 82567V-2 Gigabit Network Connection ++ 10d3 82574L Gigabit Network Connection ++ 8086 a01f Gigabit CT Desktop Adapter ++ 10d5 82571PT Gigabit PT Quad Port Server ExpressModule ++ 10d6 82575GB Gigabit Network Connection ++ 8086 10d6 Gigabit VT Quad Port Server Adapter ++ 8086 145a Gigabit VT Quad Port Server Adapter ++ 10d9 82571EB Dual Port Gigabit Mezzanine Adapter ++ 103c 1716 NC360m Dual Port 1GbE BL-c Adapter ++ 10da 82571EB Quad Port Gigabit Mezzanine Adapter ++ 103c 1717 NC364m Quad Port 1GbE BL-c Adapter ++ 10dd 82598EB 10 Gigabit AT CX4 Network Connection ++ 10de 82567LM-3 Gigabit Network Connection ++ 10df 82567LF-3 Gigabit Network Connection ++ 10e2 82575GB Gigabit Network Connection ++ 8086 10e2 Gigabit VT Quad Port Server Adapter ++ 10e5 82567LM-4 Gigabit Network Connection ++ 10ec 10 Gigabit AT CX4 Network Connection ++ 8086 a01f 10 Gigabit CX4 Dual Port Server Adapter ++ 8086 a11f 10 Gigabit CX4 Dual Port Server Adapter ++ 10f4 10 Gigabit AT Network Connection ++ 8086 106f 10 Gigabit XF LR Server Adapter ++ 10f5 82567LM Gigabit Network Connection + 1107 PRO/1000 MF Server Adapter (LX) + 1130 82815 815 Chipset Host Bridge and Memory Controller Hub + 1025 1016 Travelmate 612 TX +@@ -11360,8 +12779,9 @@ + 8086 4532 D815EEA2 mainboard + 8086 4557 D815EGEW Mainboard + 1131 82815 815 Chipset AGP Bridge +- 1132 82815 CGC [Chipset Graphics Controller] ++ 1132 82815 Chipset Graphics Controller (CGC) + 1025 1016 Travelmate 612 TX ++ 103c 2001 e-pc 40 + 104d 80df Vaio PCG-FX403 + 8086 4532 D815EEA2 Mainboard + 8086 4541 D815EEA Motherboard +@@ -11382,8 +12802,7 @@ + 1226 82596 PRO/10 PCI + 1227 82865 EtherExpress PRO/100A + 1228 82556 EtherExpress PRO/100 Smart +-# the revision field differentiates between them (1-3 is 82557, 4-5 is 82558, 6-8 is 82559, 9 is 82559ER) +- 1229 82557/8/9 [Ethernet Pro 100] ++ 1229 82557/8/9/0/1 Ethernet Pro 100 + 0e11 3001 82559 Fast Ethernet LOM with Alert on LAN* + 0e11 3002 82559 Fast Ethernet LOM with Alert on LAN* + 0e11 3003 82559 Fast Ethernet LOM with Alert on LAN* +@@ -11422,8 +12841,8 @@ + 1014 605c 10/100 EtherJet Secure Management Adapter + 1014 705c 10/100 Netfinity 10/100 Ethernet Security Adapter + 1014 805c 10/100 Netfinity 10/100 Ethernet Security Adapter +- 1028 009b PowerEdge 2500/2550 +- 1028 00ce PowerEdge 1400 ++ 1028 009b 10/100 Ethernet Server Adapter ++ 1028 00ce 10/100 Ethernet Server Adapter + 1033 8000 PC-9821X-B06 + 1033 8016 PK-UG-X006 + 1033 801f PK-UG-X006 +@@ -11442,6 +12861,7 @@ + 10cf 1115 8255x-based Ethernet Adapter (10/100) + 10cf 1143 8255x-based Ethernet Adapter (10/100) + 110a 008b 82551QM Fast Ethernet Multifuction PCI/CardBus Controller ++ 114a 0582 PC8 onboard ethernet ETH2 + 1179 0001 8255x-based Ethernet Adapter (10/100) + 1179 0002 PCI FastEther LAN on Docker + 1179 0003 8255x-based Fast Ethernet +@@ -11495,6 +12915,7 @@ + 8086 1051 EtherExpress PRO/100 Server Adapter + 8086 1052 EtherExpress PRO/100 Server Adapter + 8086 10f0 EtherExpress PRO/100+ Dual Port Adapter ++ 8086 1229 82557/8/9 [Ethernet Pro 100] + 8086 2009 EtherExpress PRO/100 S Mobile Adapter + 8086 200d EtherExpress PRO/100 Cardbus + 8086 200e EtherExpress PRO/100 LAN+V90 Cardbus Modem +@@ -11567,7 +12988,7 @@ + 15d9 3480 P4DP6 + 4c53 1090 Cx9/Vx9 mainboard + 1462 82870P2 P64H2 Hot Plug Controller +- 1960 80960RP [i960RP Microprocessor] ++ 1960 80960RP (i960RP) Microprocessor + 101e 0431 MegaRAID 431 RAID Controller + 101e 0438 MegaRAID 438 Ultra2 LVD RAID Controller + 101e 0466 MegaRAID 466 Express Plus RAID Controller +@@ -11592,16 +13013,21 @@ + e4bf 1020 CU2-QUARTET + e4bf 1040 CU1-CHORUS + e4bf 3100 CX1-BAND +- 1962 80960RM [i960RM Microprocessor] ++ 1962 80960RM (i960RM) Microprocessor + 105a 0000 SuperTrak SX6000 I2O CPU +- 1a21 82840 840 (Carmel) Chipset Host Bridge (Hub A) +- 1a23 82840 840 (Carmel) Chipset AGP Bridge +- 1a24 82840 840 (Carmel) Chipset PCI Bridge (Hub B) +- 1a30 82845 845 (Brookdale) Chipset Host Bridge ++ 1a21 82840 840 [Carmel] Chipset Host Bridge (Hub A) ++ 1a23 82840 840 [Carmel] Chipset AGP Bridge ++ 1a24 82840 840 [Carmel] Chipset PCI Bridge (Hub B) ++ 1a30 82845 845 [Brookdale] Chipset Host Bridge + 1028 010e Optiplex GX240 +- 1a31 82845 845 (Brookdale) Chipset AGP Bridge ++ 15d9 3280 Supermicro P4SBE Mainboard ++ 1a31 82845 845 [Brookdale] Chipset AGP Bridge + 1a38 5000 Series Chipset DMA Engine +- 1a48 PRO/10GbE SR Server Adapter ++ 15d9 8680 X7DVL-E-O motherboard ++ 8086 3476 Intel S5000PSLSATA Server Board ++ 1a48 82597EX 10GbE Ethernet Controller ++ 8086 a01f PRO/10GbE SR Server Adapter ++ 8086 a11f PRO/10GbE SR Server Adapter + 1b48 82597EX 10GbE Ethernet Controller + 8086 a01f PRO/10GbE LR Server Adapter + 8086 a11f PRO/10GbE LR Server Adapter +@@ -11634,7 +13060,9 @@ + 1014 01c6 Netvista A40/A40p + 1025 1016 Travelmate 612 TX + 1028 00c7 Dimension 8100 ++ 1028 00d8 Precision 530 + 1028 010e Optiplex GX240 ++ 103c 126f e-pc 40 + 1043 8027 TUSL2-C Mainboard + 104d 80df Vaio PCG-FX403 + 147b 0507 TH7II-RAID +@@ -11645,17 +13073,22 @@ + 1014 01c6 Netvista A40/A40p + 1025 1016 Travelmate 612 TX + 1028 00c7 Dimension 8100 ++ 1028 00d8 Precision 530 + 1028 010e Optiplex GX240 ++ 103c 126f e-pc 40 + 1043 8027 TUSL2-C Mainboard + 104d 80df Vaio PCG-FX403 + 147b 0507 TH7II-RAID ++ 15d9 3280 Supermicro P4SBE Mainboard + 8086 4532 D815EEA2 mainboard + 8086 4557 D815EGEW Mainboard + 8086 5744 S845WD1-E mainboard + 2444 82801BA/BAM USB Controller #1 + 1025 1016 Travelmate 612 TX + 1028 00c7 Dimension 8100 ++ 1028 00d8 Precision 530 + 1028 010e Optiplex GX240 ++ 103c 126f e-pc 40 + 1043 8027 TUSL2-C Mainboard + 104d 80df Vaio PCG-FX403 + 147b 0507 TH7II-RAID +@@ -11666,6 +13099,8 @@ + 0e11 0088 Evo D500 + 1014 01c6 Netvista A40/A40p + 1025 1016 Travelmate 612 TX ++ 1028 00d8 Precision 530 ++ 103c 126f e-pc 40 + 104d 80df Vaio PCG-FX403 + 1462 3370 STAC9721 AC + 147b 0507 TH7II-RAID +@@ -11674,9 +13109,15 @@ + 1025 1016 Travelmate 612 TX + 104d 80df Vaio PCG-FX403 + 2448 82801 Mobile PCI Bridge ++# (rev d3) (prog-if (rev d3) (prog-if 01 [Subtractive decode]) ++ 103c 0934 HP Compaq nw8240 Mobile Workstation + 103c 099c NX6110/NC6120 ++ 103c 309f HP Compaq nx9420 ++ 103c 30a3 Compaq nw8440 ++ 103c 30c1 Compaq 6910p + 144d c00c P30 notebook + 1734 1055 Amilo M1420 ++ e4bf cc47 CCG-RUMBA + 2449 82801BA/BAM/CA/CAM Ethernet Controller + 0e11 0012 EtherExpress PRO/100 VM + 0e11 0091 EtherExpress PRO/100 VE +@@ -11714,15 +13155,20 @@ + 244b 82801BA IDE U100 Controller + 1014 01c6 Netvista A40/A40p + 1028 00c7 Dimension 8100 ++ 1028 00d8 Precision 530 + 1028 010e Optiplex GX240 ++ 103c 126f e-pc 40 + 1043 8027 TUSL2-C Mainboard + 147b 0507 TH7II-RAID ++ 15d9 3280 Supermicro P4SBE Mainboard + 8086 4532 D815EEA2 mainboard + 8086 4557 D815EGEW Mainboard + 8086 5744 S845WD1-E mainboard + 244c 82801BAM ISA Bridge (LPC) + 244e 82801 PCI Bridge + 1014 0267 NetVista A30p ++ 1028 0211 Optiplex 755 ++ 1458 5000 GA-EP45-DS5 Motherboard + 2450 82801E ISA Bridge (LPC) + 2452 82801E USB Controller + 2453 82801E SMBus Controller +@@ -11752,7 +13198,7 @@ + 8086 1958 vpr Matrix 170B4 + 2485 82801CA/CAM AC'97 Audio Controller + 1013 5959 Crystal WMD Audio Codec +- 1014 0222 ThinkPad T23 (2647-4MG) or A30/A30p (2652/2653) ++ 1014 0222 ThinkPad A30/A30p/T23 + 1014 0508 ThinkPad T30 + 1014 051c ThinkPad A/T/X Series + 1043 1583 L3C (SPDIF) +@@ -11762,7 +13208,7 @@ + 144d c006 vpr Matrix 170B4 + 2486 82801CA/CAM AC'97 Modem Controller + 1014 0223 ThinkPad A/T/X Series +- 1014 0503 ThinkPad R31 2656BBG ++ 1014 0503 ThinkPad R31 + 1014 051a ThinkPad A/T/X Series + 101f 1025 620 Series + 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP +@@ -11790,15 +13236,19 @@ + 24c1 82801DBL (ICH4-L) IDE Controller + 24c2 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 + 1014 0267 NetVista A30p +- 1014 052d Thinkpad R50e model 1634 ++ 1014 052d ThinkPad + 1025 005a TravelMate 290 + 1028 0126 Optiplex GX260 + 1028 0163 Latitude D505 ++ 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet ++ 1043 8089 P4B533 + 1071 8160 MIM2000 ++ 114a 0582 PC8 onboard USB 1.x ++ 144d c005 X10 Laptop + 144d c00c P30/P35 notebook + 1462 5800 845PE Max (MS-6580) + 1509 2990 Averatec 5110H laptop +@@ -11811,14 +13261,17 @@ + e4bf 0cd2 CD2-BEBOP + 24c3 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller + 1014 0267 NetVista A30p +- 1014 052d Thinkpad R50e model 1634 ++ 1014 052d ThinkPad + 1025 005a TravelMate 290 + 1028 0126 Optiplex GX260 + 1028 014f Latitude X300 ++ 1028 018d Inspiron 700m/710m + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet + 1071 8160 MIM2000 ++ 114a 0582 PC8 onboard SMbus ++ 144d c005 X10 Laptop + 144d c00c P30/P35 notebook + 1458 24c2 GA-8PE667 Ultra + 1462 5800 845PE Max (MS-6580) +@@ -11829,14 +13282,16 @@ + e4bf 0cd2 CD2-BEBOP + 24c4 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 + 1014 0267 NetVista A30p +- 1014 052d Thinkpad R50e model 1634 ++ 1014 052d ThinkPad + 1025 005a TravelMate 290 + 1028 0126 Optiplex GX260 + 1028 0163 Latitude D505 ++ 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet ++ 1043 8089 P4B533 + 1071 8160 MIM2000 + 144d c00c P30/P35 notebook + 1462 5800 845PE Max (MS-6580) +@@ -11850,17 +13305,22 @@ + 24c5 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller + 0e11 00b8 Analog Devices Inc. codec [SoundMAX] + 1014 0267 NetVista A30p +- 1014 0537 Thinkpad T41 ++ 1014 0537 ThinkPad T41 + 1014 055f Thinkpad R50e model 1634 + 1025 005a TravelMate 290 + 1028 0139 Latitude D400 + 1028 014f Latitude X300 + 1028 0163 Latitude D505 ++ 1028 018d Inspiron 700m/710m [SigmaTel STAC9750,51] + 1028 0196 Inspiron 5160 + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet ++ 1043 1713 M6800N ++ 1043 80b0 P4B533 + 1071 8160 MIM2000 ++ 1179 0201 Toshiba Tecra M1 ++ 144d c005 X10 Laptop + 144d c00c P30/P35 notebook + 1458 a002 GA-8PE667 Ultra + 1462 5800 845PE Max (MS-6580) +@@ -11868,26 +13328,33 @@ + 1734 1055 Amilo M1420 + 8086 24c5 Dell Dimension 2400 + 24c6 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller +- 1014 0524 Thinkpad T41 +- 1014 0559 Thinkpad R50e model 1634 ++ 1014 0524 ThinkPad T41 ++ 1014 0525 ThinkPad ++ 1014 0559 ThinkPad R50e + 1025 003c Aspire 2001WLCi (Compal CL50 motherboard) implementation + 1025 005a TravelMate 290 + 1028 0196 Inspiron 5160 + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet ++ 1043 1826 M6800N + 1071 8160 MIM2000 ++ 144d 2115 X10 Laptop + 144d c00c P30/P35 notebook ++# Conexant HSF Softmodem (CXT22) ++ 14f1 5422 D480 MDC V.9x Modem + 24c7 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 + 1014 0267 NetVista A30p +- 1014 052d Thinkpad R50e model 1634 ++ 1014 052d ThinkPad + 1025 005a TravelMate 290 + 1028 0126 Optiplex GX260 + 1028 0163 Latitude D505 ++ 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet ++ 1043 8089 P4B533 + 1071 8160 MIM2000 + 144d c00c P30/P35 notebook + 1462 5800 845PE Max (MS-6580) +@@ -11899,21 +13366,25 @@ + e4bf 0cc9 CC9-SAMBA + e4bf 0cd2 CD2-BEBOP + 24ca 82801DBM (ICH4-M) IDE Controller +- 1014 052d Thinkpad R50e model 1634 ++ 1014 052d ThinkPad + 1025 005a TravelMate 290 + 1028 014f Latitude X300 + 1028 0163 Latitude D505 ++ 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet + 1071 8160 MIM2000 ++ 144d c005 X10 Laptop + 144d c00c P30/P35 notebook + 1734 1055 Amilo M1420 + 8086 4541 Latitude D400 + 24cb 82801DB (ICH4) IDE Controller + 1014 0267 NetVista A30p + 1028 0126 Optiplex GX260 ++ 1043 8089 P4B533 ++ 114a 0582 PC8 onboard IDE + 1458 24c2 GA-8PE667 Ultra + 1462 5800 845PE Max (MS-6580) + 1734 1004 D1451 Mainboard (SCENIC N300, i845GV) +@@ -11925,18 +13396,22 @@ + 1734 1055 Amilo M1420 + 24cd 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller + 1014 0267 NetVista A30p +- 1014 052e Thinkpad R50e model 1634 ++ 1014 052e ThinkPad + 1025 005a TravelMate 290 + 1028 011d Latitude D600 + 1028 0126 Optiplex GX260 + 1028 0139 Latitude D400 + 1028 0163 Latitude D505 ++ 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet ++ 1043 8089 P4B533 + 1071 8160 MIM2000 ++ 114a 0582 PC8 onboard USB 2.0 + 1179 ff00 Satellite 2430 ++ 144d c005 X10 Laptop + 144d c00c P30/P35 notebook + 1462 3981 845PE Max (MS-6580) + 1509 1968 Averatec 5110H +@@ -11951,7 +13426,7 @@ + 1028 0169 Precision 470 + 1028 019a PowerEdge SC1425 + 103c 12bc d530 CMT (DG746A) +- 1043 80a6 P4P800 SE Mainboard ++ 1043 80a6 P4P800 series motherboard + 1458 24d1 GA-8IPE1000 Pro2 motherboard (865PE) + 1462 7280 865PE Neo2 (MS-6728) + 1565 5200 P4TSV Motherboard (865G) +@@ -11964,16 +13439,18 @@ + 1014 02dd eServer xSeries server mainboard + 1014 02ed eServer xSeries server mainboard + 1028 0169 Precision 470 ++ 1028 016c PowerEdge 1850 ++ 1028 016d PowerEdge 2850 onboard UHCI + 1028 0183 PowerEdge 1800 + 1028 019a PowerEdge SC1425 + 103c 006a NX9500 + 103c 12bc d530 CMT (DG746A) +- 1043 80a6 P5P800-MX Mainboard ++ 1043 80a6 P4P800/P5P800 series motherboard + 1458 24d2 GA-8IPE1000/8KNXP motherboard + 1462 7280 865PE Neo2 (MS-6728) + 1565 3101 P4TSV Motherboard (865G) + 15d9 4580 P4SCE Mainboard +- 1734 101c Primergy RX300 S2 ++ 1734 101c PRIMERGY RX/TX series onboard UHCI + 8086 3427 S875WP1-E mainboard + 8086 4246 Desktop Board D865GBF + 8086 4c43 Desktop Board D865GLC +@@ -11989,7 +13466,7 @@ + 1462 7280 865PE Neo2 (MS-6728) + 1565 3101 P4TSV Motherboard (865G) + 15d9 4580 P4SCE Mainboard +- 1734 101c Primergy RX300 S2 ++ 1734 101c PRIMERGY RX/TX S2 series SMBus + 8086 3427 S875WP1-E mainboard + 8086 4246 Desktop Board D865GBF + 8086 4c43 Desktop Board D865GLC +@@ -11998,16 +13475,18 @@ + 1014 02dd eServer xSeries server mainboard + 1014 02ed eServer xSeries server mainboard + 1028 0169 Precision 470 ++ 1028 016c PowerEdge 1850 ++ 1028 016d PowerEdge 2850 onboard UHCI + 1028 0183 PowerEdge 1800 + 1028 019a PowerEdge SC1425 + 103c 006a NX9500 + 103c 12bc d530 CMT (DG746A) +- 1043 80a6 P5P800-MX Mainboard ++ 1043 80a6 P4P800/P5P800 series motherboard + 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) + 1462 7280 865PE Neo2 (MS-6728) + 1565 3101 P4TSV Motherboard (865G) + 15d9 4580 P4SCE Mainboard +- 1734 101c Primergy RX300 S2 ++ 1734 101c PRIMERGY RX/TX S2 series onboard UHCI + 8086 3427 S875WP1-E mainboard + 8086 4246 Desktop Board D865GBF + 8086 4c43 Desktop Board D865GLC +@@ -12020,7 +13499,7 @@ + 1043 80f3 P4P800 Mainboard + 1043 810f P5P800-MX Mainboard + 1458 a002 GA-8IPE1000/8KNXP motherboard +- 1462 0080 65PE Neo2-V (MS-6788) mainboard ++ 1462 0080 865PE Neo2-V (MS-6788) Mainboard + 1462 7280 865PE Neo2 (MS-6728) + 8086 a000 D865PERL mainboard + 8086 e000 D865PERL mainboard +@@ -12031,15 +13510,17 @@ + 24d7 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 + 1014 02ed xSeries server mainboard + 1028 0169 Precision 470 ++ 1028 016c PowerEdge 1850 ++ 1028 016d PowerEdge 2850 onboard UHCI + 1028 0183 PowerEdge 1800 + 103c 006a NX9500 + 103c 12bc d530 CMT (DG746A) +- 1043 80a6 P5P800-MX Mainboard ++ 1043 80a6 P4P800/P5P800 series motherboard + 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) + 1462 7280 865PE Neo2 (MS-6728) + 1565 3101 P4TSV Motherboard (865G) + 15d9 4580 P4SCE Mainboard +- 1734 101c Primergy RX300 S2 ++ 1734 101c PRIMERGY RX/TX S2 series onboard UHCI + 8086 3427 S875WP1-E mainboard + 8086 4246 Desktop Board D865GBF + 8086 4c43 Desktop Board D865GLC +@@ -12048,16 +13529,18 @@ + 1014 02dd eServer xSeries server mainboard + 1014 02ed eServer xSeries server mainboard + 1028 0169 Precision 470 ++ 1028 016c PowerEdge 1850 ++ 1028 016d PowerEdge 2850 onboard UHCI + 1028 019a PowerEdge SC1425 + 103c 006a NX9500 + 103c 12bc d530 CMT (DG746A) +- 1043 80a6 P5P800-MX Mainboard ++ 1043 80a6 P4P800/P5P800 series motherboard + 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) + 1462 7280 865PE Neo2 (MS-6728) + 1462 7580 MSI 875P + 1565 3101 P4TSV Motherboard (865G) + 15d9 4580 P4SCE Mainboard +- 1734 101c Primergy RX300 S2 ++ 1734 101c PRIMERGY RX/TX S2 series onboard IDE + 8086 24db P4C800 Mainboard + 8086 3427 S875WP1-E mainboard + 8086 4246 Desktop Board D865GBF +@@ -12068,11 +13551,13 @@ + 1014 02dd eServer xSeries server mainboard + 1014 02ed eServer xSeries server mainboard + 1028 0169 Precision 470 ++ 1028 016c PowerEdge 1850 ++ 1028 016d PowerEdge 2850 onboard EHCI + 1028 0183 PowerEdge 1800 + 1028 019a PowerEdge SC1425 + 103c 006a NX9500 + 103c 12bc d530 CMT (DG746A) +- 1043 80a6 P5P800-MX Mainboard ++ 1043 80a6 P4P800/P5P800 series motherboard + 1458 5006 GA-8IPE1000 Pro2 motherboard (865PE) + 1462 7280 865PE Neo2 (MS-6728) + 8086 3427 S875WP1-E mainboard +@@ -12082,12 +13567,12 @@ + 24de 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 + 1014 02ed xSeries server mainboard + 1028 0169 Precision 470 +- 1043 80a6 P5P800-MX Mainboard ++ 1043 80a6 P4P800/P5P800 series motherboard + 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) + 1462 7280 865PE Neo2 (MS-6728) + 1565 3101 P4TSV Motherboard (865G) + 15d9 4580 P4SCE Mainboard +- 1734 101c Primergy RX300 S2 ++ 1734 101c PRIMERGY RX/TX S2 series onboard UHCI + 8086 3427 S875WP1-E mainboard + 8086 4246 Desktop Board D865GBF + 8086 4c43 Desktop Board D865GLC +@@ -12106,6 +13591,7 @@ + 1028 00c7 Dimension 8100 + 147b 0507 TH7II-RAID + 2531 82860 860 (Wombat) Chipset Host Bridge (MCH) ++ 1028 00d8 Precision 530 + 2532 82850 850 (Tehama) Chipset AGP Bridge + 2533 82860 860 (Wombat) Chipset AGP Bridge + 2534 82860 860 (Wombat) Chipset PCI Bridge +@@ -12139,17 +13625,19 @@ + 2562 82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device + 0e11 00b9 Evo D510 SFF + 1014 0267 NetVista A30p ++ 1734 1003 D1521 Mainboard (Fujitsu-Siemens) + 1734 1004 D1451 Mainboard (SCENIC N300, i845GV) + 2570 82865G/PE/P DRAM Controller/Host-Hub Interface + 103c 006a NX9500 + 103c 12bc d330 uT +- 1043 80f2 P5P800-MX Mainboard ++ 1043 80f2 P4P800/P5P800 series motherboard + 1458 2570 GA-8IPE1000 Pro2 motherboard (865PE) + 2571 82865G/PE/P PCI to AGP Controller + 2572 82865G Integrated Graphics Controller + 1028 019d Dimension 3000 + 103c 12bc D530 sff(dc578av) + 1043 80a5 P5P800-MX Mainboard ++ 1734 101b Fujitsu-Siemens Scenic E300 i865GV + 8086 4246 Desktop Board D865GBF + 8086 4c43 Desktop Board D865GLC + 2573 82865G/PE/P PCI to CSA Bridge +@@ -12172,19 +13660,25 @@ + 1043 2582 P5GD1-VW Mainboard + 1458 2582 GA-8I915ME-G Mainboard + 1734 105b Scenic W620 ++ 1849 2582 ASRock P4Dual-915GL + 2584 82925X/XE Memory Controller Hub ++ 1028 0177 Dimension 8400 + 2585 82925X/XE PCI Express Root Port + 2588 E7220/E7221 Memory Controller Hub + 2589 E7220/E7221 PCI Express Root Port + 258a E7221 Integrated Graphics Controller + 2590 Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller ++ 1014 0575 ThinkPad Z60t + 1028 0182 Dell Latidude C610 ++ 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 ++ 104d 81b7 Vaio VGN-S3XP + a304 81b7 Vaio VGN-S3XP + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2591 Mobile 915GM/PM Express PCI Express Root Port ++ 103c 0934 HP Compaq nw8240 Mobile Workstation + 2592 Mobile 915GM/GMS/910GML Express Graphics Controller + 103c 099c NX6110/NC6120 + 103c 308a NC6220 +@@ -12228,6 +13722,7 @@ + 1775 1100 CR11/VR11 Single Board Computer + 1775 ce90 CE9 + 4c53 10b0 CL9 mainboard ++ 4c53 10d0 Telum ASLP10 Processor AMC + 4c53 10e0 PSL09 PrPMC + 25ab 6300ESB Watchdog Timer + 1775 10d0 V5D Single Board Computer +@@ -12258,7 +13753,9 @@ + 25c0 5000X Chipset Memory Controller Hub + 25d0 5000Z Chipset Memory Controller Hub + 25d4 5000V Chipset Memory Controller Hub ++ 15d9 8680 X7DVL-E-O motherboard + 25d8 5000P Chipset Memory Controller Hub ++ 8086 3476 Intel S5000PSLSATA Server Board + 25e2 5000 Series Chipset PCI Express x4 Port 2 + 25e3 5000 Series Chipset PCI Express x4 Port 3 + 25e4 5000 Series Chipset PCI Express x4 Port 4 +@@ -12266,10 +13763,20 @@ + 25e6 5000 Series Chipset PCI Express x4 Port 6 + 25e7 5000 Series Chipset PCI Express x4 Port 7 + 25f0 5000 Series Chipset FSB Registers ++ 15d9 8680 X7DVL-E-O motherboard ++ 8086 3476 Intel S5000PSLSATA Server Board + 25f1 5000 Series Chipset Reserved Registers ++ 15d9 8680 X7DVL-E-O motherboard ++ 8086 3476 Intel S5000PSLSATA Server Board + 25f3 5000 Series Chipset Reserved Registers ++ 15d9 8680 X7DVL-E-O motherboard ++ 8086 3476 Intel S5000PSLSATA Server Board + 25f5 5000 Series Chipset FBD Registers ++ 15d9 8680 X7DVL-E-O motherboard ++ 8086 3476 Intel S5000PSLSATA Server Board + 25f6 5000 Series Chipset FBD Registers ++ 15d9 8680 X7DVL-E-O motherboard ++ 8086 3476 Intel S5000PSLSATA Server Board + 25f7 5000 Series Chipset PCI Express x8 Port 2-3 + 25f8 5000 Series Chipset PCI Express x8 Port 4-5 + 25f9 5000 Series Chipset PCI Express x8 Port 6-7 +@@ -12315,6 +13822,7 @@ + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2641 82801FBM (ICH6M) LPC Interface Bridge ++ 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 2642 82801FW/FRW (ICH6W/ICH6RW) LPC Interface Bridge + 2651 82801FB/FW (ICH6/ICH6W) SATA Controller +@@ -12326,10 +13834,13 @@ + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2652 82801FR/FRW (ICH6R/ICH6RW) SATA Controller ++ 1028 0177 Dimension 8400 + 1462 7028 915P/G Neo2 + 2653 82801FBM (ICH6M) SATA Controller + 2658 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 ++ 1028 0177 Dimension 8400 + 1028 0179 Optiplex GX280 ++ 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 1043 80a6 P5GD1-VW Mainboard + 1458 2558 GA-8I915ME-G Mainboard +@@ -12339,7 +13850,9 @@ + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2659 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 ++ 1028 0177 Dimension 8400 + 1028 0179 Optiplex GX280 ++ 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 1043 80a6 P5GD1-VW Mainboard + 1458 2659 GA-8I915ME-G Mainboard +@@ -12349,7 +13862,9 @@ + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 265a 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 ++ 1028 0177 Dimension 8400 + 1028 0179 Optiplex GX280 ++ 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 1043 80a6 P5GD1-VW Mainboard + 1458 265a GA-8I915ME-G Mainboard +@@ -12359,6 +13874,7 @@ + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 265b 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 ++ 1028 0177 Dimension 8400 + 1028 0179 Optiplex GX280 + 103c 099c NX6110/NC6120 + 1043 80a6 P5GD1-VW Mainboard +@@ -12369,7 +13885,9 @@ + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 265c 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller ++ 1028 0177 Dimension 8400 + 1028 0179 Optiplex GX280 ++ 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 1043 80a6 P5GD1-VW Mainboard + 1458 5006 GA-8I915ME-G Mainboard +@@ -12380,11 +13898,13 @@ + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2660 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 ++ 103c 0934 HP Compaq nw8240 Mobile Workstation + 103c 099c NX6110/NC6120 + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2662 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 ++ 103c 0934 HP Compaq nw8240 Mobile Workstation + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 +@@ -12397,10 +13917,14 @@ + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2668 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller ++ 1014 05b7 ThinkPad Z60t + # based on the PTGD1-LA motherboard + 103c 2a09 PufferM-UL8E ++ 1043 1173 Asus A6VC + 1043 814e P5GD1-VW Mainboard ++ 1462 7028 915P/G Neo2 + 266a 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller ++ 1028 0177 Dimension 8400 + 1028 0179 Optiplex GX280 + 1043 80a6 P5GD1-VW Mainboard + 1458 266a GA-8I915ME-G Mainboard +@@ -12412,12 +13936,16 @@ + 266c 82801FB/FBM/FR/FW/FRW (ICH6 Family) LAN Controller + 266d 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller + 1025 006a Conexant AC'97 CoDec (in Acer TravelMate 2410 serie laptop) ++ 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 266e 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller + 1025 006a Realtek ALC 655 codec (in Acer TravelMate 2410 serie laptop) ++ 1028 0177 Dimension 8400 + 1028 0179 Optiplex GX280 + 1028 0182 Latitude D610 Laptop ++ 1028 0187 Dell Precision M70 Laptop + 1028 0188 Inspiron 6000 laptop ++ 103c 0934 Compaq nw8240/nx8220 + 103c 0944 Compaq NC6220 + 103c 099c NX6110/NC6120 + 103c 3006 DC7100 SFF(DX878AV) +@@ -12425,6 +13953,8 @@ + 152d 0745 Packard Bell A8550 Laptop + 1734 105a Scenic W620 + 266f 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller ++ 1028 0177 Dimension 8400 ++ 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 1043 80a6 P5GD1-VW Mainboard + 1458 266f GA-8I915ME-G Mainboard +@@ -12434,15 +13964,29 @@ + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2670 631xESB/632xESB/3100 Chipset LPC Interface Controller ++ 15d9 8680 X7DVL-E-O motherboard ++ 8086 3476 Intel S5000PSLSATA Server Board + 2680 631xESB/632xESB/3100 Chipset SATA IDE Controller + 2681 631xESB/632xESB SATA AHCI Controller ++ 15d9 8680 X7DVL-E-O motherboard ++ 8086 3476 Intel S5000PSLSATA Server Board + 2682 631xESB/632xESB SATA RAID Controller + 2683 631xESB/632xESB SATA RAID Controller + 2688 631xESB/632xESB/3100 Chipset UHCI USB Controller #1 ++ 15d9 8680 X7DVL-E-O motherboard ++ 8086 3476 Intel S5000PSLSATA Server Board + 2689 631xESB/632xESB/3100 Chipset UHCI USB Controller #2 ++ 15d9 8680 X7DVL-E-O motherboard ++ 8086 3476 Intel S5000PSLSATA Server Board + 268a 631xESB/632xESB/3100 Chipset UHCI USB Controller #3 ++ 15d9 8680 X7DVL-E-O motherboard ++ 8086 3476 Intel S5000PSLSATA Server Board + 268b 631xESB/632xESB/3100 Chipset UHCI USB Controller #4 ++ 15d9 8680 X7DVL-E-O motherboard ++ 8086 3476 Intel S5000PSLSATA Server Board + 268c 631xESB/632xESB/3100 Chipset EHCI USB2 Controller ++ 15d9 8680 X7DVL-E-O motherboard ++ 8086 3476 Intel S5000PSLSATA Server Board + 2690 631xESB/632xESB/3100 Chipset PCI Express Root Port 1 + 2692 631xESB/632xESB/3100 Chipset PCI Express Root Port 2 + 2694 631xESB/632xESB/3100 Chipset PCI Express Root Port 3 +@@ -12451,20 +13995,28 @@ + 2699 631xESB/632xESB AC '97 Modem Controller + 269a 631xESB/632xESB High Definition Audio Controller + 269b 631xESB/632xESB/3100 Chipset SMBus Controller ++ 15d9 8680 X7DVL-E-O motherboard ++ 8086 3476 Intel S5000PSLSATA Server Board + 269e 631xESB/632xESB IDE Controller ++ 15d9 8680 X7DVL-E-O motherboard + 2770 82945G/GZ/P/PL Memory Controller Hub ++ 1028 01ad OptiPlex GX620 + 107b 5048 E4500 + 8086 544e DeskTop Board D945GTP + 2771 82945G/GZ/P/PL PCI Express Root Port + 2772 82945G/GZ Integrated Graphics Controller + 8086 544e DeskTop Board D945GTP ++ 8086 d605 Intel Desktop Board D945GCCR + 2774 82955X Memory Controller Hub + 2775 82955X PCI Express Root Port + 2776 82945G/GZ Integrated Graphics Controller + 2778 E7230/3000/3010 Memory Controller Hub ++ 1028 01df PowerEdge SC440 ++ 1028 01e6 PowerEdge 860 + 2779 E7230/3000/3010 PCI Express Root Port + 277a 82975X/3010 PCI Express Root Port + 277c 82975X Memory Controller Hub ++ 1043 8178 P5WDG2 WS Professional motherboard + 277d 82975X PCI Express Root Port + 2782 82915G Integrated Graphics Controller + 1043 2582 P5GD1-VW Mainboard +@@ -12477,168 +14029,410 @@ + e4bf 58b1 XB1 + 27a0 Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub + 1025 006c 9814 WKMI ++ 1028 01d7 XPS M1210 + 103c 30a1 NC2400 +- 17aa 2017 Thinkpad R60e model 0657 ++ 103c 30a3 Compaq nw8440 ++ 17aa 2015 ThinkPad T60 ++ 17aa 2017 ThinkPad T60/R60 series + 27a1 Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port ++ 103c 30a3 Compaq nw8440 + 27a2 Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller + 103c 30a1 NC2400 +- 17aa 201a Thinkpad R60e model 0657 +- 27a6 Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller ++ 17aa 201a ThinkPad T60/R60 series ++ 27a6 Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller + 103c 30a1 NC2400 +- 17aa 201a Thinkpad R60e model 0657 ++ 17aa 201a ThinkPad T60/R60 series ++ 27ac Mobile 945GME Express Memory Controller Hub ++ 27ad Mobile 945GME Express PCI Express Root Port ++ 27ae Mobile 945GME Express Integrated Graphics Controller + 27b0 82801GH (ICH7DH) LPC Interface Bridge ++ 8086 544e DeskTop Board D945GTP + 27b8 82801GB/GR (ICH7 Family) LPC Interface Bridge ++ 1028 01e6 PowerEdge 860 ++ 1043 8179 P5KPL-VM Motherboard + 107b 5048 E4500 + 8086 544e DeskTop Board D945GTP + 27b9 82801GBM (ICH7-M) LPC Interface Bridge ++ 1028 01d7 XPS M1210 ++ 103c 309f HP Compaq nx9420 + 103c 30a1 NC2400 ++ 103c 30a3 Compaq nw8440 + 10f7 8338 Panasonic CF-Y5 laptop + 17aa 2009 ThinkPad T60/R60 series + 27bd 82801GHM (ICH7-M DH) LPC Interface Bridge + 1025 006c 9814 WKMI + 27c0 82801GB/GR/GH (ICH7 Family) SATA IDE Controller ++ 1028 01ad OptiPlex GX620 ++ 1028 01df PowerEdge SC440 ++ 1028 01e6 PowerEdge 860 ++ 1043 8179 P5KPL-VM Motherboard + 107b 5048 E4500 ++ 1462 2310 MSI Hetis 945 ++ 1462 7236 945P Neo3-F Rev. 2.2 motherboard + 8086 544e DeskTop Board D945GTP + 27c1 82801GR/GH (ICH7 Family) SATA AHCI Controller ++ 1028 01df PowerEdge SC440 ++ 8086 5842 DeskTop Board D975XBX + 27c3 82801GR/GH (ICH7 Family) SATA RAID Controller ++ 8086 544e DeskTop Board D945GTP + 27c4 82801GBM/GHM (ICH7 Family) SATA IDE Controller + 1025 006c 9814 WKMI ++ 1028 01d7 XPS M1210 ++ 17aa 200e Thinkpad T60 model 2007 + 27c5 82801GBM/GHM (ICH7 Family) SATA AHCI Controller +- 17aa 200d Thinkpad R60e model 0657 ++ 103c 30a3 Compaq nw8440 ++ 17aa 200d ThinkPad T60/R60 series + 27c6 82801GHM (ICH7-M DH) SATA RAID Controller + 27c8 82801G (ICH7 Family) USB UHCI Controller #1 + 1025 006c 9814 WKMI ++ 1028 01ad OptiPlex GX620 ++ 1028 01d7 XPS M1210 ++ 1028 01df PowerEdge SC440 ++ 1028 01e6 PowerEdge 860 + 103c 30a1 NC2400 ++ 103c 30a3 Compaq nw8440 ++ 1043 8179 P5KPL-VM Motherboard + 107b 5048 E4500 + 17aa 200a ThinkPad T60/R60 series + 8086 544e DeskTop Board D945GTP + 27c9 82801G (ICH7 Family) USB UHCI Controller #2 + 1025 006c 9814 WKMI ++ 1028 01ad OptiPlex GX620 ++ 1028 01d7 XPS M1210 ++ 1028 01df PowerEdge SC440 ++ 1028 01e6 PowerEdge 860 + 103c 30a1 NC2400 ++ 103c 30a3 Compaq nw8440 ++ 1043 8179 P5KPL-VM Motherboard + 107b 5048 E4500 + 17aa 200a ThinkPad T60/R60 series + 8086 544e DeskTop Board D945GTP + 27ca 82801G (ICH7 Family) USB UHCI Controller #3 + 1025 006c 9814 WKMI ++ 1028 01ad OptiPlex GX620 ++ 1028 01d7 XPS M1210 ++ 1028 01df PowerEdge SC440 ++ 1028 01e6 PowerEdge 860 + 103c 30a1 NC2400 ++ 103c 30a3 Compaq nw8440 ++ 1043 8179 P5KPL-VM Motherboard + 107b 5048 E4500 + 17aa 200a ThinkPad T60/R60 series + 8086 544e DeskTop Board D945GTP + 27cb 82801G (ICH7 Family) USB UHCI Controller #4 + 1025 006c 9814 WKMI ++ 1028 01ad OptiPlex GX620 ++ 1028 01d7 XPS M1210 ++ 1028 01df PowerEdge SC440 + 103c 30a1 NC2400 ++ 103c 30a3 Compaq nw8440 ++ 1043 8179 P5KPL-VM Motherboard + 107b 5048 E4500 + 17aa 200a ThinkPad T60/R60 series + 8086 544e DeskTop Board D945GTP + 27cc 82801G (ICH7 Family) USB2 EHCI Controller + 1025 006c 9814 WKMI ++ 1028 01ad OptiPlex GX620 ++ 1028 01d7 XPS M1210 ++ 1028 01df PowerEdge SC440 ++ 1028 01e6 PowerEdge 860 + 103c 30a1 NC2400 ++ 103c 30a3 Compaq nw8440 ++ 1043 8179 P5KPL-VM Motherboard + 17aa 200b ThinkPad T60/R60 series + 8086 544e DeskTop Board D945GTP + 27d0 82801G (ICH7 Family) PCI Express Port 1 ++ 103c 30a3 Compaq nw8440 + 27d2 82801G (ICH7 Family) PCI Express Port 2 ++ 103c 30a3 Compaq nw8440 + 27d4 82801G (ICH7 Family) PCI Express Port 3 + 27d6 82801G (ICH7 Family) PCI Express Port 4 ++ 103c 30a3 Compaq nw8440 + 27d8 82801G (ICH7 Family) High Definition Audio Controller + 1025 006c 9814 WKMI ++ 1028 01d7 XPS M1210 + 103c 30a1 NC2400 ++ 103c 30a3 Compaq nw8440 + 1043 13c4 Asus G2P ++ 1043 8290 P5KPL-VM Motherboard + 107b 5048 E4500 + 10f7 8338 Panasonic CF-Y5 laptop ++ 1179 ff10 Toshiba Satellite A100-796 audio (Realtek ALC861) + 1179 ff31 AC97 Data Fax SoftModem with SmartCP ++ 1458 a102 GA-8I945PG-RH Mainboard + 152d 0753 Softmodem + 1734 10ad Conexant softmodem SmartCP + 17aa 2010 ThinkPad T60/R60 series + 17aa 3802 Lenovo 3000 C200 audio [Realtek ALC861VD] ++ 8086 1112 DeskTop Board D945GTP ++ 8086 27d8 DeskTop Board D945GTP + 27da 82801G (ICH7 Family) SMBus Controller + 1025 006c 9814 WKMI ++ 1028 01ad OptiPlex GX620 ++ 1028 01d7 XPS M1210 ++ 1028 01df PowerEdge SC440 ++ 1028 01e6 PowerEdge 860 ++ 1043 8179 P5KPL-VM Motherboard + 10f7 8338 Panasonic CF-Y5 laptop ++ 1458 5001 GA-8I945PG-RH Mainboard + 17aa 200f ThinkPad T60/R60 series + 8086 544e DeskTop Board D945GTP ++ 8086 5842 DeskTop Board D975XBX + 27dc 82801G (ICH7 Family) LAN Controller + 8086 308d DeskTop Board D945GTP + 27dd 82801G (ICH7 Family) AC'97 Modem Controller + 27de 82801G (ICH7 Family) AC'97 Audio Controller ++ 1028 01ad OptiPlex GX620 ++ 1462 7267 Realtek ALC883 Audio Controller + 27df 82801G (ICH7 Family) IDE Controller ++ 1028 01df PowerEdge SC440 ++ 1028 01e6 PowerEdge 860 + 103c 30a1 NC2400 ++ 103c 30a3 Compaq nw8440 ++ 1043 8179 P5KPL-VM Motherboard + 107b 5048 E4500 + 10f7 8338 Panasonic CF-Y5 laptop +- 17aa 200c Thinkpad R60e model 0657 ++ 17aa 200c ThinkPad T60/R60 series + 8086 544e DeskTop Board D945GTP + 27e0 82801GR/GH/GHM (ICH7 Family) PCI Express Port 5 + 27e2 82801GR/GH/GHM (ICH7 Family) PCI Express Port 6 + 2810 82801HB/HR (ICH8/R) LPC Interface Controller +- 2811 Mobile LPC Interface Controller ++ 1043 81ec P5B ++ 2811 82801HBM (ICH8M-E) LPC Interface Controller ++ 103c 30c1 Compaq 6910p ++ 17aa 20b6 T61 ++ e4bf cc47 CCG-RUMBA + 2812 82801HH (ICH8DH) LPC Interface Controller + 2814 82801HO (ICH8DO) LPC Interface Controller +- 2815 Mobile LPC Interface Controller ++ 2815 82801HEM (ICH8M) LPC Interface Controller ++ 1025 0121 Aspire 5920G ++ 1028 01f3 Inspiron 1420 ++ 103c 30c0 Compaq 6710b ++ 103c 30d9 Presario C700 ++ 104d 9005 Vaio VGN-FZ260E + 2820 82801H (ICH8 Family) 4 port SATA IDE Controller ++ 1028 01da OptiPlex 745 + 1462 7235 P965 Neo MS-7235 mainboard + 2821 82801HR/HO/HH (ICH8R/DO/DH) 6 port SATA AHCI Controller + 2822 82801 SATA RAID Controller + 2824 82801HB (ICH8) 4 port SATA AHCI Controller ++ 1043 81ec P5B + 2825 82801H (ICH8 Family) 2 port SATA IDE Controller ++ 1028 01da OptiPlex 745 + 1462 7235 P965 Neo MS-7235 mainboard +- 2828 Mobile SATA IDE Controller +- 2829 Mobile SATA AHCI Controller +- 282a Mobile SATA RAID Controller ++ 2828 82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE Controller ++ 1028 01f3 Inspiron 1420 ++ e4bf cc47 CCG-RUMBA ++ 2829 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller ++ 1025 0121 Aspire 5920G ++ 103c 30c0 Compaq 6710b ++ 103c 30c1 Compaq 6910p ++ 103c 30d9 Presario C700 ++ 104d 9005 Vaio VGN-FZ260E ++ 17aa 20a7 ThinkPad T61 ++ 282a Mobile 82801 SATA RAID Controller + 2830 82801H (ICH8 Family) USB UHCI Controller #1 ++ 1025 0121 Acer Aspire 5920G ++ 1028 01da OptiPlex 745 ++ 1028 01f3 Inspiron 1420 ++ 103c 30c0 Compaq 6710b ++ 103c 30c1 Compaq 6910p ++ 103c 30d9 Presario C700 ++ 1043 81ec P5B ++ 104d 9005 Vaio VGN-FZ260E + 1462 7235 P965 Neo MS-7235 mainboard ++ 17aa 20aa ThinkPad T61 ++ e4bf cc47 CCG-RUMBA + 2831 82801H (ICH8 Family) USB UHCI Controller #2 ++ 1025 0121 Aspire 5920G ++ 1028 01da OptiPlex 745 ++ 1028 01f3 Inspiron 1420 ++ 103c 30c0 Compaq 6710b ++# Name mistyped on previous submission ++ 103c 30c1 Compaq 6910p ++ 103c 30d9 Presario C700 ++ 1043 81ec P5B ++ 104d 9005 Vaio VGN-FZ260E + 1462 7235 P965 Neo MS-7235 mainboard ++ 17aa 20aa ThinkPad T61 ++ e4bf cc47 CCG-RUMBA + 2832 82801H (ICH8 Family) USB UHCI Controller #3 +- 2834 82801H (ICH8 Family) USB UHCI Contoller #4 ++ 1025 0121 Aspire 5920G ++ 1028 01da OptiPlex 745 ++ 1028 01f3 Inspiron 1420 ++ 103c 30c0 Compaq 6710b ++ 103c 30c1 Compaq 6910p ++ 103c 30d9 Presario C700 ++ 1043 81ec P5B ++ 104d 9005 Vaio VGN-FZ260E ++ 17aa 20aa ThinkPad T61 ++ e4bf cc47 CCG-RUMBA ++ 2834 82801H (ICH8 Family) USB UHCI Controller #4 ++ 1025 0121 Aspire 5920G ++ 1028 01da OptiPlex 745 ++ 1028 01f3 Inspiron 1420 ++ 103c 30c0 Compaq 6710b ++ 103c 30c1 Compaq 6910p ++ 1043 81ec P5B ++ 104d 9005 Vaio VGN-FZ260E + 1462 7235 P965 Neo MS-7235 mainboard ++ 17aa 20aa ThinkPad T61 ++ e4bf cc47 CCG-RUMBA + 2835 82801H (ICH8 Family) USB UHCI Controller #5 ++ 1025 0121 Acer Aspire 5920G ++ 1028 01da OptiPlex 745 ++ 1028 01f3 Inspiron 1420 ++ 103c 30c0 Compaq 6710b ++ 103c 30c1 Compaq 6910p ++ 1043 81ec P5B ++ 104d 9005 Vaio VGN-FZ260E ++ 17aa 20aa ThinkPad T60 ++ e4bf cc47 CCG-RUMBA + 2836 82801H (ICH8 Family) USB2 EHCI Controller #1 ++ 1025 0121 Aspire 5920G ++ 1028 01da OptiPlex 745 ++ 1028 01f3 Inspiron 1420 ++ 103c 30c0 Compaq 6710b ++ 103c 30c1 Compaq 6910p ++ 103c 30d9 Presario C700 ++ 1043 81ec P5B ++ 104d 9005 Vaio VGN-FZ260E + 1462 7235 P965 Neo MS-7235 mainboard ++ 17aa 20ab ThinkPad T61 ++ e4bf cc47 CCG-RUMBA + 283a 82801H (ICH8 Family) USB2 EHCI Controller #2 ++ 1025 0121 Acer Aspire 5920G ++ 1028 01da OptiPlex 745 ++ 1028 01f3 Inspiron 1420 ++ 103c 30c0 Compaq 6710b ++ 103c 30c1 Compaq 6910p ++ 1043 81ec P5B ++ 104d 9005 Vaio VGN-FZ260E ++ 17aa 20ab ThinkPad T61 ++ e4bf cc47 CCG-RUMBA + 283e 82801H (ICH8 Family) SMBus Controller ++ 1025 0121 Aspire 5920G ++ 1028 01da OptiPlex 745 ++ 1028 01f3 Inspiron 1420 ++ 103c 30d9 Presario C700 ++ 1043 81ec P5B ++ 104d 9005 Vaio VGN-FZ260E + 1462 7235 P965 Neo MS-7235 mainboard ++ 17aa 20a9 ThinkPad T61 ++ e4bf cc47 CCG-RUMBA + 283f 82801H (ICH8 Family) PCI Express Port 1 ++ 1028 01da OptiPlex 745 ++ 103c 30c1 Compaq 6910p + 2841 82801H (ICH8 Family) PCI Express Port 2 ++ 103c 30c1 Compaq 6910p + 2843 82801H (ICH8 Family) PCI Express Port 3 + 2845 82801H (ICH8 Family) PCI Express Port 4 + 2847 82801H (ICH8 Family) PCI Express Port 5 ++ 1028 01da OptiPlex 745 ++ 103c 30c1 Compaq 6910p + 2849 82801H (ICH8 Family) PCI Express Port 6 + 284b 82801H (ICH8 Family) HD Audio Controller ++ 1025 011f Realtek ALC268 audio codec ++ 1025 0121 Aspire 5920G ++ 1025 0145 Realtek ALC889 (Aspire 8920G w. Dolby Theather) ++ 1028 01da OptiPlex 745 ++ 1028 01f3 Inspiron 1420 ++ 1028 01f9 Dell Latitude D630 ++ 1028 01ff Dell Precision M4300 ++ 103c 2802 HP Compaq dc7700p ++ 103c 30c0 Compaq 6710b ++ 103c 30c1 Compaq 6910p ++ 1043 1339 Asus M51S series ++ 1043 81ec P5B ++ 104d 9005 Vaio VGN-FZ260E ++ 104d 9016 Sony VAIO VGN-AR51M ++ 14f1 5051 Presario C700 ++ 17aa 20ac ThinkPad T61 ++ 8384 7616 Dell Vostro 1400 + 284f 82801H (ICH8 Family) Thermal Reporting Device +- 2850 Mobile IDE Controller +- 2910 LPC Interface Controller +- 2911 LPC Interface Controller +- 2912 LPC Interface Controller +- 2914 LPC Interface Controller +- 2916 LPC Interface Controller +- 2918 LPC Interface Controller +- 2920 4 port SATA IDE Controller +- 2921 2 port SATA IDE Controller +- 2922 6 port SATA AHCI Controller +- 2923 4 port SATA AHCI Controller +- 2925 SATA RAID Controller +- 2926 2 port SATA IDE Controller +- 2928 Mobile 2 port SATA IDE Controller +- 2929 Mobile SATA AHCI Controller +- 292c Mobile SATA RAID Controller +- 292d Mobile 2 port SATA IDE Controller +- 292e Mobile 1 port SATA IDE Controller +- 2930 SMBus Controller +- 2932 Thermal Subsystem +- 2934 USB UHCI Controller #1 +- 2935 USB UHCI Controller #2 +- 2936 USB UHCI Controller #3 +- 2937 USB UHCI Controller #4 +- 2938 USB UHCI Controller #5 +- 2939 USB UHCI Controller #6 +- 293a USB2 EHCI Controller #1 +- 293c USB2 EHCI Controller #2 +- 293e HD Audio Controller +- 2940 PCI Express Port 1 +- 2942 PCI Express Port 2 +- 2944 PCI Express Port 3 +- 2946 PCI Express Port 4 +- 2948 PCI Express Port 5 +- 294a PCI Express Port 6 ++ 2850 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller ++ 1025 0121 Aspire 5920G ++ 1028 01f3 Inspiron 1420 ++ 103c 30c0 Compaq 6710b ++ 103c 30c1 Compaq 6910p ++ 103c 30d9 Presario C700 ++ 104d 9005 Vaio VGN-FZ260E ++ 17aa 20a6 ThinkPad T61 ++ e4bf cc47 CCG-RUMBA ++ 2912 82801IH (ICH9DH) LPC Interface Controller ++ 2914 82801IO (ICH9DO) LPC Interface Controller ++ 1028 0211 Optiplex 755 ++ 2916 82801IR (ICH9R) LPC Interface Controller ++ 2917 ICH9M-E LPC Interface Controller ++ 2918 82801IB (ICH9) LPC Interface Controller ++ 2919 ICH9M LPC Interface Controller ++ 2920 82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA IDE Controller ++ 1028 020f PowerEdge R300 onboard SATA Controller ++ 1028 0210 PowerEdge T300 onboard SATA Controller ++ 1028 0211 Optiplex 755 ++ 1028 023c PowerEdge R200 onboard SATA Controller ++ 2921 82801IB (ICH9) 2 port SATA IDE Controller ++ 2922 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA AHCI Controller ++ 2923 82801IB (ICH9) 4 port SATA AHCI Controller ++ 2925 82801IR/IO (ICH9R/DO) SATA RAID Controller ++ 1734 10e0 System Board D2542 ++ 8086 2925 System Board D2542 ++ 2926 82801I (ICH9 Family) 2 port SATA IDE Controller ++ 1028 020f Dell PowerEdge R300 ++ 1028 0210 Dell PowerEdge R300 ++ 1028 0211 Optiplex 755 ++ 2928 ICH9M/M-E 2 port SATA IDE Controller ++ 2929 ICH9M/M-E SATA AHCI Controller ++ 292c ICH9M-E SATA RAID Controller ++ 292d ICH9M/M-E 2 port SATA IDE Controller ++ 292e ICH9M SATA IDE Controller ++ 2930 82801I (ICH9 Family) SMBus Controller ++ 1028 0211 Optiplex 755 ++ 2932 82801I (ICH9 Family) Thermal Subsystem ++ 2934 82801I (ICH9 Family) USB UHCI Controller #1 ++ 1028 020f PowerEdge R300 onboard UHCI ++ 1028 0210 PowerEdge T300 onboard UHCI ++ 1028 0211 Optiplex 755 ++ 1028 2011 Optiplex 755 ++ 2935 82801I (ICH9 Family) USB UHCI Controller #2 ++ 1028 020f PowerEdge R300 onboard UHCI ++ 1028 0210 PowerEdge T300 onboard UHCI ++ 1028 0211 Optiplex 755 ++ 2936 82801I (ICH9 Family) USB UHCI Controller #3 ++ 1028 020f PowerEdge R300 onboard UHCI ++ 1028 0210 PowerEdge T300 onboard UHCI ++ 1028 0211 Optiplex 755 ++ 2937 82801I (ICH9 Family) USB UHCI Controller #4 ++ 1028 0211 Optiplex 755 ++ 1028 2011 Optiplex 755 ++ 8086 2937 Optiplex 755 ++ 8086 2942 828011 (ICH9 Family ) USB UHCI Controller ++ 2938 82801I (ICH9 Family) USB UHCI Controller #5 ++ 1028 0211 Optiplex 755 ++ 8086 2938 Optiplex 755 ++ 2939 82801I (ICH9 Family) USB UHCI Controller #6 ++ 1028 0210 PowerEdge T300 ++ 293a 82801I (ICH9 Family) USB2 EHCI Controller #1 ++ 1028 020f PowerEdge R300 onboard EHCI ++ 1028 0210 PowerEdge T300 onboard EHCI ++ 1028 0211 Optiplex 755 ++ 293c 82801I (ICH9 Family) USB2 EHCI Controller #2 ++ 1028 0211 Optiplex 755 ++ 8086 293c Optiplex 755 ++ 293e 82801I (ICH9 Family) HD Audio Controller ++ 1028 0211 Optiplex 755 ++ 8086 293e Optiplex 755 ++ 8086 2940 Optiplex 755 ++ 2940 82801I (ICH9 Family) PCI Express Port 1 ++ 1028 0211 Optiplex 755 ++ 8086 2940 Optiplex 755 ++ 2942 82801I (ICH9 Family) PCI Express Port 2 ++ 2944 82801I (ICH9 Family) PCI Express Port 3 ++ 2946 82801I (ICH9 Family) PCI Express Port 4 ++ 2948 82801I (ICH9 Family) PCI Express Port 5 ++ 294a 82801I (ICH9 Family) PCI Express Port 6 + 294c 82566DC-2 Gigabit Network Connection ++ 17aa 302e 82566DM-2 Gigabit Network Connection + 2970 82946GZ/PL/GL Memory Controller Hub + 2971 82946GZ/PL/GL PCI Express Root Port + 2972 82946GZ/GL Integrated Graphics Controller +@@ -12647,10 +14441,13 @@ + 2975 82946GZ/GL HECI Controller + 2976 82946GZ/GL PT IDER Controller + 2977 82946GZ/GL KT Controller +- 2980 965 G1 Memory Controller Hub +- 2981 965 G1 PCI Express Root Port +- 2982 965 G1 Integrated Graphics Controller ++ 2980 82G35 Express DRAM Controller ++ 2981 82G35 Express PCI Express Root Port ++ 2982 82G35 Express Integrated Graphics Controller ++ 2983 82G35 Express Integrated Graphics Controller ++ 2984 82G35 Express HECI Controller + 2990 82Q963/Q965 Memory Controller Hub ++ 1028 01da OptiPlex 745 + 2991 82Q963/Q965 PCI Express Root Port + 2992 82Q963/Q965 Integrated Graphics Controller + 2993 82Q963/Q965 Integrated Graphics Controller +@@ -12659,6 +14456,7 @@ + 2996 82Q963/Q965 PT IDER Controller + 2997 82Q963/Q965 KT Controller + 29a0 82P965/G965 Memory Controller Hub ++ 1043 81ea P5B + 1462 7276 MS-7276 [G965MDH] + 29a1 82P965/G965 PCI Express Root Port + 29a2 82G965 Integrated Graphics Controller +@@ -12668,65 +14466,233 @@ + 29a5 82P965/G965 HECI Controller + 29a6 82P965/G965 PT IDER Controller + 29a7 82P965/G965 KT Controller +- 29b0 DRAM Controller +- 29b1 PCI Express Root Port +- 29b2 Integrated Graphics Controller +- 29b3 Integrated Graphics Controller +- 29b4 MEI Controller +- 29b5 MEI Controller +- 29b6 PT IDER Controller +- 29b7 Serial KT Controller +- 29c0 DRAM Controller +- 29c1 PCI Express Root Port +- 29c2 Integrated Graphics Controller +- 29c3 Integrated Graphics Controller +- 29c4 MEI Controller +- 29c5 MEI Controller +- 29c6 PT IDER Controller +- 29c7 Serial KT Controller ++ 29b0 82Q35 Express DRAM Controller ++ 1028 0211 OptiPlex 755 ++ 29b1 82Q35 Express PCI Express Root Port ++ 1028 0211 OptiPlex 755 ++ 29b2 82Q35 Express Integrated Graphics Controller ++ 1028 0211 OptiPlex 755 ++ 29b3 82Q35 Express Integrated Graphics Controller ++ 1028 0211 OptiPlex 755 ++ 29b4 82Q35 Express MEI Controller ++ 1028 0211 OptiPlex 755 ++ 29b5 82Q35 Express MEI Controller ++ 29b6 82Q35 Express PT IDER Controller ++ 1028 0211 OptiPlex 755 ++ 29b7 82Q35 Express Serial KT Controller ++ 1028 0211 OptiPlex 755 ++ 29c0 82G33/G31/P35/P31 Express DRAM Controller ++ 1043 82b0 P5KPL-VM Motherboard ++ 29c1 82G33/G31/P35/P31 Express PCI Express Root Port ++ 29c2 82G33/G31 Express Integrated Graphics Controller ++ 1043 82b0 P5KPL-VM Motherboard ++ 29c3 82G33/G31 Express Integrated Graphics Controller ++ 1043 82b0 P5KPL-VM Motherboard ++ 29c4 82G33/G31/P35/P31 Express MEI Controller ++ 29c5 82G33/G31/P35/P31 Express MEI Controller ++ 29c6 82G33/G31/P35/P31 Express PT IDER Controller ++ 29c7 82G33/G31/P35/P31 Express Serial KT Controller + 29cf Virtual HECI Controller +- 29d0 DRAM Controller +- 29d1 PCI Express Root Port +- 29d2 Integrated Graphics Controller +- 29d3 Integrated Graphics Controller +- 29d4 MEI Controller +- 29d5 MEI Controller +- 29d6 PT IDER Controller +- 29d7 Serial KT Controller +- 29e0 DRAM Controller +- 29e1 Host-Primary PCI Express Bridge +- 29e4 MEI Controller +- 29e5 MEI Controller +- 29e6 PT IDER Controller +- 29e7 Serial KT Controller +- 29e9 Host-Secondary PCI Express Bridge +- 29f0 Server DRAM Controller +- 29f1 Server Host-Primary PCI Express Bridge +- 29f4 Server MEI Controller +- 29f5 Server MEI Controller +- 29f6 Server PT IDER Controller +- 29f7 Server Serial KT Controller +- 29f9 Server Host-Secondary PCI Express Bridge +- 2a00 Mobile Memory Controller Hub +- 2a01 Mobile PCI Express Root Port +- 2a02 Mobile Integrated Graphics Controller +- 2a03 Mobile Integrated Graphics Controller +- 2a04 Mobile MEI Controller +- 2a05 Mobile MEI Controller +- 2a06 Mobile PT IDER Controller +- 2a07 Mobile KT Controller +- 3092 Integrated RAID ++ 29d0 82Q33 Express DRAM Controller ++ 29d1 82Q33 Express PCI Express Root Port ++ 29d2 82Q33 Express Integrated Graphics Controller ++ 29d3 82Q33 Express Integrated Graphics Controller ++ 29d4 82Q33 Express MEI Controller ++ 29d5 82Q33 Express MEI Controller ++ 29d6 82Q33 Express PT IDER Controller ++ 29d7 82Q33 Express Serial KT Controller ++ 29e0 82X38/X48 Express DRAM Controller ++ 29e1 82X38/X48 Express Host-Primary PCI Express Bridge ++ 29e4 82X38/X48 Express MEI Controller ++ 29e5 82X38/X48 Express MEI Controller ++ 29e6 82X38/X48 Express PT IDER Controller ++ 29e7 82X38/X48 Express Serial KT Controller ++ 29e9 82X38/X48 Express Host-Secondary PCI Express Bridge ++ 29f0 3200/3210 Chipset DRAM Controller ++ 29f1 3200/3210 Chipset Host-Primary PCI Express Bridge ++ 29f4 3200/3210 Chipset MEI Controller ++ 29f5 3200/3210 Chipset MEI Controller ++ 29f6 3200/3210 Chipset PT IDER Controller ++ 29f7 3200/3210 Chipset Serial KT Controller ++ 29f9 3210 Chipset Host-Secondary PCI Express Bridge ++ 2a00 Mobile PM965/GM965/GL960 Memory Controller Hub ++ 1025 0121 Acer Aspire 5920G ++ 1028 01f3 Inspiron 1420 ++ 103c 30c0 Compaq 6710b ++ 103c 30c1 Compaq 6910p ++ 103c 30d9 Presario C700 ++ 104d 9005 Vaio VGN-FZ260E ++ 17aa 20b1 ThinkPad T61 ++ 17aa 20b3 T61 ++ e4bf cc47 CCG-RUMBA ++ 2a01 Mobile PM965/GM965/GL960 PCI Express Root Port ++ 2a02 Mobile GM965/GL960 Integrated Graphics Controller ++ 1028 01f3 Inspiron 1420 ++ 1028 01f9 Latitude D630 ++ 103c 30c0 Compaq 6710b ++ 103c 30d9 Presario C700 ++ 17aa 20b5 T61 ++ e4bf cc47 CCG-RUMBA ++ 2a03 Mobile GM965/GL960 Integrated Graphics Controller ++ 1028 01f3 Dell Inspiron 1420 ++ 103c 30c0 Compaq 6710b ++ 103c 30d9 Presario C700 ++ 17aa 20b5 T61 ++ e4bf cc47 CCG-RUMBA ++ 2a04 Mobile PM965/GM965 MEI Controller ++ 103c 30c1 Compaq 6910p ++ 2a05 Mobile PM965/GM965 MEI Controller ++ 2a06 Mobile PM965/GM965 PT IDER Controller ++ 103c 30c1 Compaq 6910p ++ 2a07 Mobile PM965/GM965 KT Controller ++ 103c 30c1 Compaq 6910p ++ 2a10 Mobile GME965/GLE960 Memory Controller Hub ++ e4bf cc47 CCG-RUMBA ++ 2a11 Mobile GME965/GLE960 PCI Express Root Port ++ 2a12 Mobile GME965/GLE960 Integrated Graphics Controller ++ e4bf cc47 CCG-RUMBA ++ 2a13 Mobile GME965/GLE960 Integrated Graphics Controller ++ e4bf cc47 CCG-RUMBA ++ 2a14 Mobile GME965/GLE960 MEI Controller ++ 2a15 Mobile GME965/GLE960 MEI Controller ++ 2a16 Mobile GME965/GLE960 PT IDER Controller ++ 2a17 Mobile GME965/GLE960 KT Controller ++ 2a40 Mobile 4 Series Chipset Memory Controller Hub ++ 2a41 Mobile 4 Series Chipset PCI Express Graphics Port ++ 2a42 Mobile 4 Series Chipset Integrated Graphics Controller ++ 2a43 Mobile 4 Series Chipset Integrated Graphics Controller ++ 2a44 Mobile 4 Series Chipset MEI Controller ++ 2a45 Mobile 4 Series Chipset MEI Controller ++ 2a46 Mobile 4 Series Chipset PT IDER Controller ++ 2a47 Mobile 4 Series Chipset AMT SOL Redirection ++ 2a50 Cantiga MEI Controller ++ 2a51 Cantiga MEI Controller ++ 2a52 Cantiga PT IDER Controller ++ 2a53 Cantiga AMT SOL Redirection ++ 2c01 QuickPath Architecture System Address Decoder ++ 2c10 QPI Link 0 ++ 2c11 QPI Physical 0 ++ 2c14 QPI Link 1 ++ 2c15 QPI Physical 1 ++ 2c18 QuickPath Memory Controller ++ 2c19 QuickPath Memory Controller Target Address Decoder ++ 2c1a QuickPath Memory Controller RAS Registers ++ 2c1c QuickPath Memory Controller Test Registers ++ 2c20 QuickPath Memory Controller Channel 0 Control Registers ++ 2c21 QuickPath Memory Controller Channel 0 Address Registers ++ 2c22 QuickPath Memory Controller Channel 0 Rank Registers ++ 2c23 QuickPath Memory Controller Channel 0 Thermal Control Registers ++ 2c28 QuickPath Memory Controller Channel 1 Control Registers ++ 2c29 QuickPath Memory Controller Channel 1 Address Registers ++ 2c2a QuickPath Memory Controller Channel 1 Rank Registers ++ 2c2b QuickPath Memory Controller Channel 1 Thermal Control Registers ++ 2c30 QuickPath Memory Controller Channel 2 Control Registers ++ 2c31 QuickPath Memory Controller Channel 2 Address Registers ++ 2c32 QuickPath Memory Controller Channel 2 Rank Registers ++ 2c33 QuickPath Memory Controller Channel 2 Thermal Control Registers ++ 2c40 QuickPath Architecture Generic Non-Core Registers ++ 2e00 4 Series Chipset DRAM Controller ++ 2e01 4 Series Chipset PCI Express Root Port ++ 2e02 4 Series Chipset Integrated Graphics Controller ++ 2e03 4 Series Chipset Integrated Graphics Controller ++ 2e04 4 Series Chipset HECI Controller ++ 2e05 4 Series Chipset HECI Controller ++ 2e06 4 Series Chipset PT IDER Controller ++ 2e07 4 Series Chipset Serial KT Controller ++ 2e10 4 Series Chipset DRAM Controller ++ 2e11 4 Series Chipset PCI Express Root Port ++ 2e12 4 Series Chipset Integrated Graphics Controller ++ 2e13 4 Series Chipset Integrated Graphics Controller ++ 2e14 4 Series Chipset HECI Controller ++ 2e15 4 Series Chipset HECI Controller ++ 2e16 4 Series Chipset PT IDER Controller ++ 2e17 4 Series Chipset Serial KT Controller ++ 2e20 4 Series Chipset DRAM Controller ++ 1458 5000 GA-EP45-DS5 Motherboard ++ 2e21 4 Series Chipset PCI Express Root Port ++ 1458 5000 GA-EP45-DS5 Motherboard ++ 2e22 4 Series Chipset Integrated Graphics Controller ++ 2e23 4 Series Chipset Integrated Graphics Controller ++ 2e24 4 Series Chipset HECI Controller ++ 2e25 4 Series Chipset HECI Controller ++ 2e26 4 Series Chipset PT IDER Controller ++ 2e27 4 Series Chipset Serial KT Controller ++ 2e29 4 Series Chipset PCI Express Root Port ++ 2e30 4 Series Chipset DRAM Controller ++ 2e31 4 Series Chipset PCI Express Root Port ++ 2e32 4 Series Chipset Integrated Graphics Controller ++ 2e33 4 Series Chipset Integrated Graphics Controller ++ 2e34 4 Series Chipset HECI Controller ++ 2e35 4 Series Chipset HECI Controller ++ 2e36 4 Series Chipset PT IDER Controller ++ 2e37 4 Series Chipset Serial KT Controller ++ 2e40 4 Series Chipset DRAM Controller ++ 2e41 4 Series Chipset PCI Express Root Port ++ 2e42 4 Series Chipset Integrated Graphics Controller ++ 2e43 4 Series Chipset Integrated Graphics Controller ++ 2e44 4 Series Chipset HECI Controller ++ 2e45 4 Series Chipset HECI Controller ++ 2e46 4 Series Chipset PT IDER Controller ++ 2e47 4 Series Chipset Serial KT Controller + 3200 GD31244 PCI-X SATA HBA + 1775 c200 C2K onboard SATA host bus adapter ++ 3313 IOP348 I/O Processor (SL8e) in IOC Mode SAS/SATA ++ 331b IOP348 I/O Processor (SL8x) in IOC Mode SAS/SATA ++ 3331 IOC340 I/O Controller (VV8e) SAS/SATA ++ 3339 IOC340 I/O Controller (VV8x) SAS/SATA + 3340 82855PM Processor to I/O Controller +- 1014 0529 Thinkpad T41 ++ 1014 0529 Thinkpad T40 series + 1025 005a TravelMate 290 + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet ++ 144d c005 X10 Laptop + 144d c00c P30/P35 notebook + 3341 82855PM Processor to AGP Controller + 144d c00c P30 notebook ++ 3363 IOC340 I/O Controller in IOC Mode SAS/SATA ++ 33c3 IOP348 I/O Processor (SL8De) in IOC Mode SAS/SATA ++ 33cb IOP348 I/O Processor (SL8Dx) in IOC Mode SAS/SATA ++ 3400 QuickPath Architecture I/O Hub to ESI Port ++ 3401 QuickPath Architecture I/O Hub to ESI Port ++ 3402 QuickPath Architecture I/O Hub to ESI Port ++ 3403 QuickPath Architecture I/O Hub to ESI Port ++ 3404 QuickPath Architecture I/O Hub to ESI Port ++ 3405 QuickPath Architecture I/O Hub to ESI Port ++ 3406 QuickPath Architecture I/O Hub to ESI Port ++ 3407 QuickPath Architecture I/O Hub to ESI Port ++ 3408 QuickPath Architecture I/O Hub PCI Express Root Port 1 ++ 3409 QuickPath Architecture I/O Hub PCI Express Root Port 2 ++ 340a QuickPath Architecture I/O Hub PCI Express Root Port 3 ++ 340b QuickPath Architecture I/O Hub PCI Express Root Port 4 ++ 340c QuickPath Architecture I/O Hub PCI Express Root Port 5 ++ 340d QuickPath Architecture I/O Hub PCI Express Root Port 6 ++ 340e QuickPath Architecture I/O Hub PCI Express Root Port 7 ++ 340f QuickPath Architecture I/O Hub PCI Express Root Port 8 ++ 3410 QuickPath Architecture I/O Hub PCI Express Root Port 9 ++ 3411 QuickPath Architecture I/O Hub PCI Express Root Port 10 ++ 3418 Quickpath Interconnect Physical Layer Port 0 ++ 3419 Quickpath Interconnect Physical Layer Port 1 ++ 3420 QuickPath Architecture I/O Hub PCI Express Root Port 0 ++ 3421 QuickPath Architecture I/O Hub PCI Express Root Port 0 ++ 3422 QuickPath Architecture I/O Hub GPIO and Scratch Pad Registers ++ 3423 QuickPath Architecture I/O Hub Control Status and RAS Registers ++ 3425 QuickPath Interconnect Physical and Link Layer Registers Port 0 ++ 3426 QuickPath Interconnect Routing and Protocol Layer Registers Port 0 ++ 3427 QuickPath Interconnect Physical and Link Layer Registers Port 1 ++ 3428 QuickPath Interconnect Routing and Protocol Layer Registers Port 1 ++ 3429 DMA Engine ++ 342a DMA Engine ++ 342b DMA Engine ++ 342c DMA Engine ++ 342d QuickPath Architecture I/O Hub I/OxAPIC Interrupt Controller ++ 342e QuickPath Architecture I/O Hub System Management Registers ++ 342f Trusted Execution Technology Registers ++ 3430 DMA Engine ++ 3431 DMA Engine ++ 3432 DMA Engine ++ 3433 DMA Engine ++ 3438 QuickPath Architecture I/O Hub Throttle Registers + 3500 6311ESB/6321ESB PCI Express Upstream Port + 3501 6310ESB PCI Express Upstream Port + 3504 6311ESB/6321ESB I/OxAPIC Interrupt Controller +@@ -12748,11 +14714,13 @@ + 1014 0513 ThinkPad A/T/X Series + 3578 82830 830 Chipset Host Bridge + 3580 82852/82855 GM/GME/PM/GMV Processor to I/O Controller +- 1014 055c Thinkpad R50e model 1634 ++ 1014 055c ThinkPad R50e + 1028 0139 Latitude D400 + 1028 014f Latitude X300 + 1028 0163 Latitude D505 ++ 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 ++ 114a 0582 PC8 + 1734 1055 Amilo M1420 + 1775 10d0 V5D Single Board Computer + 1775 ce90 CE9 +@@ -12763,10 +14731,12 @@ + 3581 82852/82855 GM/GME/PM/GMV Processor to AGP Controller + 1734 1055 Amilo M1420 + 3582 82852/855GM Integrated Graphics Device +- 1014 0562 Thinkpad R50e model 1634 ++ 1014 0562 ThinkPad R50e + 1028 0139 Latitude D400 + 1028 014f Latitude X300 + 1028 0163 Latitude D505 ++ 1028 018d Inspiron 700m/710m ++ 114a 0582 PC8 integrated graphics + 1775 10d0 V5D Single Board Computer VGA + 1775 ce90 CE9 + 4c53 10b0 CL9 mainboard +@@ -12774,31 +14744,39 @@ + e4bf 0cc9 CC9-SAMBA + e4bf 0cd2 CD2-BEBOP + 3584 82852/82855 GM/GME/PM/GMV Processor to I/O Controller +- 1014 055d Thinkpad R50e model 1634 ++ 1014 055d ThinkPad R50e + 1028 0139 Latitude D400 + 1028 014f Latitude X300 + 1028 0163 Latitude D505 ++ 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 ++ 114a 0582 PC8 + 1734 1055 Amilo M1420 + 1775 10d0 V5D Single Board Computer + 1775 ce90 CE9 + 4c53 10b0 CL9 mainboard + 4c53 10e0 PSL09 PrPMC + 3585 82852/82855 GM/GME/PM/GMV Processor to I/O Controller +- 1014 055e Thinkpad R50e model 1634 ++ 1014 055e ThinkPad R50e + 1028 0139 Latitude D400 + 1028 014f Latitude X300 + 1028 0163 Latitude D505 ++ 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 ++ 114a 0582 PC8 + 1734 1055 Amilo M1420 + 1775 10d0 V5D Single Board Computer + 1775 ce90 CE9 + 4c53 10b0 CL9 mainboard + 4c53 10e0 PSL09 PrPMC ++ 358c 82854 GMCH ++ 358e 82854 GMCH Integrated Graphics Device + 3590 E7520 Memory Controller Hub + 1014 02dd eServer xSeries server mainboard ++ 1028 016c PowerEdge 1850 ++ 1028 016d PowerEdge 2850=20 + 1028 019a PowerEdge SC1425 +- 1734 103e Primergy RX300 S2 ++ 1734 103e PRIMERGY RX/TX S2 series + 1775 1100 CR11/VR11 Single Board Computer + 4c53 10d0 Telum ASLP10 Processor AMC + 3591 E7525/E7520 Error Reporting Registers +@@ -12830,73 +14808,293 @@ + 35b6 3100 Chipset PCI Express Port A + 35b7 3100 Chipset PCI Express Port A1 + 35c8 3100 Extended Configuration Test Overflow Registers +- 3600 Server Memory Controller Hub +- 3604 Server PCI Express Port 1 +- 3605 Server PCI Express Port 2 +- 3606 Server PCI Express Port 3 +- 3607 Server PCI Express Port 4 +- 3608 Server PCI Express Port 5 +- 3609 Server PCI Express Port 6 +- 360a Server PCI Express Port 7 +- 360b Server IOAT DMA Controller +- 360c Server FSB Registers +- 360d Server Snoop Filter Registers +- 360e Server Reserved Registers +- 360f Server FBD Branch 0 Registers +- 3610 Server FBD Branch 1 Registers +- 4000 Memory Controller Hub +- 4008 Memory Controller Hub +- 4010 Memory Controller Hub +- 4021 PCI Express Port 1 +- 4022 PCI Express Port 2 +- 4023 PCI Express Port 3 +- 4024 PCI Express Port 4 +- 4025 PCI Express Port 5 +- 4026 PCI Express Port 6 +- 4027 PCI Express Port 7 +- 4028 PCI Express Port 8 +- 4029 PCI Express Port 9 +- 402d IBIST Registers +- 402e IBIST Registers +- 402f DMA/DCA Engine +- 4030 FSB Registers +- 4032 I/OxAPIC +- 4035 FBD Registers +- 4036 FBD Registers +- 4220 PRO/Wireless 2200BG Network Connection ++ 3600 7300 Chipset Memory Controller Hub ++ 3604 7300 Chipset PCI Express Port 1 ++ 3605 7300 Chipset PCI Express Port 2 ++ 3606 7300 Chipset PCI Express Port 3 ++ 3607 7300 Chipset PCI Express Port 4 ++ 3608 7300 Chipset PCI Express Port 5 ++ 3609 7300 Chipset PCI Express Port 6 ++ 360a 7300 Chipset PCI Express Port 7 ++ 360b 7300 Chipset QuickData Technology Device ++ 360c 7300 Chipset FSB Registers ++ 360d 7300 Chipset Snoop Filter Registers ++ 360e 7300 Chipset Debug and Miscellaneous Registers ++ 360f 7300 Chipset FBD Branch 0 Registers ++ 3610 7300 Chipset FBD Branch 1 Registers ++ 3a00 ICH10 4 port SATA IDE Controller ++ 3a02 ICH10 6 port SATA AHCI Controller ++ 3a05 ICH10 SATA RAID Controller ++ 3a06 ICH10 2 port SATA IDE Controller ++ 3a14 ICH10 LPC Interface Controller ++ 3a16 82801JIR (ICH10R) LPC Interface Controller ++ 1458 5001 GA-EP45-DS5 Motherboard ++ 3a18 82801JIB (ICH10) LPC Interface Controller ++ 3a1a ICH10 LPC Interface Controller ++ 3a20 82801JI (ICH10 Family) 4 port SATA IDE Controller ++ 3a22 82801JI (ICH10 Family) SATA AHCI Controller ++ 1458 b005 GA-EP45-DS5 Motherboard ++ 3a25 82801JIR (ICH10R) SATA RAID Controller ++ 3a26 82801JI (ICH10 Family) 2 port SATA IDE Controller ++ 3a30 82801JI (ICH10 Family) SMBus Controller ++ 1458 5001 GA-EP45-DS5 Motherboard ++ 3a32 82801JI (ICH10 Family) Thermal Subsystem ++ 3a34 82801JI (ICH10 Family) USB UHCI Controller #1 ++ 1458 5004 GA-EP45-DS5 Motherboard ++ 3a35 82801JI (ICH10 Family) USB UHCI Controller #2 ++ 1458 5004 GA-EP45-DS5 Motherboard ++ 3a36 82801JI (ICH10 Family) USB UHCI Controller #3 ++ 1458 5004 GA-EP45-DS5 Motherboard ++ 3a37 82801JI (ICH10 Family) USB UHCI Controller #4 ++ 1458 5004 GA-EP45-DS5 Motherboard ++ 3a38 82801JI (ICH10 Family) USB UHCI Controller #5 ++ 1458 5004 GA-EP45-DS5 Motherboard ++ 3a39 82801JI (ICH10 Family) USB UHCI Controller #6 ++ 1458 5004 GA-EP45-DS5 Motherboard ++ 3a3a 82801JI (ICH10 Family) USB2 EHCI Controller #1 ++ 1458 5006 GA-EP45-DS5 Motherboard ++ 3a3c 82801JI (ICH10 Family) USB2 EHCI Controller #2 ++ 1458 5006 GA-EP45-DS5 Motherboard ++ 3a3e 82801JI (ICH10 Family) HD Audio Controller ++ 1458 a102 GA-EP45-DS5 Motherboard ++ 3a40 82801JI (ICH10 Family) PCI Express Port 1 ++ 1458 5001 GA-EP45-DS5 Motherboard ++ 3a42 82801JI (ICH10 Family) PCI Express Port 2 ++ 3a44 82801JI (ICH10 Family) PCI Express Port 3 ++ 3a46 82801JI (ICH10 Family) PCI Express Port 4 ++ 1458 5001 GA-EP45-DS5 Motherboard ++ 3a48 82801JI (ICH10 Family) PCI Express Port 5 ++ 1458 5001 GA-EP45-DS5 Motherboard ++ 3a4a 82801JI (ICH10 Family) PCI Express Port 6 ++ 1458 5001 GA-EP45-DS5 Motherboard ++ 3a4c 82801JI (ICH10 Family) Gigabit Ethernet Controller ++ 3a51 ICH10 VECI Controller ++ 3a55 ICH10 Virtual SATA Controller ++ 3a60 ICH10 SMBus Controller ++ 3a62 ICH10 Thermal Subsystem ++ 3a64 ICH10 USB UHCI Controller #1 ++ 3a65 ICH10 USB UHCI Controller #2 ++ 3a66 ICH10 USB UHCI Controller #3 ++ 3a67 ICH10 USB UHCI Controller #4 ++ 3a68 ICH10 USB UHCI Controller #5 ++ 3a69 ICH10 USB UHCI Controller #6 ++ 3a6a ICH10 USB2 EHCI Controller #1 ++ 3a6c ICH10 USB2 EHCI Controller #2 ++ 3a6e ICH10 HD Audio Controller ++ 3a70 ICH10 PCI Express Port 1 ++ 3a72 ICH10 PCI Express Port 2 ++ 3a74 ICH10 PCI Express Port 3 ++ 3a76 ICH10 PCI Express Port 4 ++ 3a78 ICH10 PCI Express Port 5 ++ 3a7a ICH10 PCI Express Port 6 ++ 3a7c ICH10 Gigabit Ethernet Controller ++ 3b00 Ibex Peak LPC Interface Controller ++ 3b01 Ibex Peak LPC Interface Controller ++ 3b02 Ibex Peak LPC Interface Controller ++ 3b03 Ibex Peak LPC Interface Controller ++ 3b04 Ibex Peak LPC Interface Controller ++ 3b05 Ibex Peak LPC Interface Controller ++ 3b06 Ibex Peak LPC Interface Controller ++ 3b07 Ibex Peak LPC Interface Controller ++ 3b08 Ibex Peak LPC Interface Controller ++ 3b09 Ibex Peak LPC Interface Controller ++ 3b0a Ibex Peak LPC Interface Controller ++ 3b0b Ibex Peak LPC Interface Controller ++ 3b0c Ibex Peak LPC Interface Controller ++ 3b0d Ibex Peak LPC Interface Controller ++ 3b0e Ibex Peak LPC Interface Controller ++ 3b0f Ibex Peak LPC Interface Controller ++ 3b10 Ibex Peak LPC Interface Controller ++ 3b11 Ibex Peak LPC Interface Controller ++ 3b12 Ibex Peak LPC Interface Controller ++ 3b13 Ibex Peak LPC Interface Controller ++ 3b14 Ibex Peak LPC Interface Controller ++ 3b15 Ibex Peak LPC Interface Controller ++ 3b16 Ibex Peak LPC Interface Controller ++ 3b17 Ibex Peak LPC Interface Controller ++ 3b18 Ibex Peak LPC Interface Controller ++ 3b19 Ibex Peak LPC Interface Controller ++ 3b1a Ibex Peak LPC Interface Controller ++ 3b1b Ibex Peak LPC Interface Controller ++ 3b1c Ibex Peak LPC Interface Controller ++ 3b1d Ibex Peak LPC Interface Controller ++ 3b1e Ibex Peak LPC Interface Controller ++ 3b1f Ibex Peak LPC Interface Controller ++ 3b20 Ibex Peak 4 port SATA IDE Controller ++ 3b21 Ibex Peak 2 port SATA IDE Controller ++ 3b22 Ibex Peak 6 port SATA AHCI Controller ++ 3b23 Ibex Peak 4 port SATA AHCI Controller ++ 3b24 Ibex Peak SATA Enhanced RAID Controller ++ 3b25 Ibex Peak SATA RAID Controller ++ 3b26 Ibex Peak 2 port SATA IDE Controller ++ 3b28 Ibex Peak 4 port SATA IDE Controller ++ 3b29 Ibex Peak 4 port SATA AHCI Controller ++ 3b2b Ibex Peak SATA Enhanced RAID Controller ++ 3b2c Ibex Peak SATA RAID Controller ++ 3b2d Ibex Peak 2 port SATA IDE Controller ++ 3b2e Ibex Peak 4 port SATA IDE Controller ++ 3b2f Ibex Peak 6 port SATA AHCI Controller ++ 3b30 Ibex Peak SMBus Controller ++ 3b32 Ibex Peak Thermal Subsystem ++ 3b34 Ibex Peak USB2 Enhanced Host Controller ++ 3b36 Ibex Peak USB Universal Host Controller ++ 3b37 Ibex Peak USB Universal Host Controller ++ 3b38 Ibex Peak USB Universal Host Controller ++ 3b39 Ibex Peak USB Universal Host Controller ++ 3b3a Ibex Peak USB Universal Host Controller ++ 3b3b Ibex Peak USB Universal Host Controller ++ 3b3c Ibex Peak USB2 Enhanced Host Controller ++ 3b3e Ibex Peak USB Universal Host Controller ++ 3b3f Ibex Peak USB Universal Host Controller ++ 3b40 Ibex Peak USB Universal Host Controller ++ 3b41 Ibex Peak LAN Controller ++ 3b42 Ibex Peak PCI Express Root Port 1 ++ 3b44 Ibex Peak PCI Express Root Port 2 ++ 3b46 Ibex Peak PCI Express Root Port 3 ++ 3b48 Ibex Peak PCI Express Root Port 4 ++ 3b4a Ibex Peak PCI Express Root Port 5 ++ 3b4c Ibex Peak PCI Express Root Port 6 ++ 3b4e Ibex Peak PCI Express Root Port 7 ++ 3b50 Ibex Peak PCI Express Root Port 8 ++ 3b53 Ibex Peak VECI Controller ++ 3b56 Ibex Peak High Definition Audio ++ 3b64 Ibex Peak HECI Controller ++ 3b65 Ibex Peak HECI Controller ++ 3b66 Ibex Peak PT IDER Controller ++ 3b67 Ibex Peak KT Controller ++ 4000 5400 Chipset Memory Controller Hub ++ 4001 5400 Chipset Memory Controller Hub ++ 4003 5400 Chipset Memory Controller Hub ++ 4021 5400 Chipset PCI Express Port 1 ++ 4022 5400 Chipset PCI Express Port 2 ++ 4023 5400 Chipset PCI Express Port 3 ++ 4024 5400 Chipset PCI Express Port 4 ++ 4025 5400 Chipset PCI Express Port 5 ++ 4026 5400 Chipset PCI Express Port 6 ++ 4027 5400 Chipset PCI Express Port 7 ++ 4028 5400 Chipset PCI Express Port 8 ++ 4029 5400 Chipset PCI Express Port 9 ++ 402d 5400 Chipset IBIST Registers ++ 402e 5400 Chipset IBIST Registers ++ 402f 5400 Chipset QuickData Technology Device ++ 4030 5400 Chipset FSB Registers ++ 4031 5400 Chipset CE/SF Registers ++ 4032 5400 Chipset IOxAPIC ++ 4035 5400 Chipset FBD Registers ++ 4036 5400 Chipset FBD Registers ++ 4220 PRO/Wireless 2200BG [Calexico2] Network Connection ++ 103c 0934 Compaq nw8240/nx8220 ++ 103c 12f6 Compaq nw8240/nx8220 ++ 8086 2712 IBM ThinkPad R50e ++ 8086 2721 Dell B130 laptop integrated WLAN ++ 8086 2722 Dell Latitude D600 + 8086 2731 Samsung P35 integrated WLAN +- 4222 PRO/Wireless 3945ABG Network Connection ++ 4222 PRO/Wireless 3945ABG [Golan] Network Connection ++ 103c 135c Compaq 6710b ++ 103c 30c0 Compaq 6710b ++ 8086 1000 PRO/Wireless 3945ABG Network Connection ++ 8086 1001 PRO/Wireless 3945ABG Network Connection + 8086 1005 PRO/Wireless 3945BG Network Connection + 8086 1034 PRO/Wireless 3945BG Network Connection + 8086 1044 PRO/Wireless 3945BG Network Connection +- 4223 PRO/Wireless 2915ABG Network Connection ++ 8086 1c00 PRO/Wireless 3945ABG Network Connection ++ 4223 PRO/Wireless 2915ABG [Calexico2] Network Connection ++ 1000 8086 mPCI 3B Americas/Europe ZZA ++ 1001 8086 mPCI 3B Europe ZZE ++ 1002 8086 mPCI 3B Japan ZZJ ++ 1003 8086 mPCI 3B High-Band ZZH + 1351 103c Compaq NC6220 +- 4224 PRO/Wireless 2915ABG Network Connection +- 4227 PRO/Wireless 3945ABG Network Connection +- 8086 1011 Thinkpad X60s, R60e model 0657 ++ 4224 PRO/Wireless 2915ABG [Calexico2] Network Connection ++ 4227 PRO/Wireless 3945ABG [Golan] Network Connection ++ 8086 1011 ThinkPad R60e/X60s + 8086 1014 PRO/Wireless 3945BG Network Connection +- 5001 Pro/DSL 2100 Modem ++ 4229 PRO/Wireless 4965 AG or AGN [Kedron] Network Connection ++ 4230 PRO/Wireless 4965 AG or AGN [Kedron] Network Connection ++ 8086 1110 Lenovo ThinkPad T51 ++ 8086 1111 Lenovo ThinkPad T61 ++ 4232 Wireless WiFi Link 5100 ++ 8086 1205 PRO/Wireless 5100BG Network Connection ++ 8086 1206 PRO/Wireless 5100ABG Network Connection ++ 8086 1216 PRO/Wireless 5100ABG Network Connection ++ 8086 1305 PRO/Wireless 5100BG Network Connection ++ 8086 1306 PRO/Wireless 5100ABG Network Connection ++ 8086 1326 PRO/Wireless 5100ABG Network Connection ++ 4235 PRO/Wireless 5300 AGN [Shiloh] Network Connection ++ 4236 Wireless WiFi Link 5100 ++ 4237 PRO/Wireless 5100 AGN [Shiloh] Network Connection ++ 423a PRO/Wireless 5350 AGN [Echo Peak] Network Connection ++ 444e Turbo Memory Controller ++ 5001 LE80578 ++ 5002 LE80578 Graphics Processor Unit ++ 5009 LE80578 Video Display Controller ++ 500d LE80578 Expansion Bus ++ 500e LE80578 UART Controller ++ 500f LE80578 General Purpose IO ++ 5010 LE80578 I2C Controller ++ 5012 LE80578 Serial Peripheral Interface Bus ++ 5020 EP80579 Memory Controller Hub ++ 5021 EP80579 DRAM Error Reporting Registers ++ 5023 EP80579 EDMA Controller ++ 5024 EP80579 PCI Express Port PEA0 ++ 5025 EP80579 PCI Express Port PEA1 ++ 5028 EP80579 S-ATA IDE ++ 5029 EP80579 S-ATA AHCI ++ 502a EP80579 S-ATA Reserved ++ 502b EP80579 S-ATA Reserved ++ 502c EP80579 Integrated Processor ASU ++ 502d EP80579 Integrated Processor with QuickAssist ASU ++ 502e EP80579 Reserved ++ 502f EP80579 Reserved ++ 5030 EP80579 Reserved ++ 5031 EP80579 LPC Bus ++ 5032 EP80579 SMBus Controller ++ 5033 EP80579 USB 1.1 Controller ++ 5035 EP80579 USB 2.0 Controller ++ 5037 EP80579 PCI-PCI Bridge (transparent mode) ++ 5039 EP80579 Controller Area Network (CAN) interface #1 ++ 503a EP80579 Controller Area Network (CAN) interface #2 ++ 503b EP80579 Synchronous Serial Port (SPP) ++ 503c EP80579 IEEE 1588 Hardware Assist ++ 503d EP80579 Local Expansion Bus ++ 503e EP80579 Global Control Unit (GCU) ++ 503f EP80579 Reserved ++ 5040 EP80579 Integrated Processor Gigabit Ethernet MAC ++ 5041 EP80579 Integrated Processor with QuickAssist Gigabit Ethernet MAC ++ 5042 EP80579 Reserved ++ 5043 EP80579 Reserved ++ 5044 EP80579 Integrated Processor Gigabit Ethernet MAC ++ 5045 EP80579 Integrated Processor with QuickAssist Gigabit Ethernet MAC ++ 5046 EP80579 Reserved ++ 5047 EP80579 Reserved ++ 5048 EP80579 Integrated Processor Gigabit Ethernet MAC ++ 5049 EP80579 Integrated Processor with QuickAssist Gigabit Ethernet MAC ++ 504a EP80579 Reserved ++ 504b EP80579 Reserved ++ 504c EP80579 Integrated Processor with QuickAssist TDM + 5200 EtherExpress PRO/100 Intelligent Server + 5201 EtherExpress PRO/100 Intelligent Server + 8086 0001 EtherExpress PRO/100 Server Ethernet Adapter +- 530d 80310 IOP [IO Processor] +- 65c0 Memory Controller Hub +- 65e2 PCI Express x4 Port 2 +- 65e3 PCI Express x4 Port 3 +- 65e4 PCI Express x4 Port 4 +- 65e5 PCI Express x4 Port 5 +- 65e6 PCI Express x4 Port 6 +- 65e7 PCI Express x4 Port 7 +- 65f0 FSB Registers +- 65f1 Reserved Registers +- 65f3 Reserved Registers +- 65f5 DDR Channel 0 Registers +- 65f6 DDR Channel 1 Registers +- 65f7 PCI Express x8 Port 2-3 +- 65f8 PCI Express x8 Port 4-5 +- 65f9 PCI Express x8 Port 6-7 +- 65fa PCI Express x16 Port 4-7 +- 65ff DMA Engine ++ 530d 80310 (IOP) IO Processor ++ 65c0 5100 Chipset Memory Controller Hub ++ 65e2 5100 Chipset PCI Express x4 Port 2 ++ 65e3 5100 Chipset PCI Express x4 Port 3 ++ 65e4 5100 Chipset PCI Express x4 Port 4 ++ 65e5 5100 Chipset PCI Express x4 Port 5 ++ 65e6 5100 Chipset PCI Express x4 Port 6 ++ 65e7 5100 Chipset PCI Express x4 Port 7 ++ 65f0 5100 Chipset FSB Registers ++ 1028 020f PowerEdge R300 ++ 1028 0210 PowerEdge T300 ++ 65f1 5100 Chipset Reserved Registers ++ 1028 0210 PowerEdge T300 ++ 65f3 5100 Chipset Reserved Registers ++ 65f5 5100 Chipset DDR Channel 0 Registers ++ 65f6 5100 Chipset DDR Channel 1 Registers ++ 65f7 5100 Chipset PCI Express x8 Port 2-3 ++ 65f8 5100 Chipset PCI Express x8 Port 4-5 ++ 65f9 5100 Chipset PCI Express x8 Port 6-7 ++ 65fa 5100 Chipset PCI Express x16 Port 4-7 ++ 65ff 5100 Chipset DMA Engine + 7000 82371SB PIIX3 ISA [Natoma/Triton II] + 7010 82371SB PIIX3 IDE [Natoma/Triton II] + 7020 82371SB PIIX3 USB [Natoma/Triton II] +@@ -12905,25 +15103,25 @@ + 7051 PB 642365-003 (Business Video Conferencing Card) + 7100 430TX - 82439TX MTXC + 7110 82371AB/EB/MB PIIX4 ISA +- 15ad 1976 virtualHW v3 ++ 15ad 1976 Virtual Machine Chipset + 7111 82371AB/EB/MB PIIX4 IDE +- 15ad 1976 virtualHW v3 ++ 15ad 1976 Virtual Machine Chipset + 7112 82371AB/EB/MB PIIX4 USB +- 15ad 1976 virtualHW v3 ++ 15ad 1976 Virtual Machine Chipset + 7113 82371AB/EB/MB PIIX4 ACPI +- 15ad 1976 virtualHW v3 +- 7120 82810 GMCH [Graphics Memory Controller Hub] ++ 15ad 1976 Virtual Machine Chipset ++ 7120 82810 GMCH (Graphics Memory Controller Hub) + 4c53 1040 CL7 mainboard + 4c53 1060 PC7 mainboard +- 7121 82810 CGC [Chipset Graphics Controller] ++ 7121 82810 (CGC) Chipset Graphics Controller + 4c53 1040 CL7 mainboard + 4c53 1060 PC7 mainboard + 8086 4341 Cayman (CA810) Mainboard +- 7122 82810 DC-100 GMCH [Graphics Memory Controller Hub] +- 7123 82810 DC-100 CGC [Chipset Graphics Controller] +- 7124 82810E DC-133 GMCH [Graphics Memory Controller Hub] ++ 7122 82810 DC-100 (GMCH) Graphics Memory Controller Hub ++ 7123 82810 DC-100 (CGC) Chipset Graphics Controller ++ 7124 82810E DC-133 (GMCH) Graphics Memory Controller Hub + 1028 00b4 OptiPlex GX110 +- 7125 82810E DC-133 CGC [Chipset Graphics Controller] ++ 7125 82810E DC-133 (CGC) Chipset Graphics Controller + 1028 00b4 OptiPlex GX110 + 7126 82810 DC-133 System and Graphics Controller + 7128 82810-M DC-100 System and Graphics Controller +@@ -12934,15 +15132,18 @@ + 0e11 0500 Armada 1750 Laptop System Chipset + 0e11 b110 Armada M700/E500 + 1028 008e PowerEdge 1300 mainboard ++ 1043 803b CUBX-L/E Mainboard + 1179 0001 Toshiba Tecra 8100 Laptop System Chipset +- 15ad 1976 virtualHW v3 ++ 15ad 1976 Virtual Machine Chipset + 4c53 1050 CT7 mainboard + 4c53 1051 CE7 mainboard + 7191 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge + 1028 008e PowerEdge 1300 mainboard + 7192 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) + 0e11 0460 Armada 1700 Laptop System Chipset ++ 1179 0001 Satellite 4010 + 4c53 1000 CC7/CR7/CP7/VC7/VP7/VR7 mainboard ++ 8086 7190 Dell PowerEdge 350 + 7194 82440MX Host Bridge + 1033 0000 Versa Note Vxi + 4c53 10a0 CA3/CR3 mainboard +@@ -12975,6 +15176,22 @@ + 8086 0000 Terminator 2x/i + 8086 0100 Intel740 Graphics Accelerator + 8002 Trusted Execution Technology Registers ++ 8003 Trusted Execution Technology Registers ++ 8100 System Controller Hub (SCH Poulsbo) ++ 8108 System Controller Hub (SCH Poulsbo) Graphics Controller ++ 8110 System Controller Hub (SCH Poulsbo) PCI Express Port 1 ++ 8112 System Controller Hub (SCH Poulsbo) PCI Express Port 2 ++ 8114 System Controller Hub (SCH Poulsbo) USB UHCI #1 ++ 8115 System Controller Hub (SCH Poulsbo) USB UHCI #2 ++ 8116 System Controller Hub (SCH Poulsbo) USB UHCI #3 ++ 8117 System Controller Hub (SCH Poulsbo) USB EHCI #1 ++ 8118 System Controller Hub (SCH Poulsbo) USB Client Controller ++ 8119 System Controller Hub (SCH Poulsbo) LPC Bridge ++ 811a System Controller Hub (SCH Poulsbo) IDE Controller ++ 811b System Controller Hub (SCH Poulsbo) HD Audio Controller ++ 811c System Controller Hub (SCH Poulsbo) SDIO Controller #1 ++ 811d System Controller Hub (SCH Poulsbo) SDIO Controller #2 ++ 811e System Controller Hub (SCH Poulsbo) SDIO Controller #3 + 84c4 450KX/GX [Orion] - 82454KX/GX PCI bridge + 84c5 450KX/GX [Orion] - 82453KX/GX Memory controller + 84ca 450NX - 82451NX Memory & I/O Controller +@@ -13000,6 +15217,7 @@ + 96a1 Integrated RAID + a620 6400/6402 Advanced Memory Buffer (AMB) + b152 21152 PCI-to-PCI Bridge ++ 8086 b152 21152 PCI-to-PCI Bridge + # observed, and documented in Intel revision note; new mask of 1011:0026 + b154 21154 PCI-to-PCI Bridge + b555 21555 Non transparent PCI-to-PCI Bridge +@@ -13009,6 +15227,22 @@ + 4c53 1050 CT7 mainboard + 4c53 1051 CE7 mainboard + e4bf 1000 CC8-1-BLUES ++ d130 Clarksfield/Lynnfield DMI ++ d131 Clarksfield/Lynnfield DMI ++ d132 Clarksfield/Lynnfield DMI ++ d133 Clarksfield/Lynnfield DMI ++ d134 Clarksfield/Lynnfield DMI ++ d135 Clarksfield/Lynnfield DMI ++ d136 Clarksfield/Lynnfield DMI ++ d137 Clarksfield/Lynnfield DMI ++ d138 Clarksfield/Lynnfield PCI Express Root Port 1 ++ d139 Lynnfield PCI Express Root Port 2 ++ d13a Clarksfield/Lynnfield PCI Express Root Port 3 ++ d13b Lynnfield PCI Express Root Port 4 ++ d155 Clarksfield/Lynnfield System Management Registers ++ d156 Clarksfield/Lynnfield Semaphore and Scratchpad Registers ++ d157 Clarksfield/Lynnfield System Control and Status Registers ++ d158 Clarksfield/Lynnfield Miscellaneous Registers + 80ee InnoTek Systemberatung GmbH + beef VirtualBox Graphics Adapter + cafe VirtualBox Guest Service +@@ -13195,6 +15429,8 @@ + 15d9 9005 Onboard SCSI Host Adapter + 8086 3411 SDS2 Mainboard + 0241 Serial ATA II RAID 1420SA ++ 0242 Serial ATA II RAID 1220SA ++ 0243 Serial ATA II RAID 1430SA + 0250 ServeRAID Controller + 1014 0279 ServeRAID-xx + 1014 028c ServeRAID-xx +@@ -13212,6 +15448,7 @@ + 108e 0286 STK RAID INT + 108e 0287 STK RAID EXT + 108e 7aac STK RAID REM ++ 108e 7aae STK RAID EX + 15d9 02b5 AOC-USAS-S4i + 15d9 02b6 AOC-USAS-S8i + 15d9 02c9 AOC-USAS-S4iR +@@ -13260,6 +15497,10 @@ + 9005 02c6 ICP ICP5165SL + 9005 02c7 3085 + 9005 02c8 ICP5805BL ++ 9005 02ce 51245 ++ 9005 02cf 51645 ++ 9005 02d0 52445 ++ 9005 02d1 5405 + 0286 AAC-RAID (Rocket) + 1014 034d 8s + 1014 9540 ServeRAID 8k/8k-l4 +@@ -13292,6 +15533,8 @@ + 0412 AIC-9410W SAS (Razor HBA non-RAID) + 9005 0412 ASC-48300 (Spirit non-RAID) + 9005 0413 ASC-58300 (Oakmont non-RAID) ++ 0415 ASC-58300 SAS (Razor-External HBA RAID) ++ 0416 ASC-58300 SAS (Razor-External HBA non-RAID) + 041e AIC-9410W SAS (Razor ASIC non-RAID) + 041f AIC-9410W SAS (Razor ASIC RAID) + 9005 041f AIC-9410W SAS (Razor ASIC RAID) +diff -ruN pciutils-3.0.0/pcimodules.c pciutils/pcimodules.c +--- pciutils-3.0.0/pcimodules.c 1970-01-01 09:00:00.000000000 +0900 ++++ pciutils/pcimodules.c 2010-11-25 12:54:19.000000000 +0900 +@@ -0,0 +1,185 @@ ++/* ++ * pcimodules: Load all kernel modules for PCI device currently ++ * plugged into any PCI slot. ++ * ++ * Copyright 2000 Yggdrasil Computing, Incorporated ++ * This file may be copied under the terms and conditions of version ++ * two of the GNU General Public License, as published by the Free ++ * Software Foundation (Cambridge, Massachusetts, USA). ++ * ++ * This file is based on pciutils/lib/example.c, which has the following ++ * authorship and copyright statement: ++ * ++ * Written by Martin Mares and put to public domain. You can do ++ * with it anything you want, but I don't give you any warranty. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define _GNU_SOURCE ++#include ++ ++#include "pciutils.h" ++ ++const char program_name[] = "pcimodules"; ++ ++#define MODDIR "/lib/modules" ++#define PCIMAP "modules.pcimap" ++ ++#define LINELENGTH 8000 ++ ++#define DEVICE_ANY 0xffffffff ++#define VENDOR_ANY 0xffffffff ++ ++#include "lib/pci.h" ++ ++struct pcimap_entry { ++ unsigned int vendor, subsys_vendor, dev, subsys_dev, class, class_mask; ++ char *module; ++ struct pcimap_entry *next; ++}; ++ ++static struct pcimap_entry *pcimap_list = NULL; ++ ++#define OPT_STRING "h" ++static struct option long_options[] = { ++ {"class", required_argument, NULL, 'c'}, ++ {"classmask", required_argument, NULL, 'm'}, ++ {"help", no_argument, NULL, 'h'}, ++ { 0, 0, 0, 0} ++}; ++ ++static unsigned long desired_class; ++static unsigned long desired_classmask; /* Default is 0: accept all classes.*/ ++ ++void ++read_pcimap(void) ++{ ++ struct utsname utsname; ++ char filename[MAXPATHLEN]; ++ FILE *pcimap_file; ++ char line[LINELENGTH]; ++ struct pcimap_entry *entry; ++ unsigned int driver_data; ++ char *prevmodule = ""; ++ char module[LINELENGTH]; ++ ++ if (uname(&utsname) < 0) { ++ perror("uname"); ++ exit(1); ++ } ++ sprintf(filename, "%s/%s/%s", MODDIR, utsname.release, PCIMAP); ++ if ((pcimap_file = fopen(filename, "r")) == NULL) { ++ perror(filename); ++ exit(1); ++ } ++ ++ while(fgets(line, LINELENGTH, pcimap_file) != NULL) { ++ if (line[0] == '#') ++ continue; ++ ++ entry = xmalloc(sizeof(struct pcimap_entry)); ++ ++ if (sscanf(line, "%s 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x", ++ module, ++ &entry->vendor, &entry->dev, ++ &entry->subsys_vendor, &entry->subsys_dev, ++ &entry->class, &entry->class_mask, ++ &driver_data) != 8) { ++ fprintf (stderr, ++ "modules.pcimap unparsable line: %s.\n", line); ++ free(entry); ++ continue; ++ } ++ ++ /* Optimize memory allocation a bit, in case someday we ++ have Linux systems with ~100,000 modules. It also ++ allows us to just compare pointers to avoid trying ++ to load a module twice. */ ++ if (strcmp(module, prevmodule) != 0) { ++ prevmodule = xmalloc(strlen(module)+1); ++ strcpy(prevmodule, module); ++ } ++ entry->module = prevmodule; ++ entry->next = pcimap_list; ++ pcimap_list = entry; ++ } ++ fclose(pcimap_file); ++} ++ ++/* Return a filled in pci_access->dev tree, with the device classes ++ stored in dev->aux. ++*/ ++static void ++match_pci_modules(void) ++{ ++ struct pci_access *pacc; ++ struct pci_dev *dev; ++ unsigned int class, subsys_dev, subsys_vendor; ++ struct pcimap_entry *map; ++ const char *prevmodule = ""; ++ ++ pacc = pci_alloc(); /* Get the pci_access structure */ ++ /* Set all options you want -- here we stick with the defaults */ ++ pci_init(pacc); /* Initialize the PCI library */ ++ pci_scan_bus(pacc); /* We want to get the list of devices */ ++ for(dev=pacc->devices; dev; dev=dev->next) { ++ pci_fill_info(dev, PCI_FILL_IDENT | PCI_FILL_BASES); ++ class = (pci_read_word(dev, PCI_CLASS_DEVICE) << 8) ++ | pci_read_byte(dev, PCI_CLASS_PROG); ++ subsys_dev = pci_read_word(dev, PCI_SUBSYSTEM_ID); ++ subsys_vendor = pci_read_word(dev,PCI_SUBSYSTEM_VENDOR_ID); ++ for(map = pcimap_list; map != NULL; map = map->next) { ++ if (((map->class ^ class) & map->class_mask) == 0 && ++ ((desired_class ^ class) & desired_classmask)==0 && ++ (map->dev == DEVICE_ANY || ++ map->dev == dev->device_id) && ++ (map->vendor == VENDOR_ANY || ++ map->vendor == dev->vendor_id) && ++ (map->subsys_dev == DEVICE_ANY || ++ map->subsys_dev == subsys_dev) && ++ (map->subsys_vendor == VENDOR_ANY || ++ map->subsys_vendor == subsys_vendor) && ++ prevmodule != map->module) { ++ printf("%s\n", map->module); ++ prevmodule = map->module; ++ } ++ } ++ ++ } ++ pci_cleanup(pacc); ++} ++ ++int ++main (int argc, char **argv) ++{ ++ int opt_index = 0; ++ int opt; ++ ++ while ((opt = getopt_long(argc, argv, OPT_STRING, long_options, ++ &opt_index)) != -1) { ++ switch(opt) { ++ case 'c': ++ desired_class = strtol(optarg, NULL, 0); ++ break; ++ case 'm': ++ desired_classmask = strtol(optarg, NULL, 0); ++ break; ++ case 'h': ++ printf ("Usage: pcimodules [--help]\n" ++ " Lists kernel modules corresponding to PCI devices currently plugged" ++ " into the computer.\n"); ++ } ++ } ++ ++ read_pcimap(); ++ match_pci_modules(); ++ return 0; ++} +diff -ruN pciutils-3.0.0/pcimodules.man pciutils/pcimodules.man +--- pciutils-3.0.0/pcimodules.man 1970-01-01 09:00:00.000000000 +0900 ++++ pciutils/pcimodules.man 2010-11-25 12:54:19.000000000 +0900 +@@ -0,0 +1,92 @@ ++.TH pcimodules 8 "@TODAY@" "@VERSION@" "Linux PCI Utilities" ++.IX pcimodules ++.SH NAME ++pcimodules \- List kernel driver modules available for all currently plugged ++in PCI devices ++.SH SYNOPSIS ++.B pcimodules ++.RB [ --class class_id ] ++.RB [ --classmask mask ] ++.RB [ --help ] ++.SH DESCRIPTION ++.B pcimodules ++lists all driver modules for all currently plugged in PCI devices. ++.B pcimodules ++should be run at boot time, and whenever a PCI device is "hot plugged" ++into the system. This can be done by the following Bourne shell syntax: ++.IP ++ for module in $(pcimodules) ; do ++.IP ++ modprobe -s -k "$module" ++.IP ++ done ++.PP ++When a PCI device is removed from the system, the Linux kernel will ++decrement a usage count on PCI driver module. If this count drops ++to zero (i.e., there are no PCI drivers), then the ++.B modprobe -r ++process that is normally configured to run from cron every few minutes ++will eventually remove the unneeded module. ++.PP ++The --class and --classmask arguments can be used to limit the search ++to certain classes of PCI devices. This is useful, for example, to ++generate a list of ethernet card drivers to be loaded when the kernel ++has indicated that it is trying to resolve an unknown network interface. ++.PP ++Modules are listed in the order in which the PCI devices are physically ++arranged so that the computer owner can arrange things like having scsi ++device 0 be on a controller that is not alphabetically the first scsi ++controller. ++.SH OPTIONS ++.TP ++.B --class class --classmask mask ++.PP ++--class and --classmask limit the search to PCI ++cards in particular classes. These arguments are always used together. ++The arguments to --class and --classmask ++can be given as hexadecimal numbers by prefixing a leading "0x". ++Note that the classes used by pcimodules are in "Linux" format, ++meaning the class value that you see with lspci would be shifted ++left eight bits, with the new low eight bits programming interface ID. ++An examples of how to use class and classmask is provided below. ++.B --help, -h ++Print a help message and exit. ++.SH EXAMPLES ++.TP ++pcimodules ++lists all modules corresponding to currently plugged in PCI devices. ++.TP ++pcimodules --class 0x20000 --classmask 0xffff00 ++lists all modules corresponding to currently plugged in ethernet PCI devices. ++.SH FILES ++.TP ++.B /lib/modules//modules.pcimap ++This file is automatically generated by ++.B depmod, ++and used by ++.B pcimodules ++to determine which modules correspond to which PCI ID's. ++.TP ++.B /proc/bus/pci ++An interface to PCI bus configuration space provided by the post-2.1.82 Linux ++kernels. Contains per-bus subdirectories with per-card config space files and a ++.I devices ++file containing a list of all PCI devices. ++ ++.SH SEE ALSO ++.BR lspci (8) ++ ++.SH MAINTAINER ++The Linux PCI Utilities are maintained by Martin Mares . ++ ++.SH AUTHOR ++.B pcimodules ++was written by Adam J. Richter , based on public ++domain example code by Martin Mares . ++ ++.SH COPYRIGHT ++.B pcimodules ++is copyright 2000, Yggdrasil Computing, Incorporated, and may ++be copied under the terms and conditions of version 2 of the GNU ++General Public License as published by the Free Software Foundation ++(Cambridge, Massachusetts, United States of America). +diff -ruN pciutils-3.0.0/update-pciids.sh pciutils/update-pciids.sh +--- pciutils-3.0.0/update-pciids.sh 2008-01-08 06:01:11.000000000 +0900 ++++ pciutils/update-pciids.sh 2010-11-25 12:54:19.000000000 +0900 +@@ -1,75 +1,128 @@ + #!/bin/sh + +-[ "$1" = "-q" ] && quiet=true || quiet=false ++# update-pciids.sh is licensed under the GNU General Public License ++# (GPL) version 2 or above. ++# ++# Copyright (C) 2008 Anibal Monsalve Salazar ++# ++# This program is free software: you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation, either version 2 of the License, or ++# (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# Please read the "COPYING" file in the archive root, or visit ++# http://www.gnu.org/licenses/gpl.html, for information about the GPL. ++# ++# This scipt is a rewrite of a script with the same name by ++# Martin Mares. + + set -e +-SRC="http://pciids.sourceforge.net/v2.2/pci.ids" +-DEST=pci.ids +-PCI_COMPRESSED_IDS= +-GREP=grep +- +-# if pci.ids is read-only (because the filesystem is read-only), +-# then just skip this whole process. +-if ! touch ${DEST} >/dev/null 2>&1 ; then +- ${quiet} || echo "${DEST} is read-only, exiting." 1>&2 +- exit 1 +-fi +- +-if [ -n "$PCI_COMPRESSED_IDS" ] ; then +- DECOMP="cat" +- SRC="$SRC.gz" +- GREP=zgrep +-elif which bzip2 >/dev/null 2>&1 ; then +- DECOMP="bzip2 -d" +- SRC="$SRC.bz2" +-elif which gzip >/dev/null 2>&1 ; then +- DECOMP="gzip -d" +- SRC="$SRC.gz" ++ ++#URL="http://pci-ids.ucw.cz/pci.ids" ++URL="http://pciids.sourceforge.net/v2.2/pci.ids" ++FILE="pci.ids" ++ ++RM="/bin/rm" ++MV="/bin/mv" ++SED="/bin/sed" ++GREP="/bin/grep" ++GZIP="/bin/gzip" ++ECHO="/bin/echo" ++CHMOD="/bin/chmod" ++GUNZIP="/bin/gunzip" ++BUNZIP2="/bin/bunzip2" ++TOUCH="/usr/bin/touch" ++WGET="/usr/bin/wget" ++CURL="/usr/bin/curl" ++LYNX="/usr/bin/lynx" ++ ++NEWFILE="$FILE.new" ++OLDFILE="$FILE.old" ++ ++if [ "$1" = "-q" ] ++then ++ quiet="yes" + else +- DECOMP="cat" ++ quiet="no" + fi + +-if which curl >/dev/null 2>&1 ; then +- DL="curl -o $DEST.new $SRC" +- ${quiet} && DL="$DL -s -S" +-elif which wget >/dev/null 2>&1 ; then +- DL="wget -O $DEST.new $SRC" +- ${quiet} && DL="$DL -q" +-elif which lynx >/dev/null 2>&1 ; then +- DL="eval lynx -source $SRC >$DEST.new" ++if ! $TOUCH $NEWFILE > /dev/null 2>&1 ++then ++ $ECHO >&2 "update-pciids: $NEWFILE is read-only" ++ exit 1 ++fi ++ ++[ -f $NEWFILE ] && $RM $NEWFILE ++[ -f $NEWFILE.bz2 ] && $RM $NEWFILE.bz2 ++[ -f $NEWFILE.gz ] && $RM $NEWFILE.gz ++ ++if [ -x $BUNZIP2 ] ++then ++ EXT=".bz2" ++ UNZIP=$BUNZIP2 ++elif [ -x $GUNZIP ] ++then ++ EXT=".gz" ++ UNZIP=$GUNZIP + else +- echo >&2 "update-pciids: cannot find curl, wget or lynx" +- exit 1 ++ $ECHO >&2 "update-pciids: cannot find bunzip2 or gunzip" ++ exit 1 + fi + +-if ! $DL ; then +- echo >&2 "update-pciids: download failed" +- rm -f $DEST.new +- exit 1 ++if [ -x $WGET ] ++then ++ $WGET -nv -O $NEWFILE$EXT $URL$EXT > /dev/null 2>&1 ++elif [ -x $CURL ] ++then ++ $CURL -o $NEWFILE$EXT $URL$EXT > /dev/null 2>&1 ++elif [ -x $LYNX ] ++then ++ $LYNX -source $URL$EXT > $NEWFILE$EXT ++else ++ $ECHO >&2 "update-pciids: cannot find wget, curl or lynx" ++ exit 1 + fi + +-if ! $DECOMP <$DEST.new >$DEST.neww ; then +- echo >&2 "update-pciids: decompression failed, probably truncated file" +- exit 1 ++$UNZIP < $NEWFILE$EXT > $NEWFILE ++$RM $NEWFILE$EXT ++ ++if ! $GREP > /dev/null "^C " $NEWFILE ++then ++ $ECHO >&2 "update-pciids: missing class info, probably truncated file" ++ exit 1 + fi + +-if ! $GREP >/dev/null "^C " $DEST.neww ; then +- echo >&2 "update-pciids: missing class info, probably truncated file" +- exit 1 ++date=$( $GREP -E "^#[[:space:]]Date:[[:space:]]*" $NEWFILE 2> /dev/null | $SED "s/^#[[:space:]]Date:[[:space:]]*//" ) ++ ++if [ -z "$date" ] ++then ++ $ECHO >&2 "update-pciids: missing snapshot date, probably truncated file" ++ exit 1 ++fi ++ ++if [ -f $FILE ] ++then ++ [ -f $OLDFILE ] && $RM $OLDFILE ++ $MV $FILE $OLDFILE + fi + +-if [ -f $DEST ] ; then +- mv $DEST $DEST.old +- # --reference is supported only by chmod from GNU file, so let's ignore any errors +- chmod -f --reference=$DEST.old $DEST.neww 2>/dev/null || true ++$MV $NEWFILE $FILE ++$TOUCH -d "$date" $FILE ++ ++if [ -f $FILE.gz ] ++then ++ [ -f $OLDFILE.gz ] && $RM $OLDFILE.gz ++ $MV $FILE.gz $OLDFILE.gz + fi +-mv $DEST.neww $DEST +-rm $DEST.new + +-# Older versions did not compress the ids file, so let's make sure we +-# clean that up. +-if [ ${DEST%.gz} != ${DEST} ] ; then +- rm -f ${DEST%.gz} ${DEST%.gz}.old ++if [ $quiet = "no" ] ++then ++ $ECHO "Downloaded daily snapshot dated $date" + fi + +-${quiet} || echo "Done." ++exit 0 diff --git a/packaging/pciutils.manifest b/packaging/pciutils.manifest new file mode 100644 index 0000000..f5a44ec --- /dev/null +++ b/packaging/pciutils.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/packaging/pciutils.spec b/packaging/pciutils.spec new file mode 100644 index 0000000..ca9571f --- /dev/null +++ b/packaging/pciutils.spec @@ -0,0 +1,102 @@ +#sbs-git:slp/pkgs/xorg/miscs/pciutils pciutils 3.0.0 4c6dc88ca761346c47cb8cc0ced6ed5266d46394 +Name: pciutils +Version: 3.0.0 +Release: 1 +Summary: PCI bus related utilities +Group: Applications/System +License: GPL-2.0+ +URL: http://atrey.karlin.mff.cuni.cz/~mj/pciutils.shtml +Source: ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci/%{name}-%{version}.tar.gz +Source2: pciutils.manifest +BuildRequires: zlib-devel +Requires: libpci3 = %{version}-%{release} + +%description +This package contains various utilities for inspecting and setting of +devices connected to the PCI bus. + +%package -n libpci3 +Summary: Linux PCI development library +Group: System/Libraries + +%description -n libpci3 +This package contains the libpci shared library files. + +%package -n libpci-devel +Summary: Linux PCI development library (Developement) +Group: Development/Libraries +Requires: zlib-devel pkgconfig libpci3 = %{version}-%{release} + +%description -n libpci-devel +This package contains the , and header files. + + +%prep +%setup -q + +%build +make SHARED=yes PREFIX=/usr SBINDIR=/usr/bin IDSDIR=/usr/share/misc +cp %{SOURCE2} . + +%install +rm -rf $RPM_BUILD_ROOT +make PREFIX=/usr SBINDIR=/usr/bin IDSDIR=/usr/share/misc install DESTDIR=$RPM_BUILD_ROOT + +# pciutils +gunzip $RPM_BUILD_ROOT%{_datadir}/misc/pci.ids.gz + +# libpci-devel +mkdir -p $RPM_BUILD_ROOT%{_includedir}/pci +mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig + +install -m 644 lib/pci.h lib/header.h lib/config.h lib/types.h $RPM_BUILD_ROOT%{_includedir}/pci +install -m 644 lib/libpci.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig +ln -s libpci.so.3.0.0 $RPM_BUILD_ROOT%{_libdir}/libpci.so + +# libpci +install -m 744 lib/libpci.so.* $RPM_BUILD_ROOT%{_libdir} +ln -s libpci.so.3.0.0 $RPM_BUILD_ROOT%{_libdir}/libpci.so.3 + +# license +mkdir -p %{buildroot}/usr/share/license +cp COPYING %{buildroot}/usr/share/license/%{name} +cp COPYING %{buildroot}/usr/share/license/libpci3 +cp COPYING %{buildroot}/usr/share/license/libpci-devel + +%remove_docs + +%post +/sbin/ldconfig +rm -f %{_datadir}/misc/pci.ids.new +rm -f %{_datadir}/misc/pci.ids.neww +rm -f %{_datadir}/misc/pci.ids.old + +%pre +rm -f /var/lib/pciutils/pci.ids.new +rm -f /var/lib/pciutils/pci.ids.neww +rm -f /var/lib/pciutils/pci.ids.old + + +%postun +/sbin/ldconfig +rm -f %{_datadir}/misc/pci.ids.new +rm -f %{_datadir}/misc/pci.ids.neww +rm -f %{_datadir}/misc/pci.ids.old + + + +%files +/usr/bin/* +%{_datadir}/misc/pci.ids +%manifest pciutils.manifest +/usr/share/license/%{name} + +%files -n libpci3 +%{_libdir}/libpci.so.* +/usr/share/license/libpci3 + +%files -n libpci-devel +%{_libdir}/libpci.so +%{_libdir}/pkgconfig/libpci.pc +%{_includedir}/pci/*.h +/usr/share/license/libpci-devel diff --git a/pci.ids b/pci.ids new file mode 100644 index 0000000..6697e70 --- /dev/null +++ b/pci.ids @@ -0,0 +1,15918 @@ +# +# List of PCI ID's +# +# Version: 2008.10.07 +# Date: 2008-10-07 11:49:28 +# +# Maintained by Martin Mares and other volunteers from the +# PCI ID Project at http://pciids.sf.net/. +# +# New data are always welcome, especially if they are accurate. If you have +# anything to contribute, please follow the instructions at the web site. +# +# This file can be distributed under either the GNU General Public License +# (version 2 or higher) or the 3-clause BSD License. +# + +# Vendors, devices and subsystems. Please keep sorted. + +# Syntax: +# vendor vendor_name +# device device_name <-- single tab +# subvendor subdevice subsystem_name <-- two tabs + +0000 Gammagraphx, Inc. +0010 Allied Telesyn International +# This is a relabelled RTL-8139 + 8139 AT-2500TX V3 Ethernet +001a Ascend Communications, Inc. +001c PEAK-System Technik GmbH + 0001 PCAN-PCI CAN-Bus controller +0033 Paradyne corp. +003d Lockheed Martin-Marietta Corp +# Real TJN ID is e159, but they got it wrong several times --mj +0059 Tiger Jet Network Inc. (Wrong ID) +0070 Hauppauge computer works Inc. + 0003 WinTV PVR-250 + 0009 WinTV PVR-150 + 0801 WinTV PVR-150 + 0807 WinTV PVR-150 + 4000 WinTV PVR-350 + 4001 WinTV PVR-250 (v1) + 4009 WinTV PVR-250 + 4800 WinTV PVR-350 + 4801 WinTV PVR-250 MCE + 4803 WinTV PVR-250 + 7444 WinTV HVR-1600 + 7801 WinTV HVR-1800 MCE + 8003 WinTV PVR-150 + 8801 WinTV PVR-150 + c801 WinTV PVR-150 + e807 WinTV PVR-500 MCE (1st tuner) + e817 WinTV PVR-500 MCE (2nd tuner) +0071 Nebula Electronics Ltd. +0095 Silicon Image, Inc. (Wrong ID) + 0680 Ultra ATA/133 IDE RAID CONTROLLER CARD +# Wrong ID used in subsystem ID of the TELES.S0/PCI 2.x ISDN adapter +00a7 Teles AG (Wrong ID) +00f5 BFG Technologies, Inc. +0100 Ncipher Corp Ltd +0123 General Dynamics +# 018a is not LevelOne but there is a board misprogrammed +018a LevelOne + 0106 FPC-0106TX misprogrammed [RTL81xx] +# 021b is not Compaq but there is a board misprogrammed +021b Compaq Computer Corporation + 8139 HNE-300 (RealTek RTL8139c) [iPaq Networking] +0270 Hauppauge computer works Inc. (Wrong ID) +0291 Davicom Semiconductor, Inc. + 8212 DM9102A(DM9102AE, SM9102AF) Ethernet 100/10 MBit(Rev 40) +# SpeedStream is Efficient Networks, Inc, a Siemens Company +02ac SpeedStream + 1012 1012 PCMCIA 10/100 Ethernet Card [RTL81xx] +02e0 XFX Pine Group Inc +0315 SK-Electronics Co., Ltd. +0357 TTTech AG + 000a TTP-Monitoring Card V2.0 +036f Trigem Computer Inc. +0403 Future Technology Devices International Ltd +0432 SCM Microsystems, Inc. + 0001 Pluto2 DVB-T Receiver for PCMCIA [EasyWatch MobilSet] +045e Microsoft + 006e MN-510 802.11b wireless USB paddle + 00c2 MN-710 wireless USB paddle +0482 Kyocera +04cf Myson Century, Inc + 8818 CS8818 USB2.0-to-ATAPI Bridge Controller with Embedded PHY +050d Belkin + 001a FSD7000 802.11g PCI Wireless card + 700f F5D7001 - Wireless G Plus Desktop Card + 7050 F5D7050 802.11g Wireless USB Adapter + 705c F5D7050 v4 +058f Alcor Micro Corporation +05a9 OmniVision + 8519 OV519 series +05e3 CyberDoor + 0701 CBD516 +066f Sigmatel Inc. + 3410 SMTP3410 + 3500 SMTP3500 +0675 Dynalink + 1700 IS64PH ISDN Adapter + 1702 IS64PH ISDN Adapter + 1703 ISDN Adapter (PCI Bus, DV, W) + 1704 ISDN Adapter (PCI Bus, D, C) +069d Hughes Network Systems (HNS) +0721 Sapphire, Inc. +0795 Wired Inc. + 6663 Butane II (MPEG2 encoder board) + 6666 MediaPress (MPEG2 encoder board) +07ca AVerMedia Technologies Inc. + a301 AVerTV 301 + b808 AVerTV DVB-T Volar (USB 2.0) +07e2 ELMEG Communication Systems GmbH +0842 NPG, Personal Grand Technology +08ff AuthenTec + afe4 [Anchor] AF-S2 FingerLoc Sensor Module +0925 First International Computer, Inc. + 1234 VA-502 Mainboard +093a PixArt Imaging Inc. + 010e Innovage Mini Digital Camera + 010f SDC-300 Webcam + 020f Digital Photo Viewer + 2468 CIF Single Chip + 2600 PAC7311 + 2603 Philips Webcam SPC500NC + 2608 Maxell MaxCam RotaWeb +09c1 Arris + 0704 CM 200E Cable Modem +0a89 BREA Technologies Inc +0ace ZyDAS + 1211 ZD1211 IEEE 802.11b+g USB Adapter +0b0b Rhino Equipment Corp. + 0105 Rhino R1T1 + 0205 Rhino R4FXO + 0206 RCB4FXO 4-channel FXO analog telphony card + 0305 Rhino R4T1 + 0405 Rhino R8FXX + 0406 RCB8FXX 8-channel modular analog telphony card + 0505 Rhino R24FXX + 0506 RCB24FXS 24-Channel FXS analog telphony card + 0605 Rhino R2T1 + 0705 Rhino R24FXS + 0706 RCB24FXO 24-Channel FXO analog telphony card + 0905 R1T3 Single T3 Digital Telephony Card + 0906 RCB24FXX 24-channel modular analog telphony card + 0a06 RCB672FXX 672-channel modular analog telphony card +0b3d Brontes Technologies +0b49 ASCII Corporation + 064f Trance Vibrator +0ccd TerraTec Electronic GmbH + 0038 Cinergy T^2 DVB-T Receiver +0e11 Compaq Computer Corporation + 0001 PCI to EISA Bridge + 0002 PCI to ISA Bridge + 0046 Smart Array 64xx + 0e11 4091 Smart Array 6i + 0e11 409a Smart Array 641 + 0e11 409b Smart Array 642 + 0e11 409c Smart Array 6400 + 0e11 409d Smart Array 6400 EM + 0049 NC7132 Gigabit Upgrade Module + 004a NC6136 Gigabit Server Adapter + 005a Remote Insight II board - Lights-Out + 007c NC7770 1000BaseTX + 007d NC6770 1000BaseTX + 0085 NC7780 1000BaseTX + 00b1 Remote Insight II board - PCI device + 00bb NC7760 + 00ca NC7771 + 00cb NC7781 + 00cf NC7772 + 00d0 NC7782 + 00d1 NC7783 + 00e3 NC7761 + 0508 Netelligent 4/16 Token Ring + 1000 Triflex/Pentium Bridge, Model 1000 + 2000 Triflex/Pentium Bridge, Model 2000 + 3032 QVision 1280/p + 3033 QVision 1280/p + 3034 QVision 1280/p + 4000 4000 [Triflex] + 4040 Integrated Array + 4048 Compaq Raid LC2 + 4050 Smart Array 4200 + 4051 Smart Array 4250ES + 4058 Smart Array 431 + 4070 Smart Array 5300 + 4080 Smart Array 5i + 4082 Smart Array 532 + 4083 Smart Array 5312 + 4091 Smart Array 6i + 409a Smart Array 641 + 409b Smart Array 642 + 409c Smart Array 6400 + 409d Smart Array 6400 EM + 6010 HotPlug PCI Bridge 6010 + 7020 USB Controller + a0ec Fibre Channel Host Controller + a0f0 Advanced System Management Controller + a0f3 Triflex PCI to ISA Bridge + a0f7 PCI Hotplug Controller + 8086 002a PCI Hotplug Controller A + 8086 002b PCI Hotplug Controller B + a0f8 ZFMicro Chipset USB + a0fc FibreChannel HBA Tachyon + ae10 Smart-2/P RAID Controller + 0e11 4030 Smart-2/P Array Controller + 0e11 4031 Smart-2SL Array Controller + 0e11 4032 Smart Array 3200 Controller + 0e11 4033 Smart Array 3100ES Controller + 0e11 4034 Smart Array 221 Controller + ae29 MIS-L + ae2a MPC + ae2b MIS-E + ae31 System Management Controller + ae32 Netelligent 10/100 TX PCI UTP + ae33 Triflex Dual EIDE Controller + ae34 Netelligent 10 T PCI UTP + ae35 Integrated NetFlex-3/P + ae40 Netelligent Dual 10/100 TX PCI UTP + ae43 Netelligent Integrated 10/100 TX UTP + ae69 CETUS-L + ae6c Northstar + ae6d NorthStar CPU to PCI Bridge + b011 Netelligent 10/100 TX Embedded UTP + b012 Netelligent 10 T/2 PCI UTP/Coax + b01e NC3120 Fast Ethernet NIC + b01f NC3122 Fast Ethernet NIC + b02f NC1120 Ethernet NIC + b030 Netelligent 10/100 TX UTP + b04a 10/100 TX PCI Intel WOL UTP Controller + b060 Smart Array 5300 Controller + b0c6 NC3161 Fast Ethernet NIC + b0c7 NC3160 Fast Ethernet NIC + b0d7 NC3121 Fast Ethernet NIC + b0dd NC3131 Fast Ethernet NIC + b0de NC3132 Fast Ethernet Module + b0df NC6132 Gigabit Module + b0e0 NC6133 Gigabit Module + b0e1 NC3133 Fast Ethernet Module + b123 NC6134 Gigabit NIC + b134 NC3163 Fast Ethernet NIC + b13c NC3162 Fast Ethernet NIC + b144 NC3123 Fast Ethernet NIC + b163 NC3134 Fast Ethernet NIC + b164 NC3165 Fast Ethernet Upgrade Module + b178 Smart Array 5i/532 + 0e11 4080 Smart Array 5i + 0e11 4082 Smart Array 532 + 0e11 4083 Smart Array 5312 + b1a4 NC7131 Gigabit Server Adapter + b200 Memory Hot-Plug Controller + b203 Integrated Lights Out Controller + b204 Integrated Lights Out Processor + c000 Remote Insight Lights-Out Edition + f130 NetFlex-3/P ThunderLAN 1.0 + f150 NetFlex-3/P ThunderLAN 2.3 +0e21 Cowon Systems, Inc. +0e55 HaSoTec GmbH +0eac SHF Communication Technologies AG + 0008 Ethernet Powerlink Managing Node 01 +0f62 Acrox Technologies Co., Ltd. +# Formerly NCR +1000 LSI Logic / Symbios Logic + 0001 53c810 + 1000 1000 LSI53C810AE PCI to SCSI I/O Processor + 0002 53c820 + 0003 53c825 + 1000 1000 LSI53C825AE PCI to SCSI I/O Processor (Ultra Wide) + 0004 53c815 + 0005 53c810AP + 0006 53c860 + 1000 1000 LSI53C860E PCI to Ultra SCSI I/O Processor + 000a 53c1510 + 0e11 b143 Integrated Dual Channel Wide Ultra2 SCSI Controller + 1000 1000 LSI53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Nonintelligent mode) + 000b 53C896/897 + 0e11 6004 EOB003 Series SCSI host adapter + 1000 1000 LSI53C896/7 PCI to Dual Channel Ultra2 SCSI Multifunction Controller + 1000 1010 LSI22910 PCI to Dual Channel Ultra2 SCSI host adapter + 1000 1020 LSI21002 PCI to Dual Channel Ultra2 SCSI host adapter + 13e9 1000 6221L-4U (Dual U2W SCSI, dual 10/100TX, graphics) + 000c 53c895 + 1000 1010 LSI8951U PCI to Ultra2 SCSI host adapter + 1000 1020 LSI8952U PCI to Ultra2 SCSI host adapter + 1de1 3906 DC-390U2B SCSI adapter + 1de1 3907 DC-390U2W + 000d 53c885 + 000f 53c875 + 0e11 7004 Embedded Ultra Wide SCSI Controller + 1000 1000 LSI53C876/E PCI to Dual Channel SCSI Controller + 1000 1010 LSI22801 PCI to Dual Channel Ultra SCSI host adapter + 1000 1020 LSI22802 PCI to Dual Channel Ultra SCSI host adapter + 1092 8760 FirePort 40 Dual SCSI Controller + 1775 10d0 V5D Single Board Computer Wide Ultra SCSI + 1775 10d1 V5D Single Board Computer Ultra SCSI + 1de1 3904 DC390F/U Ultra Wide SCSI Adapter + 4c53 1000 CC7/CR7/CP7/VC7/VP7/VR7 mainboard + 4c53 1050 CT7 mainboard + 0010 53C1510 + 0e11 4040 Integrated Smart Array Controller + 0e11 4048 RAID LC2 Controller + 1000 1000 53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Intelligent mode) + 0012 53c895a + 1000 1000 LSI53C895A PCI to Ultra2 SCSI Controller + 0013 53c875a + 1000 1000 LSI53C875A PCI to Ultra SCSI Controller + 0020 53c1010 Ultra3 SCSI Adapter + 1000 1000 LSI53C1010-33 PCI to Dual Channel Ultra160 SCSI Controller + 107b 1040 Server Onboard 53C1010-33 + 1de1 1020 DC-390U3W + 0021 53c1010 66MHz Ultra3 SCSI Adapter + 1000 1000 LSI53C1000/1000R/1010R/1010-66 PCI to Ultra160 SCSI Controller + 1000 1010 Asus TR-DLS onboard 53C1010-66 + 103c 1300 Ultra160 SCSI [AB306A] + 103c 1310 Ultra160 SCSI [A9918A] + 103c 1330 Ultra160 SCSI [A7059A] + 103c 1340 Ultra160 SCSI [A7060A] + 124b 1070 PMC-USCSI3 + 4c53 1080 CT8 mainboard + 4c53 1300 P017 mezzanine (32-bit PMC) + 4c53 1310 P017 mezzanine (64-bit PMC) + 0030 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI + 0e11 00da ProLiant ML 350 + 1028 0123 LSI Logic 1020/1030 + 1028 014a LSI Logic 1020/1030 + 1028 016c PowerEdge 1850 MPT Fusion SCSI/RAID (Perc 4) + 1028 0183 LSI Logic 1020/1030 + 1028 018a PERC 4/IM + 1028 1010 LSI U320 SCSI Controller + 103c 12c5 Ultra320 SCSI [A7173A] + 124b 1170 PMC-USCSI320 + 1734 1052 PRIMERGY BX/RX/TX S2 series onboard SCSI(IME) + 0031 53c1030ZC PCI-X Fusion-MPT Dual Ultra320 SCSI + 0032 53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI + 1000 1000 LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller + 0033 1030ZC_53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI + 0040 53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI + 1000 0033 MegaRAID SCSI 320-2XR + 1000 0066 MegaRAID SCSI 320-2XRWS + 0041 53C1035ZC PCI-X Fusion-MPT Dual Ultra320 SCSI + 0050 SAS1064 PCI-X Fusion-MPT SAS + 1028 1f04 SAS 5/E + 1028 1f09 SAS 5i/R + 0054 SAS1068 PCI-X Fusion-MPT SAS + 1028 1f04 SAS 5/E Adapter Controller + 1028 1f05 SAS 5/i Adapter Controller + 1028 1f06 SAS 5/i Integrated Controller + 1028 1f07 SAS 5/iR Integrated RAID Controller + 1028 1f08 SAS 5/iR Integrated RAID Controller + 1028 1f09 SAS 5/iR Adapter RAID Controller + 0055 SAS1068 PCI-X Fusion-MPT SAS + 1033 8336 SAS1068 + 0056 SAS1064ET PCI-Express Fusion-MPT SAS + 0057 M1064E MegaRAID SAS + 8086 346c Embedded Software RAID Technology II (ESTRII) + 0058 SAS1068E PCI-Express Fusion-MPT SAS + 1028 021d SAS 6/iR Integrated Workstations RAID Controller + 1028 1f0e SAS 6/iR Adapter RAID Controller + 1028 1f0f SAS 6/iR Integrated Blades RAID Controller + 1028 1f10 SAS 6/iR Integrated RAID Controller + 0059 MegaRAID SAS 8208ELP/8208ELP + 005a SAS1066E PCI-Express Fusion-MPT SAS + 005c SAS1064A PCI-X Fusion-MPT SAS + 005e SAS1066 PCI-X Fusion-MPT SAS + 0060 MegaRAID SAS 1078 + 1000 1006 MegaRAID SAS 8888ELP + 1000 100a MegaRAID SAS 8708ELP + 1000 100e MegaRAID SAS 8884E + 1000 100f MegaRAID SAS 8708E + 1000 1010 MegaRAID SATA 350-8ELP + 1000 1011 MegaRAID SATA 350-4ELP + 1000 1012 MegaRAID SAS 8704ELP + 1000 1016 MegaRAID SAS 8880EM2 + 1014 0363 MegaRAID SAS PCI Express ROMB + 1014 0364 SystemX MegaRAID SAS 8808E + 1014 0365 SystemX MegaRAID SAS 8884E + 1014 0379 SystemX MegaRAID SAS 8880EM2 + 1028 1f0a PERC 6/E Adapter RAID Controller + 1028 1f0b PERC 6/i Adapter RAID Controller + 1028 1f0c PERC 6/i Integrated RAID Controller + 1028 1f0d PERC 6/i Integrated RAID Controller + 1028 1f11 CERC 6/i Integrated RAID Controller + 1033 835a MegaRAID SAS PCI Express ROMB + 1043 824d MegaRAID SAS PCI Express ROMB + 1170 002f MegaRAID SAS PCI Express ROMB + 1170 0036 MegaRAID SAS PCI Express ROMB + 15d9 c080 MegaRAID SAS PCI Express ROMB + 17aa 6b7c MegaRAID SAS PCI Express ROMB + 18a1 0003 LSI MegaRAID SAS PCI Express ROMB + 8086 1006 RAID Controller SRCSAS28EP + 8086 100a RAID Controller SRCSAS28EV + 8086 1010 RAID Controller SRCSATA28E + 8086 34cc Integrated RAID Controller SROMBSAS28E + 8086 34cd Integrated RAID Controller SROMBSAS28E + 0062 SAS1078 PCI-Express Fusion-MPT SAS + 1000 0062 SAS1078 PCI-Express Fusion-MPT SAS + 007c MegaRAID SAS 1078DE + 1014 0395 ServeRAID-AR10is SAS/SATA Controller + 008f 53c875J + 1092 8000 FirePort 40 SCSI Controller + 1092 8760 FirePort 40 Dual SCSI Host Adapter + 0407 MegaRAID + 1000 0530 MegaRAID 530 SCSI 320-0X RAID Controller + 1000 0531 MegaRAID 531 SCSI 320-4X RAID Controller + 1000 0532 MegaRAID 532 SCSI 320-2X RAID Controller + 1028 0531 PowerEdge Expandable RAID Controller 4/QC + 1028 0533 PowerEdge Expandable RAID Controller 4/QC + 8086 0530 MegaRAID Intel RAID Controller SRCZCRX + 8086 0532 MegaRAID Intel RAID Controller SRCU42X + 0408 MegaRAID + 1000 0001 MegaRAID SCSI 320-1E RAID Controller + 1000 0002 MegaRAID SCSI 320-2E RAID Controller + 1025 004d MegaRAID ACER ROMB-2E RAID Controller + 1028 0001 PowerEdge RAID Controller PERC4e/SC + 1028 0002 PowerEdge RAID Controller PERC4e/DC + 1028 0012 PowerEdge RAID Controller RAC4 + 1028 0015 PowerEdge RAID Controller PERC5 + 1028 1f03 PowerEdge RAID Controller PERC5 + 1734 1065 FSC MegaRAID PCI Express ROMB + 8086 0002 MegaRAID Intel RAID Controller SRCU42E + 0409 MegaRAID + 1000 3004 MegaRAID SATA 300-4X RAID Controller + 1000 3008 MegaRAID SATA 300-8X RAID Controller + 8086 3008 MegaRAID RAID Controller SRCS28X + 8086 3431 MegaRAID RAID Controller Alief SROMBU42E + 8086 3499 MegaRAID RAID Controller Harwich SROMBU42E + 0411 MegaRAID SAS + 1000 1001 MegaRAID SAS 8408E + 1000 1002 MegaRAID SAS 8480E + 1000 1003 MegaRAID SAS 8344ELP + 1000 1004 MegaRAID SAS 8308ELP + 1000 1008 MegaRAID SAS 84016E + 1000 100c MegaRAID SATA 300-12E + 1000 100d MegaRAID SATA 300-16E + 1000 2004 MegaRAID SATA 300-8ELP + 1000 2005 MegaRAID SATA 300-4ELP + 1033 8287 MegaRAID SAS PCI Express ROMB + 1054 3016 MegaRAID SAS RoMB Server + 1734 1081 MegaRAID SAS PCI Express ROMB + 1734 10a3 MegaRAID SAS PCI Express ROMB + 8086 1001 RAID Controller SRCSAS18E + 8086 1003 RAID Controller SRCSAS144E + 8086 3500 SROMBSAS18E RAID Controller + 8086 3501 SROMBSAS18E RAID Controller + 8086 3504 SROMBSAS18E RAID Controller + 0413 MegaRAID SAS Verde ZCR + 1000 1005 MegaRAID SAS 8300XLP + 0621 FC909 Fibre Channel Adapter + 0622 FC929 Fibre Channel Adapter + 1000 1020 44929 O Dual Fibre Channel card + 0623 FC929 LAN + 0624 FC919 Fibre Channel Adapter + 0625 FC919 LAN + 0626 FC929X Fibre Channel Adapter + 1000 1010 7202-XP-LC Dual Fibre Channel card + 0627 FC929X LAN + 0628 FC919X Fibre Channel Adapter + 0629 FC919X LAN + 0640 FC949X Fibre Channel Adapter + 0642 FC939X Fibre Channel Adapter + 0646 FC949ES Fibre Channel Adapter + 0701 83C885 NT50 DigitalScape Fast Ethernet + 0702 Yellowfin G-NIC gigabit ethernet + 1318 0000 PEI100X + 0804 SA2010 + 0805 SA2010ZC + 0806 SA2020 + 0807 SA2020ZC + 0901 61C102 + 1000 63C815 + 1960 MegaRAID + 1000 0518 MegaRAID 518 SCSI 320-2 Controller + 1000 0520 MegaRAID 520 SCSI 320-1 Controller + 1000 0522 MegaRAID 522 i4 133 RAID Controller + 1000 0523 MegaRAID SATA 150-6 RAID Controller + 1000 4523 MegaRAID SATA 150-4 RAID Controller + 1000 a520 MegaRAID ZCR SCSI 320-0 Controller + 1028 0518 MegaRAID 518 DELL PERC 4/DC RAID Controller + 1028 0520 MegaRAID 520 DELL PERC 4/SC RAID Controller + 1028 0531 PowerEdge Expandable RAID Controller 4/QC + 1028 0533 PowerEdge Expandable RAID Controller 4/QC + 8086 0520 MegaRAIDRAID Controller SRCU41L + 8086 0523 MegaRAID RAID Controller SRCS16 +1001 Kolter Electronic + 0010 PCI 1616 Measurement card with 32 digital I/O lines + 0011 OPTO-PCI Opto-Isolated digital I/O board + 0012 PCI-AD/DA Analogue I/O board + 0013 PCI-OPTO-RELAIS Digital I/O board with relay outputs + 0014 PCI-Counter/Timer Counter Timer board + 0015 PCI-DAC416 Analogue output board + 0016 PCI-MFB Analogue I/O board + 0017 PROTO-3 PCI Prototyping board + 9100 INI-9100/9100W SCSI Host +1002 ATI Technologies Inc + 3150 M24 1P [Radeon Mobility X600] + 103c 0934 nx8220 + 3151 M24 [FireMV 2400] + 3152 M22 [Radeon Mobility X300] + 3154 M24GL [Mobility FireGL V3200] + 3171 M24 [FireMV 2400] (Secondary) + 3e50 RV380 0x3e50 [Radeon X600] + 3e54 RV380 0x3e54 [FireGL V3200] + 3e70 RV380 [Radeon X600] (Secondary) + 4136 Radeon IGP 320 M + 4137 Radeon IGP330/340/350 + 4144 R300 AD [Radeon 9500 Pro] + 4145 R300 AE [Radeon 9700 Pro] + 4146 R300 AF [Radeon 9700 Pro] + 4147 R300 AG [FireGL Z1/X1] + 4148 R350 AH [Radeon 9800] + 4149 R350 AI [Radeon 9800] + 414a R350 AJ [Radeon 9800] + 414b R350 AK [FireGL X2] + 4150 RV350 AP [Radeon 9600] + 1002 0002 R9600 Pro primary (Asus OEM for HP) + 1002 0003 R9600 Pro secondary (Asus OEM for HP) + 1002 4722 All-in-Wonder 2006 AGP Edition + 1458 4024 Giga-Byte GV-R96128D (Primary) + 148c 2064 PowerColor R96A-C3N + 148c 2066 PowerColor R96A-C3N + 174b 7c19 Sapphire Atlantis Radeon 9600 Pro + 174b 7c29 GC-R9600PRO [Sapphire] (Primary) + 17ee 2002 Radeon 9600 256Mb Primary + 18bc 0101 GC-R9600PRO (Primary) + 4151 RV350 AQ [Radeon 9600] + 1043 c004 A9600SE + 4152 RV350 AR [Radeon 9600] + 1002 0002 Radeon 9600XT + 1002 4772 All-in-Wonder 9600 XT + 1043 c002 Radeon 9600 XT TVD + 1043 c01a A9600XT/TD + 174b 7c29 Sapphire Radeon 9600XT + 1787 4002 Radeon 9600 XT + 4153 RV350 AS [Radeon 9550] + 1043 010c A9550GE/TD + 1462 932c RX9550SE-TD128 (MS-8932) + 4154 RV350 AT [FireGL T2] + 4155 RV350 AU [FireGL T2] + 4156 RV350 AV [FireGL T2] + 4157 RV350 AW [FireGL T2] + 4158 68800AX [Mach32] + 4164 R300 AD [Radeon 9500 Pro] (Secondary) + 4165 R300 AE [Radeon 9700 Pro] (Secondary) + 4166 R300 AF [Radeon 9700 Pro] (Secondary) + 4168 Radeon R350 [Radeon 9800] (Secondary) + 4170 RV350 AP [Radeon 9600] (Secondary) + 1002 0003 R9600 Pro secondary (Asus OEM for HP) + 1002 4723 All-in-Wonder 2006 AGP Edition (Secondary) + 1458 4025 Giga-Byte GV-R96128D (Secondary) + 148c 2067 PowerColor R96A-C3N (Secondary) + 174b 7c28 GC-R9600PRO [Sapphire] (Secondary) + 17ee 2003 Radeon 9600 256Mb (Secondary) + 18bc 0100 GC-R9600PRO (Secondary) + 4171 RV350 AQ [Radeon 9600] (Secondary) + 1043 c005 A9600SE (Secondary) + 4172 RV350 AR [Radeon 9600] (Secondary) + 1002 0003 Radeon 9600XT (Secondary) + 1002 4773 All-in-Wonder 9600 XT (Secondary) + 1043 c003 A9600XT (Secondary) + 1043 c01b A9600XT/TD (Secondary) + 174b 7c28 Sapphire Radeon 9600XT (Secondary) + 1787 4003 Radeon 9600 XT (Secondary) + 4173 RV350 AS [Radeon 9550] (Secondary) + 1043 010d A9550GE/TD (Secondary) + 4237 Radeon 7000 IGP + 4242 R200 BB [Radeon All in Wonder 8500DV] + 1002 02aa Radeon 8500 AIW DV Edition + 4243 R200 BC [Radeon All in Wonder 8500] + 4336 Radeon Mobility U1 + 1002 4336 Pavilion ze4300 ATI Radeon Mobility U1 (IGP 320 M) + 103c 0024 Pavilion ze4400 builtin Video + 161f 2029 eMachines M5312 builtin Video + 4337 Radeon IGP 330M/340M/350M + 1014 053a ThinkPad R40e + 103c 0850 Radeon IGP 345M + 4341 IXP150 AC'97 Audio Controller + 4342 IXP200 3COM 3C920B Ethernet Controller + 4345 EHCI USB Controller + 4347 OHCI USB Controller #1 + 4348 OHCI USB Controller #2 + 4349 Dual Channel Bus Master PCI IDE Controller + 434d IXP AC'97 Modem + 4353 SMBus + 4354 215CT [Mach64 CT] + 4358 210888CX [Mach64 CX] + 4361 IXP SB300 AC'97 Audio Controller + 4363 SMBus + 436e 436E Serial ATA Controller + 4370 IXP SB400 AC'97 Audio Controller + 1025 0079 Aspire 5024WLMMi + 1025 0091 Aspire 5032WXMi + 103c 308b MX6125 + 105b 0c81 Realtek ALC 653 + 107b 0300 MX6421 + 4371 IXP SB400 PCI-PCI Bridge + 103c 308b MX6125 + 1462 7217 Aspire L250 + 4372 IXP SB400 SMBus Controller + 1025 0080 Aspire 5024WLMMi + 103c 308b MX6125 + 1462 7217 Aspire L250 + 4373 IXP SB400 USB2 Host Controller + 1025 0080 Aspire 5024WLMMi + 103c 308b MX6125 + 1462 7217 Aspire L250 + 4374 IXP SB400 USB Host Controller + 103c 308b MX6125 + 1462 7217 Aspire L250 + 4375 IXP SB400 USB Host Controller + 1025 0080 Aspire 5024WLMMi + 103c 308b MX6125 + 1462 7217 Aspire L250 + 4376 IXP SB400 IDE Controller + 1025 0080 Aspire 5024WLMMi + 103c 308b MX6125 + 1462 7217 Aspire L250 + 4377 IXP SB400 PCI-ISA Bridge + 1025 0080 Aspire 5024WLMi + 103c 308b MX6125 + 1462 7217 Aspire L250 + 4378 SB400 AC'97 Modem Controller + 1025 0080 Aspire 5024WLMMi + 103c 308b MX6125 + 4379 IXP SB400 Serial ATA Controller + 1462 7141 Aspire L250 + 437a IXP SB400 Serial ATA Controller + 1002 4379 4379 Serial ATA Controller + 1002 437a 437A Serial ATA Controller + 1462 7141 Aspire L250 + 14f1 8800 Leadtek WinFast TV2000XP Expert + 437b IXP SB4x0 High Definition Audio Controller + 1002 437b IXP SB4x0 High Definition Audio Controller + 10cf 1326 Fujitsu Lifebook A3040 + 1734 10b8 Realtek High Definition Audio + 4380 SB600 Non-Raid-5 SATA + 103c 2813 DC5750 Microtower + 1462 7327 K9AG Neo2 + 17f2 5999 KI690-AM2 Motherboard + 4381 SB600 Raid-5 SATA + 4382 SB600 AC97 Audio + 4383 SBx00 Azalia (Intel HDA) + 103c 280a DC5750 Microtower + 17f2 5000 KI690-AM2 Motherboard + 4384 SBx00 PCI to PCI Bridge + 4385 SBx00 SMBus Controller + 103c 280a DC5750 Microtower + 1462 7368 K9AG Neo2 + 17f2 5000 KI690-AM2 Motherboard + 4386 SB600 USB Controller (EHCI) + 103c 280a DC5750 Microtower + 1462 7368 K9AG Neo2 + 17f2 5000 KI690-AM2 Motherboard + 4387 SB600 USB (OHCI0) + 103c 280a DC5750 Microtower + 1462 7368 K9AG Neo2 + 17f2 5000 KI690-AM2 Motherboard + 4388 SB600 USB (OHCI1) + 103c 280a DC5750 Microtower + 1462 7368 K9AG Neo2 + 17f2 5000 KI690-AM2 Motherboard + 4389 SB600 USB (OHCI2) + 103c 280a DC5750 Microtower + 1462 7368 K9AG Neo2 + 17f2 5000 KI690-AM2 Motherboard + 438a SB600 USB (OHCI3) + 103c 280a DC5750 Microtower + 1462 7368 K9AG Neo2 + 17f2 5000 KI690-AM2 Motherboard + 438b SB600 USB (OHCI4) + 103c 280a DC5750 Microtower + 1462 7368 K9AG Neo2 + 17f2 5000 KI690-AM2 Motherboard + 438c SB600 IDE + 103c 280a DC5750 Microtower + 1462 7368 K9AG Neo2 + 17f2 5000 KI690-AM2 Motherboard + 438d SB600 PCI to LPC Bridge + 103c 280a DC5750 Microtower + 1462 7368 K9AG Neo2 + 17f2 5000 KI690-AM2 Motherboard + 438e SB600 AC97 Modem + 4390 SB700/SB800 SATA Controller [IDE mode] + 4391 SB700/SB800 SATA Controller [AHCI mode] + 4392 SB700/SB800 SATA Controller [Non-RAID5 mode] + 4393 SB700/SB800 SATA Controller [RAID5 mode] + 4394 SB700/SB800 SATA Controller [SATA and FC Enabled] + 4395 SB800 SATA Controller [Storage mode with HyperFlash-PCIE] + 4396 SB700/SB800 USB EHCI Controller + 4397 SB700/SB800 USB OHCI0 Controller + 4398 SB700 USB OHCI1 Controller + 4399 SB700/SB800 USB OHCI2 Controller + 439c SB700/SB800 IDE Controller + 439d SB700/SB800 LPC host controller + 4437 Radeon Mobility 7000 IGP + 4554 210888ET [Mach64 ET] + 4654 Mach64 VT + 4742 3D Rage Pro AGP 1X/2X + 1002 0040 Rage Pro Turbo AGP 2X + 1002 0044 Rage Pro Turbo AGP 2X + 1002 0061 Rage Pro AIW AGP 2X + 1002 0062 Rage Pro AIW AGP 2X + 1002 0063 Rage Pro AIW AGP 2X + 1002 0080 Rage Pro Turbo AGP 2X + 1002 0084 Rage Pro Turbo AGP 2X + 1002 4742 Rage Pro Turbo AGP 2X + 1002 8001 Rage Pro Turbo AGP 2X + 1028 0082 Rage Pro Turbo AGP 2X + 1028 4082 Optiplex GX1 Onboard Display Adapter + 1028 8082 Rage Pro Turbo AGP 2X + 1028 c082 Rage Pro Turbo AGP 2X + 8086 4152 Xpert 98D AGP 2X + 8086 464a Rage Pro Turbo AGP 2X + 4744 3D Rage Pro AGP 1X + 1002 4744 Rage Pro Turbo AGP + 4747 3D Rage Pro + 4749 3D Rage Pro + 1002 0061 Rage Pro AIW + 1002 0062 Rage Pro AIW + 474c Rage XC + 474d Rage XL AGP 2X + 1002 0004 Xpert 98 RXL AGP 2X + 1002 0008 Xpert 98 RXL AGP 2X + 1002 0080 Rage XL AGP 2X + 1002 0084 Xpert 98 AGP 2X + 1002 474d Rage XL AGP + 1033 806a Rage XL AGP + 474e Rage XC AGP + 1002 474e Rage XC AGP + 474f Rage XL + 1002 0008 Rage XL + 1002 474f Rage XL + 4750 3D Rage Pro 215GP + 1002 0040 Rage Pro Turbo + 1002 0044 Rage Pro Turbo + 1002 0080 Rage Pro Turbo + 1002 0084 Rage Pro Turbo + 1002 4750 Rage Pro Turbo + 4751 3D Rage Pro 215GQ + 4752 Rage XL + 0e11 001e Proliant Rage XL + 1002 0008 Rage XL + 1002 4752 Proliant Rage XL + 1002 8008 Rage XL + 1028 00ce PowerEdge 1400 + 1028 00d1 PowerEdge 2550 + 1028 00d9 PowerEdge 2500 + 1028 0134 PowerEdge 600SC + 1028 014a PowerEdge 1750 + 1028 0165 PowerEdge 750 + 103c 10e1 NetServer Rage XL + 107b 6400 6400 Server + 1734 007a PRIMERGY RX/TX series onboard VGA + 8086 3411 SDS2 Mainboard + 8086 3427 S875WP1-E mainboard + 8086 5744 S845WD1-E mainboard + 4753 Rage XC + 1002 4753 Rage XC + 4754 3D Rage I/II 215GT [Mach64 GT] + 4755 3D Rage II+ 215GTB [Mach64 GTB] + 4756 3D Rage IIC 215IIC [Mach64 GT IIC] + 1002 4756 Rage IIC + 4757 3D Rage IIC AGP + 1002 4757 Rage IIC AGP + 1028 0089 Rage 3D IIC + 1028 008e PowerEdge 1300 onboard video + 1028 4082 Rage 3D IIC + 1028 8082 Rage 3D IIC + 1028 c082 Rage 3D IIC + 4758 210888GX [Mach64 GX] + 4759 3D Rage IIC + 475a 3D Rage IIC AGP + 1002 0084 Rage 3D Pro AGP 2x XPERT 98 + 1002 0087 Rage 3D IIC + 1002 475a Rage IIC AGP + 4964 Radeon RV250 Id [Radeon 9000] + 4965 Radeon RV250 Ie [Radeon 9000] + 4966 Radeon RV250 If [Radeon 9000] + 10f1 0002 RV250 If [Tachyon G9000 PRO] + 148c 2039 RV250 If [Radeon 9000 Pro "Evil Commando"] + 1509 9a00 RV250 If [Radeon 9000 "AT009"] + 1681 0040 RV250 If [3D prophet 9000] + 174b 7176 RV250 If [Sapphire Radeon 9000 Pro] + 174b 7192 RV250 If [Radeon 9000 "Atlantis"] + 17af 2005 RV250 If [Excalibur Radeon 9000 Pro] + 17af 2006 RV250 If [Excalibur Radeon 9000] + 4967 Radeon RV250 Ig [Radeon 9000] + 496e Radeon RV250 [Radeon 9000] (Secondary) + 4a48 R420 JH [Radeon X800] + 4a49 R420 JI [Radeon X800PRO] + 4a4a R420 JJ [Radeon X800SE] + 4a4b R420 JK [Radeon X800] + 4a4c R420 JL [Radeon X800] + 4a4d R420 JM [FireGL X3] + 4a4e M18 JN [Radeon Mobility 9800] + 4a4f Radeon X800 SE (R420) (AGP) + 4a50 R420 JP [Radeon X800XT] + 4a54 R420 [Radeon X800 VE] + 4a69 R420 [Radeon X800 PRO/GTO] (Secondary) + 4a6a R420 [Radeon X800] (Secondary) + 4a6b R420 [Radeon X800] (Secondary) + 4a70 R420 [X800XT-PE] (Secondary) + 4a74 R420 [Radeon X800 VE] (Secondary) + 4b48 Radeon X850 Consumer (R481) + 4b49 R480 [Radeon X850XT] + 4b4a Radeon X850 SE (R480) (AGP) + 4b4b R480 [Radeon X850Pro] + 4b4c R481 [Radeon X850XT-PE] + 4b69 R480 [Radeon X850XT] (Secondary) + 4b6b R480 [Radeon X850Pro] (Secondary) + 4b6c R481 [Radeon X850XT-PE] (Secondary) + 4c42 3D Rage LT Pro AGP-133 + 0e11 b0e7 Rage LT Pro (Compaq Presario 5240) + 0e11 b0e8 Rage 3D LT Pro + 0e11 b10e 3D Rage LT Pro (Compaq Armada 1750) + 1002 0040 Rage LT Pro AGP 2X + 1002 0044 Rage LT Pro AGP 2X + 1002 4c42 Rage LT Pro AGP 2X + 1002 8001 Rage LT Pro AGP 2X + 1028 0085 Rage 3D LT Pro + 4c44 3D Rage LT Pro AGP-66 + 4c45 Rage Mobility M3 AGP + 4c46 Rage Mobility M3 AGP 2x + 1002 0155 IBM Thinkpad A22p + 1014 0155 IBM Thinkpad A22p + 1028 00b1 Latitude C600 + 4c47 3D Rage LT-G 215LG + 4c49 3D Rage LT Pro + 1002 0004 Rage LT Pro + 1002 0040 Rage LT Pro + 1002 0044 Rage LT Pro + 1002 4c49 Rage LT Pro + 4c4d Rage Mobility P/M AGP 2x + 0e11 b111 Armada M700 + 0e11 b160 Armada E500 + 1002 0084 Xpert 98 AGP 2X (Mobility) + 1014 0154 ThinkPad A20m/A21m + 1028 00aa Latitude CPt + 1028 00bb Latitude CPx + 1179 ff00 Satellite 1715XCDS laptop + 13bd 1019 PC-AR10 + 4c4e Rage Mobility L AGP 2x + 4c50 3D Rage LT Pro + 1002 4c50 Rage LT Pro + 4c51 3D Rage LT Pro + 4c52 Rage Mobility P/M + 1033 8112 Versa Note VXi + 4c53 Rage Mobility L + 4c54 264LT [Mach64 LT] + 4c57 Radeon Mobility M7 LW [Radeon Mobility 7500] + 1014 0517 ThinkPad T30 + 1014 0530 ThinkPad T42 2373-4WU + 1028 00e6 Radeon Mobility M7 LW (Dell Inspiron 8100) + 1028 012a Latitude C640 + 1043 1622 Mobility Radeon M7 (L3C/S) + 144d c006 Radeon Mobility M7 LW in vpr Matrix 170B4 + 4c58 Radeon RV200 LX [Mobility FireGL 7800 M7] + 4c59 Radeon Mobility M6 LY + 0e11 b111 Evo N600c + 1014 0235 ThinkPad A30/A30p (2652/2653) + 1014 0239 ThinkPad X22/X23/X24 + 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP + 104d 8140 PCG-Z1SP laptop + 1509 1930 Medion MD9703 + 4c5a Radeon Mobility M6 LZ + 4c64 Radeon RV250 Ld [Radeon Mobility 9000 M9] + 4c65 Radeon RV250 Le [Radeon Mobility 9000 M9] + 4c66 Radeon RV250 [Mobility FireGL 9000] + 1014 054d ThinkPad T41 + 4c67 Radeon RV250 Lg [Radeon Mobility 9000 M9] +# Secondary chip to the Lf + 4c6e Radeon RV250 Ln [Radeon Mobility 9000 M9] (Secondary) + 4d46 Rage Mobility M4 AGP + 4d4c Rage Mobility M4 AGP + 4d52 Theater 550 PRO PCI [ATI TV Wonder 550] + 4d53 Theater 550 PRO PCIe + 4e44 Radeon R300 ND [Radeon 9700 Pro] + 1002 515e Radeon ES1000 + 1002 5965 Radeon ES1000 + 4e45 Radeon R300 NE [Radeon 9500 Pro] + 1002 0002 Radeon R300 NE [Radeon 9500 Pro] + 1681 0002 Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] + 4e46 R300 NF [Radeon 9600 TX] + 4e47 Radeon R300 NG [FireGL X1] + 4e48 Radeon R350 [Radeon 9800 Pro] + 4e49 Radeon R350 [Radeon 9800] + 4e4a R360 NJ [Radeon 9800 XT] + 1002 4e4a R360 [Radeon 9800 XT] + 4e4b R350 NK [FireGL X2] + 4e50 RV350 [Mobility Radeon 9600 M10] + 1025 005a TravelMate 290 + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 144d c00c P35 notebook + 1462 0311 MSI M510A + 1734 1055 Amilo M1420W + 4e51 M10 NQ [Radeon Mobility 9600] + 4e52 RV350 [Mobility Radeon 9600 M10] + 144d c00c P35 notebook + 4e53 M10 NS [Radeon Mobility 9600] + 4e54 M10 NT [FireGL Mobility T2] + 4e56 M11 NV [FireGL Mobility T2e] + 4e64 Radeon R300 [Radeon 9700 Pro] (Secondary) + 4e65 Radeon R300 [Radeon 9500 Pro] (Secondary) + 1002 0003 Radeon R300 NE [Radeon 9500 Pro] + 1681 0003 Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] (Secondary) + 4e66 RV350 NF [Radeon 9600] (Secondary) + 4e67 Radeon R300 [FireGL X1] (Secondary) + 4e68 Radeon R350 [Radeon 9800 Pro] (Secondary) + 4e69 Radeon R350 [Radeon 9800] (Secondary) + 4e6a RV350 NJ [Radeon 9800 XT] (Secondary) + 1002 4e6a R360 [Radeon 9800 XT] (Secondary) + 1002 4e71 M10 NQ [Radeon Mobility 9600] + 4e71 M10 NQ [Radeon Mobility 9600] (Secondary) + 4f72 RV250 [Radeon 9000 Series] + 4f73 Radeon RV250 [Radeon 9000 Series] (Secondary) + 5041 Rage 128 PA/PRO + 5042 Rage 128 PB/PRO AGP 2x + 5043 Rage 128 PC/PRO AGP 4x + 5044 Rage 128 PD/PRO TMDS + 1002 0028 Rage 128 AIW + 1002 0029 Rage 128 AIW + 5045 Rage 128 PE/PRO AGP 2x TMDS + 5046 Rage 128 PF/PRO AGP 4x TMDS + 1002 0004 Rage Fury Pro + 1002 0008 Rage Fury Pro/Xpert 2000 Pro + 1002 0014 Rage Fury Pro + 1002 0018 Rage Fury Pro/Xpert 2000 Pro + 1002 0028 Rage 128 Pro AIW AGP + 1002 002a Rage 128 Pro AIW AGP + 1002 0048 Rage Fury Pro + 1002 2000 Rage Fury MAXX AGP 4x (TMDS) (VGA device) + 1002 2001 Rage Fury MAXX AGP 4x (TMDS) (Extra device?!) + 5047 Rage 128 PG/PRO + 5048 Rage 128 PH/PRO AGP 2x + 5049 Rage 128 PI/PRO AGP 4x + 504a Rage 128 PJ/PRO TMDS + 504b Rage 128 PK/PRO AGP 2x TMDS + 504c Rage 128 PL/PRO AGP 4x TMDS + 504d Rage 128 PM/PRO + 504e Rage 128 PN/PRO AGP 2x + 504f Rage 128 PO/PRO AGP 4x + 5050 Rage 128 PP/PRO TMDS [Xpert 128] + 1002 0008 Xpert 128 + 5051 Rage 128 PQ/PRO AGP 2x TMDS + 5052 Rage 128 PR/PRO AGP 4x TMDS + 5053 Rage 128 PS/PRO + 5054 Rage 128 PT/PRO AGP 2x + 5055 Rage 128 PU/PRO AGP 4x + 5056 Rage 128 PV/PRO TMDS + 5057 Rage 128 PW/PRO AGP 2x TMDS + 5058 Rage 128 PX/PRO AGP 4x TMDS + 5144 Radeon R100 QD [Radeon 7200] + 1002 0008 Radeon 7000/Radeon VE + 1002 0009 Radeon 7000/Radeon + 1002 000a Radeon 7000/Radeon + 1002 001a Radeon 7000/Radeon + 1002 0029 Radeon AIW + 1002 0038 Radeon 7000/Radeon + 1002 0039 Radeon 7000/Radeon + 1002 008a Radeon 7000/Radeon + 1002 00ba Radeon 7000/Radeon + 1002 0139 Radeon 7000/Radeon + 1002 028a Radeon 7000/Radeon + 1002 02aa Radeon AIW + 1002 053a Radeon 7000/Radeon + 5145 Radeon R100 QE + 5146 Radeon R100 QF + 5147 Radeon R100 QG + 5148 Radeon R200 QH [Radeon 8500] + 1002 010a FireGL 8800 64Mb + 1002 0152 FireGL 8800 128Mb + 1002 0162 FireGL 8700 32Mb + 1002 0172 FireGL 8700 64Mb + 5149 Radeon R200 QI + 514a Radeon R200 QJ + 514b Radeon R200 QK + 514c Radeon R200 QL [Radeon 8500 LE] + 1002 003a Radeon R200 QL [Radeon 8500 LE] + 1002 013a Radeon 8500 + 148c 2026 R200 QL [Radeon 8500 Evil Master II Multi Display Edition] + 1681 0010 Radeon 8500 [3D Prophet 8500 128Mb] + 174b 7149 Radeon R200 QL [Sapphire Radeon 8500 LE] + 514d Radeon R200 QM [Radeon 9100] + 514e Radeon R200 QN [Radeon 8500LE] + 514f Radeon R200 QO [Radeon 8500LE] + 5154 R200 QT [Radeon 8500] + 5155 R200 QU [Radeon 9100] + 5157 Radeon RV200 QW [Radeon 7500] + 1002 013a Radeon 7500 + 1002 0f2b ALL-IN-WONDER VE PCI + 1002 103a Dell Optiplex GX260 + 1458 4000 RV200 QW [RADEON 7500 PRO MAYA AR] + 148c 2024 RV200 QW [Radeon 7500LE Dual Display] + 148c 2025 RV200 QW [Radeon 7500 Evil Master Multi Display Edition] + 148c 2036 RV200 QW [Radeon 7500 PCI Dual Display] + 174b 7146 RV200 QW [Radeon 7500 LE] + 174b 7147 RV200 QW [Sapphire Radeon 7500LE] + 174b 7161 Radeon RV200 QW [Radeon 7500 LE] + 17af 0202 RV200 QW [Excalibur Radeon 7500LE] + 5158 Radeon RV200 QX [Radeon 7500] + 5159 Radeon RV100 QY [Radeon 7000/VE] + 1002 000a Radeon 7000/Radeon VE + 1002 000b Radeon 7000 + 1002 0038 Radeon 7000/Radeon VE + 1002 003a Radeon 7000/Radeon VE + 1002 00ba Radeon 7000/Radeon VE + 1002 013a Radeon 7000/Radeon VE + 1002 0908 XVR-100 (supplied by Sun) +# The IBM card doubles as an ATI PCI video adapter + 1014 029a Remote Supervisor Adapter II (RSA2) + 1014 02c8 eServer xSeries server mainboard + 1028 016c PowerEdge 1850 + 1028 016d PowerEdge 2850 Embedded Radeon 7000-M + 1028 019a PowerEdge SC1425 + 103c 1292 Radeon 7000 + 1043 c00a A7000/T/64M + 1458 4002 RV100 QY [RADEON 7000 PRO MAYA AV Series] + 148c 2003 RV100 QY [Radeon 7000 Multi-Display Edition] + 148c 2023 RV100 QY [Radeon 7000 Evil Master Multi-Display] + 174b 0280 Radeon RV100 QY [Radeon 7000/VE] + 174b 7112 RV100 QY [Sapphire Radeon VE 7000] + 174b 7c28 Sapphire Radeon VE 7000 DDR + 1787 0202 RV100 QY [Excalibur Radeon 7000] + 17ee 1001 Radeon 7000 64MB DDR + DVI + 515a Radeon RV100 QZ [Radeon 7000/VE] + 515e ES1000 + 1028 01df PowerEdge SC440 + 1028 01e6 PowerEdge 860 + 1028 020f PowerEdge R300 Embedded ATI ES1000 + 1028 0210 PowerEdge T300 Embedded ATI ES1000 + 1028 0225 PowerEdge T105 Embedded ATI ES1000 + 15d9 8680 X7DVL-E-O motherboard + 8086 3476 S5000PSLSATA Server Board + 515f ES1000 + 5168 Radeon R200 Qh + 5169 Radeon R200 Qi + 516a Radeon R200 Qj + 516b Radeon R200 Qk +# This one is not in ATI documentation, but is in XFree86 source code + 516c Radeon R200 Ql + 5245 Rage 128 RE/SG + 1002 0008 Xpert 128 + 1002 0028 Rage 128 AIW + 1002 0029 Rage 128 AIW + 1002 0068 Rage 128 AIW + 5246 Rage 128 RF/SG AGP + 1002 0004 Magnum/Xpert 128/Xpert 99 + 1002 0008 Magnum/Xpert128/X99/Xpert2000 + 1002 0028 Rage 128 AIW AGP + 1002 0044 Rage Fury/Xpert 128/Xpert 2000 + 1002 0068 Rage 128 AIW AGP + 1002 0448 Rage Fury + 5247 Rage 128 RG + 524b Rage 128 RK/VR + 524c Rage 128 RL/VR AGP + 1002 0008 Xpert 99/Xpert 2000 + 1002 0088 Xpert 99 + 5345 Rage 128 SE/4x + 5346 Rage 128 SF/4x AGP 2x + 1002 0048 RAGE 128 16MB VGA TVOUT AMC PAL + 5347 Rage 128 SG/4x AGP 4x + 5348 Rage 128 SH + 534b Rage 128 SK/4x + 534c Rage 128 SL/4x AGP 2x + 534d Rage 128 SM/4x AGP 4x + 1002 0008 Xpert 99/Xpert 2000 + 1002 0018 Xpert 2000 + 534e Rage 128 4x + 5354 Mach 64 VT + 1002 5654 Mach 64 reference + 5446 Rage 128 Pro Ultra TF + 1002 0004 Rage Fury Pro + 1002 0008 Rage Fury Pro/Xpert 2000 Pro + 1002 0018 Rage Fury Pro/Xpert 2000 Pro + 1002 0028 Rage 128 AIW Pro AGP + 1002 0029 Rage 128 AIW + 1002 002a Rage 128 AIW Pro AGP + 1002 002b Rage 128 AIW + 1002 0048 Xpert 2000 Pro + 544c Rage 128 Pro Ultra TL + 5452 Rage 128 Pro Ultra TR + 1002 001c Rage 128 Pro 4XL + 103c 1279 Rage 128 Pro 4XL + 5453 Rage 128 Pro Ultra TS + 5454 Rage 128 Pro Ultra TT + 5455 Rage 128 Pro Ultra TU + 5460 M22 [Mobility Radeon X300] + 1775 1100 CR11/VR11 Single Board Computer + 5461 M22 [Mobility Radeon X300] + 5462 M24 [Radeon Mobility X600] + 5464 M22 [FireGL GL] + 5548 R423 UH [Radeon X800 (PCIE)] + 5549 R423 UI [Radeon X800PRO (PCIE)] + 554a R423 UJ [Radeon X800LE (PCIE)] + 554b R423 UK [Radeon X800SE (PCIE)] + 554c Radeon X800 XTP (R430) (PCIE) + 554d R430 [Radeon X800 XL] (PCIe) + 554e Radeon X800 SE (R430) (PCIE) + 554f R430 [Radeon X800 (PCIE)] + 5550 R423 [FireGL V7100] + 5551 R423 [FireGL V5100 (PCIE)] + 5552 R423 UR [FireGL V5100 (PCIE)] + 5554 R423 UT [FireGL V7100 (PCIE)] + 5555 R430 GL PRO + 5569 R423 UI [Radeon X800PRO (PCIE)] (Secondary) + 556b Radeon R423 UK (PCIE) [X800 SE] (Secondary) + 556d R430 [Radeon X800 XL] (PCIe) (Secondary) + 556f R430 [Radeon X800] (PCIE) (Secondary) + 5571 R423GL-SE [FireGL V5100 (PCIE)] (Secondary) + 564a M26 [Mobility FireGL V5000] + 564b M26 [Mobility FireGL V5000] + 564f M26 [Radeon Mobility X700 XL (PCIE)] + 5652 M26 [Radeon Mobility X700] + 5653 Radeon Mobility X700 (PCIE) + 1025 0080 Aspire 5024WLMi + 103c 0940 HP Compaq NW8240 Mobile Workstation + 5654 264VT [Mach64 VT] + 1002 5654 Mach64VT Reference + 5655 264VT3 [Mach64 VT3] + 5656 264VT4 [Mach64 VT4] + 5657 Radeon X550/X700 Series (RV410) + 5830 RS300 Host Bridge + 5831 RS300 Host Bridge + 5832 RS300 Host Bridge + 5833 Radeon 9100 IGP Host Bridge + 5834 Radeon 9100 IGP + 5835 RS300M AGP [Radeon Mobility 9100IGP] + 5838 Radeon 9100 IGP AGP Bridge + 5854 Radeon Xpress Series (RS480) + 5874 Radeon Xpress Series (RS482) + 5940 RV280 [Radeon 9200 PRO] (Secondary) + 17af 2021 Excalibur Radeon 9250 (Secondary) + 5941 RV280 [Radeon 9200] (Secondary) + 1458 4019 Gigabyte Radeon 9200 + 174b 7c12 Sapphire Radeon 9200 + 17af 200d Excalibur Radeon 9200 + 18bc 0050 GeXcube GC-R9200-C3 (Secondary) + 5944 RV280 [Radeon 9200 SE (PCI)] + 5950 RS480 Host Bridge + 1025 0080 Aspire 5024WLMMi + 103c 280a DC5750 Microtower + 103c 308b MX6125 + 1462 7217 Aspire L250 + 5951 Radeon Xpress 200 (RS480/RS482/RX480/RX482) Chipset - Host bridge + 5952 RD580 [CrossFire Xpress 3200] Chipset Host Bridge + 5954 RS480 [Radeon Xpress 200G Series] + 1002 5954 RV370 [Radeon Xpress 200G Series] + 5955 Radeon XPRESS 200M 5955 (PCIE) + 1002 5955 RS480 0x5955 [Radeon XPRESS 200M 5955 (PCIE)] + 103c 308b MX6125 + 5956 RD790 Northbridge only dual slot PCI-e_GFX and HT3 K8 part + 5957 RX780/RX790 Chipset Host Bridge + 5958 RD780 Northbridge only dual slot PCI-e_GFX and HT1 K8 part + 5960 RV280 [Radeon 9200 PRO] + 17af 2020 Excalibur Radeon 9250 + 5961 RV280 [Radeon 9200] + 1002 2f72 All-in-Wonder 9200 Series + 1019 4c30 Radeon 9200 VIVO + 12ab 5961 YUAN SMARTVGA Radeon 9200 + 1458 4018 Gigabyte Radeon 9200 + 174b 7c13 Sapphire Radeon 9200 + 17af 200c Excalibur Radeon 9200 + 18bc 0050 Radeon 9200 Game Buster + 18bc 0051 GeXcube GC-R9200-C3 + 18bc 0053 Radeon 9200 Game Buster VIVO + 5962 RV280 [Radeon 9200] + 5964 RV280 [Radeon 9200 SE] + 1002 5964 Radeon 9200 SE, 64-bit 128MB DDR, 200/166MHz + 1043 c006 ASUS Radeon 9200 SE / TD / 128M + 1458 4018 Radeon 9200 SE + 1458 4032 Radeon 9200 SE 128MB + 147b 6191 R9200SE-DT + 148c 2073 CN-AG92E + 174b 7c13 Sapphire Radeon 9200 SE + 1787 5964 Excalibur 9200SE VIVO 128M + 17af 2012 Radeon 9200 SE Excalibur + 18bc 0170 Sapphire Radeon 9200 SE 128MB Game Buster + 18bc 0173 GC-R9200L(SE)-C3H [Radeon 9200 Game Buster] + 5965 RV280 [FireMV 2200 PCI] + 5969 ES1000 + 5974 RS482 [Radeon Xpress 200] + 103c 280a DC5750 Microtower + 1462 7141 Aspire L250 + 5975 RS482 [Radeon Xpress 200M] + 5978 RD790 PCI to PCI bridge (external gfx0 port A) + 5979 RD790 PCI to PCI bridge (external gfx0 port B) + 597a RD790 PCI to PCI bridge (PCI express gpp port A) + 597b RD790 PCI to PCI bridge (PCI express gpp port B) + 597c RD790 PCI to PCI bridge (PCI express gpp port C) + 597d RD790 PCI to PCI bridge (PCI express gpp port D) + 597e RD790 PCI to PCI bridge (PCI express gpp port E) + 597f RD790 PCI to PCI bridge (PCI express gpp port F) + 5980 RD790 PCI to PCI bridge (external gfx1 port A) + 5981 RD790 PCI to PCI bridge (external gfx1 port B) + 5982 RD790 PCI to PCI bridge (NB-SB link) + 5a10 RD890 Northbridge only dual slot (2x16) PCI-e GFX Hydra part + 5a11 RD890 Northbridge only single slot PCI-e GFX Hydra part + 5a12 RD890 Northbridge only dual slot (2x8) PCI-e GFX Hydra part + 5a13 RD890 PCI to PCI bridge (external gfx0 port A) + 5a14 RD890 PCI to PCI bridge (external gfx0 port B) + 5a15 RD890 PCI to PCI bridge (PCI express gpp port A) + 5a16 RD890 PCI to PCI bridge (PCI express gpp port B) + 5a17 RD890 PCI to PCI bridge (PCI express gpp port C) + 5a18 RD890 PCI to PCI bridge (PCI express gpp port D) + 5a19 RD890 PCI to PCI bridge (PCI express gpp port E) + 5a1a RD890 PCI to PCI bridge (PCI express gpp port F) + 5a1b RD890 PCI to PCI bridge (PCI express gpp port G) + 5a1c RD890 PCI to PCI bridge (PCI express gpp port H) + 5a1d RD890 PCI to PCI bridge (external gfx1 port A) + 5a1e RD890 PCI to PCI bridge (external gfx1 port B) + 5a1f RD890 PCI to PCI bridge (NB-SB link) + 5a33 Radeon Xpress 200 Host Bridge + 5a34 RS480 PCI-X Root Port +# Comes in pair with 5a3f + 5a36 RS480 PCI Bridge + 5a37 RS480 PCI Bridge + 5a38 RS480 PCI Bridge +# Comes in pair with 5a38 + 5a39 RS480 PCI Bridge + 5a3f RS480 PCI Bridge + 1462 7217 Aspire L250 + 5a41 RS400 [Radeon Xpress 200] + 5a42 RS400 [Radeon Xpress 200M] + 5a43 Radeon Xpress Series (RS400) + 5a61 RC410 [Radeon Xpress 200] + 5a62 RC410 [Radeon Xpress 200M] + 5a63 Radeon Xpress Series (RC410) + 5b60 RV370 5B60 [Radeon X300 (PCIE)] + 1043 002a Extreme AX300SE-X + 1043 032e Extreme AX300/TD + 1458 2102 GV-RX30S128D (X300SE) + 1462 0400 RX300SE-TD128E (MS-8940 REV:200) + 1462 0402 RX300SE-TD128E (MS-8940) + 174b 0500 Radeon X300 (PCIE) + 196d 1086 X300SE HM + 5b62 RV380 [Radeon X600 (PCIE)] + 5b63 RV370 [Sapphire X550 Silent] + 5b64 RV370 5B64 [FireGL V3100 (PCIE)] + 5b65 RV370 5B65 [FireGL D1100 (PCIE)] + 5b66 RV370X + 5b70 RV370 [Radeon X300SE] + 1462 0403 RX300SE-TD128E (MS-8940) (secondary display) + 174b 0501 Radeon X300SE + 196d 1087 X300SE HM + 5b72 RV380 [Radeon X600] + 5b73 RV370 secondary [Sapphire X550 Silent] + 5b74 RV370 5B64 [FireGL V3100 (PCIE)] (Secondary) + 5b75 RV370 5B75 [FireGL D1100 (PCIE)] (Secondary) + 5c61 M9+ 5C61 [Radeon Mobility 9200 (AGP)] + 5c63 M9+ 5C63 [Radeon Mobility 9200 (AGP)] + 1002 5c63 Apple iBook G4 2004 + 144d c00c P30 notebook + 5d44 RV280 [Radeon 9200 SE] (Secondary) + 1458 4019 Radeon 9200 SE (Secondary) + 1458 4032 Radeon 9200 SE 128MB + 147b 6190 R9200SE-DT (Secondary) + 174b 7c12 Sapphire Radeon 9200 SE (Secondary) + 1787 5965 Excalibur 9200SE VIVO 128M (Secondary) + 17af 2013 Radeon 9200 SE Excalibur (Secondary) + 18bc 0171 Radeon 9200 SE 128MB Game Buster (Secondary) + 18bc 0172 GC-R9200L(SE)-C3H [Radeon 9200 Game Buster] + 5d45 RV280 [FireMV 2200 PCI] (secondary) + 5d48 M28 [Radeon Mobility X800XT] + 5d49 M28 [Mobility FireGL V5100] + 5d4a Mobility Radeon X800 + 5d4c Radeon X850 (PCIE) + 5d4d R480 [Radeon X850XT Platinum (PCIE)] + 5d4e Radeon X850 SE (R480) (PCIE) + 5d4f R480 [Radeon X800 GTO (PCIE)] + 5d50 FireGL V7200 (R480) (PCIE) + 5d51 R480 GL 12P + 5d52 R480 [Radeon X850XT (PCIE)] (Primary) + 1002 0b12 PowerColor X850XT PCIe (Primary) + 1002 0b13 PowerColor X850XT PCIe (Secondary) + 5d57 R423 5F57 [Radeon X800XT (PCIE)] + 5d6d R480 [Radeon X850XT Platinum (PCIE)] (Secondary) + 5d6f R480 [Radeon X800 GTO (PCIE)] (Secondary) + 5d72 R480 [Radeon X850XT (PCIE)] (Secondary) + 5d77 R423 5F57 [Radeon X800XT (PCIE)] (Secondary) + 5e48 RV410 [FireGL V5000] + 5e49 RV410 [FireGL V3300] + 5e4a RV410 [Radeon X700XT] + 5e4b RV410 [Radeon X700 Pro (PCIE)] + 5e4c RV410 [Radeon X700SE] + 5e4d RV410 [Radeon X700 (PCIE)] + 148c 2116 PowerColor Bravo X700 + 5e4f RV410 [Radeon X700] + 5e6b RV410 [Radeon X700 Pro (PCIE)] (Secondary) + 5e6d RV410 [Radeon X700 (PCIE)] (Secondary) + 148c 2117 PowerColor Bravo X700 + 5f57 R423 [Radeon X800XT (PCIE)] + 700f PCI Bridge [IGP 320M] + 7010 PCI Bridge [IGP 340M] + 7100 R520 [Radeon X1800] + 7102 M58 [Radeon Mobility X1800] + 7103 M58 [Mobility FireGL V7200] + 7104 R520GL [FireGL V7200] (Primary) + 7105 R520 [FireGL] + 7106 M58 [Mobility FireGL V7100] + 7108 M58 [Radeon Mobility X1800] + 7109 R520 [Radeon X1800] + 1002 0322 All-in-Wonder X1800XL + 1002 0d02 Radeon X1800 CrossFire Edition + 710a R520 [Radeon X1800] + 710b R520 [Radeon X1800] + 710c R520 [Radeon X1800] + 7120 R520 [Radeon X1800] (Secondary) + 7124 R520GL [FireGL V7200] (Secondary) + 7129 R520 [Radeon X1800] (Secondary) + 1002 0323 All-in-Wonder X1800XL (Secondary) + 1002 0d03 Radeon X1800 CrossFire Edition (Secondary) + 7140 RV515 [Radeon X1600] + 7142 RV515 PRO [Radeon X1300/X1550 Series] + 1002 0322 All-in-Wonder 2006 PCI-E Edition + 1043 0142 EAX1300PRO/TD/256M + 7143 RV505 [Radeon X1550 Series] + 7145 Radeon Mobility X1400 + 17aa 2006 Thinkpad T60 model 2007 + 7146 RV515 [Radeon X1300] + 1002 0322 All-in-Wonder 2006 PCI-E Edition + 1545 1996 Radeon X1300 512MB PCI-e + 7147 RV505 [Radeon X1550 64-bit] + 7149 M52 [Mobility Radeon X1300] + 714a M52 [Mobility Radeon X1300] + 714b M52 [Mobility Radeon X1300] + 714c M52 [Mobility Radeon X1300] + 714d RV515 [Radeon X1300] + 714e RV515LE [Radeon X1300] + 7152 RV515GL [FireGL V3300] (Primary) + 7153 RV515GL [FireGL V3350] + 715e RV515 [Radeon X1300] + 715f RV505 CE [Radeon X1550 64-bit] + 7162 RV515 PRO [Radeon X1300/X1550 Series] (Secondary) + 1002 0323 All-in-Wonder 2006 PCI-E Edition (Secondary) + 7163 RV505 [Radeon X1550 Series] (Secondary) + 7166 RV515 [Radeon X1300] (Secondary) + 1002 0323 All-in-Wonder 2006 PCI-E Edition (Secondary) + 1545 1997 Radeon X1300 512MB PCI-e (Secondary) + 716e RV515LE [Radeon X1300] Secondary + 7172 RV515GL [FireGL V3300] (Secondary) + 7173 RV515GL [FireGL V3350] (Secondary) + 7180 RV516 [Radeon X1300/X1550 Series] + 7181 RV516 XT Radeon X1600 Series (Primary) + 7183 RV516 [Radeon X1300/X1550 Series] + 7186 RV515 [Radeon Mobility X1450] + 7187 RV516 [Radeon X1300/X1550 Series] + 7188 M64-S [Mobility Radeon X2300] + 103c 30c1 6910p + 718a Mobility Radeon X2300 + 718c M62CSP64 [Mobility Radeon X1350] + 718d M64CSP128 [Mobility Radeon X1450] + 7193 RV516 [Radeon X1550 Series] + 7196 RV516 [Mobility Radeon X1350] + 719b FireMV 2250 + 719f RV516LE [Radeon X1550 64-bit] + 71a0 RV516 [Radeon X1300/X1550 Series] (Secondary) + 71a1 RV516 XT Radeon X1600 Series (Secondary) + 71a3 RV516 [Radeon X1300 Pro] (Secondary) + 71a7 RV516 [Radeon X1300/X1550 Series] (Secondary) + 71bb FireMV 2250 (Secondary) + 71c0 RV530 [Radeon X1600] + 71c1 Radeon X1650 Pro + 71c2 RV530 [Radeon X1600] + 71c4 M56GL [Mobility FireGL V5200] + 17aa 2007 ThinkPad T60p + 71c5 M56P [Radeon Mobility X1600] + 103c 30a3 Compaq NW8440 + 106b 0080 MacBook Pro + 71c6 RV530LE [Radeon X1600/X1650 PRO] + 71c7 RV535 [Radeon X1650 Series] + 71ce RV530LE [Radeon X1600] + 71d4 M56GL [Mobility FireGL V5250] + 71d5 M66-P [Mobility Radeon X1700] + 71d6 M66-XT [Mobility Radeon X1700] + 71de RV530LE [Radeon X1600] + 71e0 RV530 [Radeon X1600] (Secondary) + 71e1 Radeon X1650 Pro (Secondary) + 71e2 RV530 [Radeon X1600] (Secondary) + 71e6 RV530LE [Radeon X1650 PRO] (Secondary) + 71e7 RV535 [Radeon X1650 Series] + 7210 M71 [Mobility Radeon X2100] + 7211 M71 [Mobility Radeon X2100] (Secondary) + 7240 R580 [Radeon X1900] + 7241 R580 [Radeon X1900] + 7242 R580 [Radeon X1900] + 7243 R580 [Radeon X1900] + 7244 R580 [Radeon X1900] + 7245 R580 [Radeon X1900] + 7246 R580 [Radeon X1900] + 7247 R580 [Radeon X1900] + 7248 R580 [Radeon X1900] + 7249 R580 [Radeon X1900 XT] (Primary) + 724a R580 [Radeon X1900] + 724b R580 [Radeon X1900] + 1002 0b12 Radeon X1900 (Primary) + 1002 0b13 Radeon X1900 (Secondary) + 724c R580 [Radeon X1900] + 724d R580 [Radeon X1900] + 724e R580 [AMD Stream Processor] + 7269 R580 [Radeon X1900 XT] (Secondary) + 726b R580 [Radeon X1900] + 726e R580 [AMD Stream Processor] (Secondary) + 7280 RV570 [Radeon X1950 Pro] + 7288 Radeon X1950 GT + 7291 Radeon X1650 XT (Primary) (PCIE) + 7293 Radeon X1650 Series + 72a0 RV570 [Radeon X1950 Pro] (secondary) + 72a8 Radeon X1950 GT (Secondary) + 72b1 Radeon X1650 XT (Secondary) (PCIE) + 72b3 Radeon X1650 Series (Secondary) + 7833 Radeon 9100 IGP Host Bridge + 7834 Radeon 9100 PRO IGP + 7835 Radeon Mobility 9200 IGP + 7838 Radeon 9100 IGP PCI/AGP Bridge + 7910 RS690 Host Bridge + 17f2 5000 KI690-AM2 Motherboard + 7911 RS690 Host Bridge + 7912 RS690 PCI to PCI Bridge (Internal gfx) + 7913 RS690 PCI to PCI Bridge (PCI Express Graphics Port 0) + 7915 RS690 PCI to PCI Bridge (PCI Express Port 1) + 7916 RS690 PCI to PCI Bridge (PCI Express Port 2) + 7917 RS690 PCI to PCI Bridge (PCI Express Port 3) + 1002 7910 RS690 PCI to PCI Bridge + 7919 Radeon X1200 Series Audio Controller + 17f2 5000 KI690-AM2 Motherboard + 791e RS690 [Radeon X1200 Series] + 1462 7327 K9AG Neo2 + 17f2 5000 KI690-AM2 Motherboard + 791f RS690M [Radeon X1200 Series] + 7930 Radeon Xpress 7930 Host Bridge + 7932 RS7932 PCI Bridge + 7933 RS7933 PCI Bridge + 7936 RS7936 PCI Bridge + 793b RS600 audio device [Radeon Xpress 12xx Series] + 793f RS600 [Radeon Xpress 1200 Series] + 7941 RS600 [Radeon Xpress 1200 Series] + 7942 Radeon Xpress 1250 + 796e Radeon 2100 + 7c37 RV350 AQ [Radeon 9600 SE] + 9400 R600 [Radeon HD 2900 Series] + 1002 3000 Sapphire Radeon HD 2900 XT + 1002 3142 HIS Radeon HD 2900XT 512MB GDDR3 VIVO PCIe + 940a R600GL [Fire GL V8650] + 940b R600GL [Fire GL V8600] + 9440 RV770 [Radeon HD 4870] + 9442 RV770 [Radeon HD 4850] + 9490 RV730XT [Radeon HD 4670] + 94c1 RV610 [Radeon HD 2400 XT] + 1028 0211 Optiplex 755 + 1028 0d02 Optiplex 755 + 94c3 RV610 video device [Radeon HD 2400 PRO] + 1002 94c3 Radeon HD 2400PRO + 174b e400 Sapphire HD 2400 PRO video device + 94c4 RV610 LE AGP [Radeon HD 2400 PRO AGP] + 94c8 Radeon HD 2400 XT + 94c9 Mobility Radeon HD 2400 + 1002 94c9 Radeon HD2400 + 94cb Radeon E2400 + 94cc RV 610LE PCI [Radeon HD 2400] + 9501 Radeon HD 3870 + 9504 Mobility Radeon HD 3850 + 9505 RV670PRO [Radeon HD 3850] + 9507 RV670 [Radeon HD 3850] + 9508 M88 XT Mobility Radeon HD 3870] + 950f R680 [Radeon HD 3870 x2] + 9511 RV670 [FireGL 7700] + 9515 RV670 AGP [Radeon HD 3850] + 9519 RV670 [FireStream 9170] + 9559 Mobility Radeon HD 3600 Series + 9581 M76 [Radeon Mobility HD 2600 Series] + 9586 RV 630 XT AGP [Radeon HD 2600 XT AGP] + 9587 RV630 PRO AGP [Radeon HD 2600 PRO AGP] + 9588 RV630 [Radeon HD 2600XT] + 1458 216c Radeon HD 2600 XT, 256MB GDDR3, 2x DVI, TV-out, PCIe (GV-RX26T256H) + 9589 RV630 [Radeon HD 2600 Series] + 958c RV630GL [FireGL v5600] + 9591 Mobility Radeon HD 3650 + 1002 9591 Mobility Radeon HD 3650 + 9593 Radeon Mobility HD 3670 + 9595 M86GL [Mobility FireGL V5700] + 9596 RV635 PRO AGP [Radeon HD 3650] + 9598 Mobility Radeon HD 3600 Series + 1002 9598 Mobility Radeon HD 3600 + 95c0 Mobility Radeon HD 3470 + 1002 95c0 Mobility Radeon HD 3470 + 95c4 Mobility Radeon HD 3400 Series + 1002 95c4 Mobility Radeon HD 3400 + 95c5 Mobility Radeon HD 3450 + 1002 95c5 Mobility Radeon HD 3450 + 95c6 RV620 LE AGP [Radeon HD 3450] + 960f RS780 Azalia controller + 9610 Radeon HD 3200 Graphics + 9611 Radeon 3100 Graphics + 9612 RS780M/RS780MN [Radeon HD 3200 Graphics] + 9613 RS780MC [Radeon HD 3100 Graphics] + 9614 Radeon HD 3300 Graphics + aa00 R600 Audio Device [Radeon HD 2900 Series] + aa08 RV630/M76 audio device [Radeon HD 2600 Series] + aa10 RV610 audio device [Radeon HD 2400 PRO] + 174b aa10 Sapphire HD 2400 PRO audio device + aa18 Radeon HD 3870 Audio device + aa20 RV635 Audio device [Radeon HD 3600 Series] + aa28 RV620 Audio device [Radeon HD 34xx Series] + aa30 HD48x0 audio + ac00 Theater 600 Pro + cab0 AGP Bridge [IGP 320M] + cab2 RS200/RS200M AGP Bridge [IGP 340M] + cab3 R200 AGP Bridge [Mobility Radeon 7000 IGP] + cbb2 RS200/RS200M AGP Bridge [IGP 340M] +1003 ULSI Systems + 0201 US201 +1004 VLSI Technology Inc + 0005 82C592-FC1 + 0006 82C593-FC1 + 0007 82C594-AFC2 + 0008 82C596/7 [Wildcat] + 0009 82C597-AFC2 + 000c 82C541 [Lynx] + 000d 82C543 [Lynx] + 0101 82C532 + 0102 82C534 [Eagle] + 0103 82C538 + 0104 82C535 + 0105 82C147 + 0200 82C975 + 0280 82C925 + 0304 QSound ThunderBird PCI Audio + 1004 0304 QSound ThunderBird PCI Audio + 122d 1206 DSP368 Audio + 1483 5020 XWave Thunder 3D Audio + 0305 QSound ThunderBird PCI Audio Gameport + 1004 0305 QSound ThunderBird PCI Audio Gameport + 122d 1207 DSP368 Audio Gameport + 1483 5021 XWave Thunder 3D Audio Gameport + 0306 QSound ThunderBird PCI Audio Support Registers + 1004 0306 QSound ThunderBird PCI Audio Support Registers + 122d 1208 DSP368 Audio Support Registers + 1483 5022 XWave Thunder 3D Audio Support Registers + 0307 Thunderbird + 0308 Thunderbird + 0702 VAS96011 [Golden Gate II] + 0703 Tollgate +1005 Avance Logic Inc. [ALI] + 2064 ALG2032/2064 + 2128 ALG2364A + 2301 ALG2301 + 2302 ALG2302 + 2364 ALG2364 + 2464 ALG2364A + 2501 ALG2564A/25128A +1006 Reply Group +1007 NetFrame Systems Inc +1008 Epson +100a Phoenix Technologies +100b National Semiconductor Corporation + 0001 DP83810 + 0002 87415/87560 IDE + 000e 87560 Legacy I/O + 000f FireWire Controller + 0011 NS87560 National PCI System I/O + 0012 USB Controller + 0020 DP83815 (MacPhyter) Ethernet Controller + 103c 0024 Pavilion ze4400 builtin Network + 12d9 000c Aculab E1/T1 PMXc cPCI carrier card + 1385 f311 FA311 / FA312 (FA311 with WoL HW) + 0021 PC87200 PCI to ISA Bridge + 0022 DP83820 10/100/1000 Ethernet Controller + 0028 Geode GX2 Host Bridge + 002a CS5535 South Bridge + 002b CS5535 ISA bridge + 002d CS5535 IDE + 002e CS5535 Audio + 002f CS5535 USB + 0030 Geode GX2 Graphics Processor + 0035 DP83065 [Saturn] 10/100/1000 Ethernet Controller + 0500 SCx200 Bridge + 0501 SCx200 SMI + 0502 SCx200, SC1100 IDE controller + 100b 0502 IDE Controller + 0503 SCx200, SC1100 Audio Controller + 100b 0503 XpressAudio controller + 0504 SCx200 Video + 0505 SCx200 XBus + 0510 SC1100 Bridge + 100b 0500 GPIO and LPC support bridge + 0511 SC1100 SMI & ACPI + 100b 0501 SC1100 SMI & ACPI bridge + 0515 SC1100 XBus + 100b 0505 SC1100 PCI to XBus bridge + d001 87410 IDE +100c Tseng Labs Inc + 3202 ET4000/W32p rev A + 3205 ET4000/W32p rev B + 3206 ET4000/W32p rev C + 3207 ET4000/W32p rev D + 3208 ET6000 + 4702 ET6300 +100d AST Research Inc +100e Weitek + 9000 P9000 Viper + 9001 P9000 Viper + 9002 P9000 Viper + 9100 P9100 Viper Pro/SE +1010 Video Logic, Ltd. +1011 Digital Equipment Corporation + 0001 DECchip 21050 + 0002 DECchip 21040 [Tulip] + 0004 DECchip 21030 [TGA] + 0007 NVRAM [Zephyr NVRAM] + 0008 KZPSA [KZPSA] + 0009 DECchip 21140 [FasterNet] + 1025 0310 21140 Fast Ethernet + 10b8 2001 SMC9332BDT EtherPower 10/100 + 10b8 2002 SMC9332BVT EtherPower T4 10/100 + 10b8 2003 SMC9334BDT EtherPower 10/100 (1-port) + 1109 2400 ANA-6944A/TX Fast Ethernet + 1112 2300 RNS2300 Fast Ethernet + 1112 2320 RNS2320 Fast Ethernet + 1112 2340 RNS2340 Fast Ethernet + 1113 1207 EN-1207-TX Fast Ethernet + 1186 1100 DFE-500TX Fast Ethernet + 1186 1112 DFE-570TX Fast Ethernet + 1186 1140 DFE-660 Cardbus Ethernet 10/100 + 1186 1142 DFE-660 Cardbus Ethernet 10/100 + 11f6 0503 Freedomline Fast Ethernet + 1282 9100 AEF-380TXD Fast Ethernet + 1385 1100 FA310TX Fast Ethernet + 2646 0001 KNE100TX Fast Ethernet + 000a 21230 Video Codec + 000d PBXGB [TGA2] + 000f PCI-to-PDQ Interface Chip [PFI] + 1011 def1 FDDI controller (DEFPA) + 103c def1 FDDI controller (3X-DEFPA) + 0014 DECchip 21041 [Tulip Pass 3] + 1186 0100 DE-530+ + 0016 DGLPB [OPPO] + 0017 PV-PCI Graphics Controller (ZLXp-L) + 0018 Memory Channel interface + 0019 DECchip 21142/43 + 1011 500a DE500A Fast Ethernet + 1011 500b DE500B Fast Ethernet + 1014 0001 10/100 EtherJet Cardbus + 1025 0315 ALN315 Fast Ethernet + 1033 800c PC-9821-CS01 100BASE-TX Interface Card + 1033 800d PC-9821NR-B06 100BASE-TX Interface Card + 103c 125a 10/100Base-TX (PCI) [A5506B] + 108d 0016 Rapidfire 2327 10/100 Ethernet + 108d 0017 GoCard 2250 Ethernet 10/100 Cardbus + 10b8 2005 SMC8032DT Extreme Ethernet 10/100 + 10b8 8034 SMC8034 Extreme Ethernet 10/100 + 10ef 8169 Cardbus Fast Ethernet + 1109 2a00 ANA-6911A/TX Fast Ethernet + 1109 2b00 ANA-6911A/TXC Fast Ethernet + 1109 3000 ANA-6922/TX Fast Ethernet + 1113 1207 Cheetah Fast Ethernet + 1113 2220 Cardbus Fast Ethernet + 115d 0002 Cardbus Ethernet 10/100 + 1179 0203 Fast Ethernet + 1179 0204 Cardbus Fast Ethernet + 1186 1100 DFE-500TX Fast Ethernet + 1186 1101 DFE-500TX Fast Ethernet + 1186 1102 DFE-500TX Fast Ethernet + 1186 1112 DFE-570TX Quad Fast Ethernet + 1259 2800 AT-2800Tx Fast Ethernet + 1266 0004 Eagle Fast EtherMAX + 12af 0019 NetFlyer Cardbus Fast Ethernet + 1374 0001 Cardbus Ethernet Card 10/100 + 1374 0002 Cardbus Ethernet Card 10/100 + 1374 0007 Cardbus Ethernet Card 10/100 + 1374 0008 Cardbus Ethernet Card 10/100 + 1385 2100 FA510 + 1395 0001 10/100 Ethernet CardBus PC Card + 13d1 ab01 EtherFast 10/100 Cardbus (PCMPC200) + 1498 000a TPMC880-10 10/100Base-T and 10Base2 PMC Ethernet Adapter + 1498 000b TPMC880-11 Single 10/100Base-T PMC Ethernet Adapter + 1498 000c TPMC880-12 Single 10Base2 PMC Ethernet Adapter + 14cb 0100 LNDL-100N 100Base-TX Ethernet PC Card + 8086 0001 EtherExpress PRO/100 Mobile CardBus 32 + 001a Farallon PN9000SX Gigabit Ethernet + 0021 DECchip 21052 + 0022 DECchip 21150 + 0023 DECchip 21150 + 0024 DECchip 21152 + 0025 DECchip 21153 + 0026 DECchip 21154 + 0034 56k Modem Cardbus + 1374 0003 56k Modem Cardbus + 0045 DECchip 21553 + 0046 DECchip 21554 + 0e11 4050 Smart Array 4200 Controller + 0e11 4051 Smart Array 4250ES Controller + 0e11 4058 Smart Array 431 Controller + 103c 10c2 NetRAID-4M + 12d9 000a IP Telephony card + 4c53 1050 CT7 mainboard + 4c53 1051 CE7 mainboard + 9005 0364 5400S (Mustang) + 9005 0365 5400S (Mustang) + 9005 1364 Dell PowerEdge RAID Controller 2 + 9005 1365 Dell PowerEdge RAID Controller 2 + e4bf 1000 CC8-1-BLUES + 1065 StrongARM DC21285 + 1069 0020 DAC960P / DAC1164P +1012 Micronics Computers Inc +1013 Cirrus Logic + 0038 GD 7548 + 0040 GD 7555 Flat Panel GUI Accelerator + 004c GD 7556 Video/Graphics LCD/CRT Ctrlr + 00a0 GD 5430/40 [Alpine] + 00a2 GD 5432 [Alpine] + 00a4 GD 5434-4 [Alpine] + 00a8 GD 5434-8 [Alpine] + 00ac GD 5436 [Alpine] + 00b0 GD 5440 + 00b8 GD 5446 + 00bc GD 5480 + 1013 00bc CL-GD5480 + 00d0 GD 5462 + 00d2 GD 5462 [Laguna I] + 00d4 GD 5464 [Laguna] + 00d5 GD 5464 BD [Laguna] + 00d6 GD 5465 [Laguna] + 13ce 8031 Barco Metheus 2 Megapixel, Dual Head + 13cf 8031 Barco Metheus 2 Megapixel, Dual Head + 00e8 GD 5436U + 1100 CL 6729 + 1110 PD 6832 PCMCIA/CardBus Ctrlr + 1112 PD 6834 PCMCIA/CardBus Ctrlr + 1113 PD 6833 PCMCIA/CardBus Ctrlr + 1200 GD 7542 [Nordic] + 1202 GD 7543 [Viking] + 1204 GD 7541 [Nordic Light] + 4000 MD 5620 [CLM Data Fax Voice] + 4400 CD 4400 + 6001 CS 4610/11 [CrystalClear SoundFusion Audio Accelerator] + 1014 1010 CS4610 SoundFusion Audio Accelerator + 6003 CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] + 1013 4280 Crystal SoundFusion PCI Audio Accelerator + 1014 0153 ThinkPad A20m + 153b 112e DMX XFire 1024 + 153b 1136 SiXPack 5.1+ + 1681 0050 Game Theater XP + 1681 a010 Gamesurround Fortissimo II + 1681 a011 Fortissimo III 7.1 + 5053 3357 Santa Cruz + 6004 CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator] + 6005 Crystal CS4281 PCI Audio + 1013 4281 Crystal CS4281 PCI Audio + 10cf 10a8 Crystal CS4281 PCI Audio + 10cf 10a9 Crystal CS4281 PCI Audio + 10cf 10aa Crystal CS4281 PCI Audio + 10cf 10ab Crystal CS4281 PCI Audio + 10cf 10ac Crystal CS4281 PCI Audio + 10cf 10ad Crystal CS4281 PCI Audio + 10cf 10b4 Crystal CS4281 PCI Audio + 1179 0001 Crystal CS4281 PCI Audio + 14c0 000c Crystal CS4281 PCI Audio +1014 IBM + 0002 PCI to MCA Bridge + 0005 Processor to I/O Controller [Alta Lite] + 0007 Processor to I/O Controller [Alta MP] + 000a PCI to ISA Bridge (IBM27-82376) [Fire Coral] + 0017 CPU to PCI Bridge + 0018 TR Auto LANstreamer + 001b GXT-150P + 001c Carrera + 001d SCSI-2 FAST PCI Adapter (82G2675) + 0020 GXT1000 Graphics Adapter + 0022 PCI to PCI Bridge (IBM27-82351) + 002d Processor to I/O Controller [Python] + 002e SCSI RAID Adapter [ServeRAID] + 1014 002e ServeRAID-3x + 1014 022e ServeRAID-4H + 0031 2 Port Serial Adapter +# AS400 iSeries PCI sync serial card + 1014 0031 2721 WAN IOA - 2 Port Sync Serial Adapter + 0036 PCI to 32-bit LocalBus Bridge [Miami] + 0037 PowerPC to PCI Bridge (IBM27-82660) + 003a CPU to PCI Bridge + 003c GXT250P/GXT255P Graphics Adapter + 003e 16/4 Token ring UTP/STP controller + 1014 003e Token-Ring Adapter + 1014 00cd Token-Ring Adapter + Wake-On-LAN + 1014 00ce 16/4 Token-Ring Adapter 2 + 1014 00cf 16/4 Token-Ring Adapter Special + 1014 00e4 High-Speed 100/16/4 Token-Ring Adapter + 1014 00e5 16/4 Token-Ring Adapter 2 + Wake-On-LAN + 1014 016d iSeries 2744 Card + 0045 SSA Adapter + 0046 MPIC interrupt controller + 0047 PCI to PCI Bridge + 0048 PCI to PCI Bridge + 0049 Warhead SCSI Controller + 004e ATM Controller (14104e00) + 004f ATM Controller (14104f00) + 0050 ATM Controller (14105000) + 0053 25 MBit ATM Controller + 0054 GXT500P/GXT550P Graphics Adapter + 0057 MPEG PCI Bridge + 0058 SSA Adapter [Advanced SerialRAID/X] + 005c i82557B 10/100 + 005e GXT800P Graphics Adapter + 007c ATM Controller (14107c00) + 007d 3780IDSP [MWave] + 008b EADS PCI to PCI Bridge + 008e GXT3000P Graphics Adapter + 0090 GXT 3000P + 1014 008e GXT-3000P + 0091 SSA Adapter + 0095 20H2999 PCI Docking Bridge + 0096 Chukar chipset SCSI controller + 1014 0097 iSeries 2778 DASD IOA + 1014 0098 iSeries 2763 DASD IOA + 1014 0099 iSeries 2748 DASD IOA + 009f PCI 4758 Cryptographic Accelerator + 00a5 ATM Controller (1410a500) + 00a6 ATM 155MBPS MM Controller (1410a600) + 00b7 256-bit Graphics Rasterizer [FireGL1] + 1092 00b8 FireGL1 AGP 32Mb + 00b8 GXT2000P Graphics Adapter + 00be ATM 622MBPS Controller (1410be00) + 00dc Advanced Systems Management Adapter (ASMA) + 00fc CPC710 Dual Bridge and Memory Controller (PCI-64) + 0104 Gigabit Ethernet-SX Adapter + 0105 CPC710 Dual Bridge and Memory Controller (PCI-32) + 010f Remote Supervisor Adapter (RSA) + 0142 Yotta Video Compositor Input + 1014 0143 Yotta Input Controller (ytin) + 0144 Yotta Video Compositor Output + 1014 0145 Yotta Output Controller (ytout) + 0156 405GP PLB to PCI Bridge + 015e 622Mbps ATM PCI Adapter + 0160 64bit/66MHz PCI ATM 155 MMF + 016e GXT4000P Graphics Adapter + 0170 GXT6000P Graphics Adapter + 017d GXT300P Graphics Adapter + 0180 Snipe chipset SCSI controller + 1014 0241 iSeries 2757 DASD IOA + 1014 0264 Quad Channel PCI-X U320 SCSI RAID Adapter (2780) + 0188 EADS-X PCI-X to PCI-X Bridge + 01a7 PCI-X to PCI-X Bridge + 01bd ServeRAID Controller + 1014 01bd ServeRAID 4Lx + 1014 01be ServeRAID-4M + 1014 01bf ServeRAID-4L + 1014 0208 ServeRAID-4Mx + 1014 020e ServeRAID-4Lx + 1014 022e ServeRAID-4H + 1014 0258 ServeRAID-5i + 1014 0259 ServeRAID-5i + 01c1 64bit/66MHz PCI ATM 155 UTP + 01e6 Cryptographic Accelerator + 01ef PowerPC 440GP PCI Bridge + 1734 102b PCEAS PCI-X Dual Port ESCON Adapter + 1734 10f8 PCEAT PCI-Express Dual Port ESCON Adapter + 01ff 10/100 Mbps Ethernet + 0219 Multiport Serial Adapter + 1014 021a Dual RVX + 1014 0251 Internal Modem/RVX + 1014 0252 Quad Internal Modem + 021b GXT6500P Graphics Adapter + 021c GXT4500P Graphics Adapter + 0233 GXT135P Graphics Adapter + 0266 PCI-X Dual Channel SCSI + 0268 Gigabit Ethernet-SX Adapter (PCI-X) + 0269 10/100/1000 Base-TX Ethernet Adapter (PCI-X) + 028c Citrine chipset SCSI controller + 1014 028d Dual Channel PCI-X DDR SAS RAID Adapter (572E) + 1014 02be Dual Channel PCI-X DDR U320 SCSI RAID Adapter (571B) + 1014 02c0 Dual Channel PCI-X DDR U320 SCSI Adapter (571A) + 1014 030d PCI-X DDR Auxiliary Cache Adapter (575B) + 02a1 Calgary PCI-X Host Bridge + 02bd Obsidian chipset SCSI controller + 1014 02c1 PCI-X DDR 3Gb SAS Adapter (572A/572C) + 1014 02c2 PCI-X DDR 3Gb SAS RAID Adapter (572B/571D) + 1014 0338 PCI-X DDR Auxiliary Cache Adapter (575C) + 0302 Winnipeg PCI-X Host Bridge + 0308 CalIOC2 PCI-E Root Port + 0314 ZISC 036 Neural accelerator card + 032d Axon - Cell Companion Chip + 1014 03a1 PCIe PowerXCell 8i Cell Accelerator Board + 0339 Obsidian-E PCI-E SCSI controller + 1014 030a PCIe 3Gb SAS RAID Adapter (574E) + 1014 033a PCIe 3Gb SAS Adapter (57B3) + 1014 0360 PCI-E Auxiliary Cache Adapter (57B7) + 3022 QLA3022 Network Adapter + 4022 QLA3022 Network Adapter + ffff MPIC-2 interrupt controller +1015 LSI Logic Corp of Canada +1016 ICL Personal Systems +1017 SPEA Software AG + 5343 SPEA 3D Accelerator +1018 Unisys Systems +1019 Elitegroup Computer Systems +101a AT&T GIS (NCR) + 0005 100VG ethernet + 0007 BYNET BIC4G/2C/2G + 101a 0019 BYNET BIC2C + 101a 001c BYNET BIC2G + 101a 001f BYNET BIC4G + 0009 PQS Memory Controller + 000a BYNET BPCI Adapter + 000b BYNET 4 Port BYA Switch (BYA4P) + 000c BYNET 4 Port BYA Switch (BYA4G) + 0010 NCR AMC Memory Controller + 1dc1 BYNET BIC2M/BIC4M/BYA4M + 101a 0019 BIC2M + 101a 001f BIC4M + 101a 0ece BYA4M + 1fa8 BYNET Multi-port BIC Adapter (XBIC Based) + 101a 00c3 BYNET BIC2SE +101b Vitesse Semiconductor +101c Western Digital + 0193 33C193A + 0196 33C196A + 0197 33C197A + 0296 33C296A + 3193 7193 + 3197 7197 + 3296 33C296A + 4296 34C296 + 9710 Pipeline 9710 + 9712 Pipeline 9712 + c24a 90C +# ID for Newly Acquired Storage Products from Vitesse +101d Maxim Integrated Products +101e American Megatrends Inc. + 0009 MegaRAID 428 Ultra RAID Controller (rev 03) + 1960 MegaRAID + 101e 0471 MegaRAID 471 Enterprise 1600 RAID Controller + 101e 0475 MegaRAID 475 Express 500/500LC RAID Controller + 101e 0477 MegaRAID 477 Elite 3100 RAID Controller + 101e 0493 MegaRAID 493 Elite 1600 RAID Controller + 101e 0494 MegaRAID 494 Elite 1650 RAID Controller + 101e 0503 MegaRAID 503 Enterprise 1650 RAID Controller + 101e 0511 MegaRAID 511 i4 IDE RAID Controller + 101e 0522 MegaRAID 522 i4133 RAID Controller + 1028 0471 PowerEdge RAID Controller 3/QC + 1028 0475 PowerEdge RAID Controller 3/SC + 1028 0493 PowerEdge RAID Controller 3/DC + 1028 0511 PowerEdge Cost Effective RAID Controller ATA100/4Ch + 103c 60e7 NetRAID-1M + 9010 MegaRAID 428 Ultra RAID Controller + 9030 EIDE Controller + 9031 EIDE Controller + 9032 EIDE & SCSI Controller + 9033 SCSI Controller + 9040 Multimedia card + 9060 MegaRAID 434 Ultra GT RAID Controller + 9063 MegaRAC + 101e 0767 Dell Remote Assistant Card 2 +101f PictureTel +1020 Hitachi Computer Products +1021 OKI Electric Industry Co. Ltd. +1022 Advanced Micro Devices [AMD] + 1100 K8 [Athlon64/Opteron] HyperTransport Technology Configuration + 1101 K8 [Athlon64/Opteron] Address Map + 1102 K8 [Athlon64/Opteron] DRAM Controller + 1103 K8 [Athlon64/Opteron] Miscellaneous Control + 1200 Family 10h [Opteron, Athlon64, Sempron] HyperTransport Configuration + 1201 Family 10h [Opteron, Athlon64, Sempron] Address Map + 1202 Family 10h [Opteron, Athlon64, Sempron] DRAM Controller + 1203 Family 10h [Opteron, Athlon64, Sempron] Miscellaneous Control + 1204 Family 10h [Opteron, Athlon64, Sempron] Link Control + 1300 Family 11h HyperTransport Configuration + 1301 Family 11h Address Map + 1302 Family 11h DRAM Controller + 1303 Family 11h Miscellaneous Control + 1304 Family 11h Link Control + 2000 79c970 [PCnet32 LANCE] + 1014 2000 NetFinity 10/100 Fast Ethernet + 1022 2000 PCnet - Fast 79C971 + 103c 104c Ethernet with LAN remote power Adapter + 103c 1064 Ethernet with LAN remote power Adapter + 103c 1065 Ethernet with LAN remote power Adapter + 103c 106c Ethernet with LAN remote power Adapter + 103c 106e Ethernet with LAN remote power Adapter + 103c 10ea Ethernet with LAN remote power Adapter + 1113 1220 EN1220 10/100 Fast Ethernet + 1259 2450 AT-2450 10/100 Fast Ethernet + 1259 2454 AT-2450v4 10Mb Ethernet Adapter + 1259 2700 AT-2700TX 10/100 Fast Ethernet + 1259 2701 AT-2700FX 100Mb Ethernet + 1259 2702 AT-2700FTX 10/100 Mb Fiber/Copper Fast Ethernet + 1259 2703 AT-2701FX + 1259 2704 AT-2701FTX 10/100 Mb Fiber/Copper Fast Ethernet + 4c53 1000 CC7/CR7/CP7/VC7/VP7/VR7 mainboard + 4c53 1010 CP5/CR6 mainboard + 4c53 1020 VR6 mainboard + 4c53 1030 PC5 mainboard + 4c53 1040 CL7 mainboard + 4c53 1060 PC7 mainboard + 2001 79c978 [HomePNA] + 1092 0a78 Multimedia Home Network Adapter + 1668 0299 ActionLink Home Network Adapter + 2003 Am 1771 MBW [Alchemy] + 2020 53c974 [PCscsi] + 2040 79c974 + 2080 CS5536 [Geode companion] Host Bridge + 2081 Geode LX Video + 2082 Geode LX AES Security Block + 208f CS5536 GeodeLink PCI South Bridge + 2090 CS5536 [Geode companion] ISA + 2091 CS5536 [Geode companion] FLASH + 2093 CS5536 [Geode companion] Audio + 2094 CS5536 [Geode companion] OHC + 2095 CS5536 [Geode companion] EHC + 2096 CS5536 [Geode companion] UDC + 2097 CS5536 [Geode companion] UOC + 209a CS5536 [Geode companion] IDE + 3000 ELanSC520 Microcontroller + 7006 AMD-751 [Irongate] System Controller + 7007 AMD-751 [Irongate] AGP Bridge + 700a AMD-IGR4 AGP Host to PCI Bridge + 700b AMD-IGR4 PCI to PCI Bridge + 700c AMD-760 MP [IGD4-2P] System Controller + 700d AMD-760 MP [IGD4-2P] AGP Bridge + 700e AMD-760 [IGD4-1P] System Controller + 700f AMD-760 [IGD4-1P] AGP Bridge + 7400 AMD-755 [Cobra] ISA + 7401 AMD-755 [Cobra] IDE + 7403 AMD-755 [Cobra] ACPI + 7404 AMD-755 [Cobra] USB + 7408 AMD-756 [Viper] ISA + 7409 AMD-756 [Viper] IDE + 740b AMD-756 [Viper] ACPI + 740c AMD-756 [Viper] USB + 7410 AMD-766 [ViperPlus] ISA + 7411 AMD-766 [ViperPlus] IDE + 7413 AMD-766 [ViperPlus] ACPI + 7414 AMD-766 [ViperPlus] USB + 7440 AMD-768 [Opus] ISA + 1043 8044 A7M-D Mainboard + 7441 AMD-768 [Opus] IDE + 7443 AMD-768 [Opus] ACPI + 1043 8044 A7M-D Mainboard + 7445 AMD-768 [Opus] Audio + 7446 AMD-768 [Opus] MC97 Modem (Smart Link HAMR5600 compatible) + 7448 AMD-768 [Opus] PCI + 7449 AMD-768 [Opus] USB + 7450 AMD-8131 PCI-X Bridge + 7451 AMD-8131 PCI-X IOAPIC + 7454 AMD-8151 System Controller + 7455 AMD-8151 AGP Bridge + 7458 AMD-8132 PCI-X Bridge + 7459 AMD-8132 PCI-X IOAPIC + 7460 AMD-8111 PCI + 161f 3017 HDAMB + 7461 AMD-8111 USB + 7462 AMD-8111 Ethernet + 7464 AMD-8111 USB + 161f 3017 HDAMB + 7468 AMD-8111 LPC + 161f 3017 HDAMB + 7469 AMD-8111 IDE + 1022 2b80 AMD-8111 IDE [Quartet] + 161f 3017 HDAMB + 746a AMD-8111 SMBus 2.0 + 746b AMD-8111 ACPI + 161f 3017 HDAMB + 746d AMD-8111 AC97 Audio + 161f 3017 HDAMB + 746e AMD-8111 MC97 Modem + 756b AMD-8111 ACPI + 9600 RS780 Host Bridge + 9601 RS780 Host Bridge Alternate + 9602 RS780 PCI to PCI bridge (int gfx) + 9603 RS780 PCI to PCI bridge (ext gfx port 0) + 9604 RS780 PCI to PCI bridge (PCIE port 0) + 9605 RS780 PCI to PCI bridge (PCIE port 1) + 9606 RS780 PCI to PCI bridge (PCIE port 2) + 9607 RS780 PCI to PCI bridge (PCIE port 3) + 9608 RS780 PCI to PCI bridge (PCIE port 4) + 9609 RS780 PCI to PCI bridge (PCIE port 5) + 960a RS780 PCI to PCI bridge (NB-SB link) + 960b RS780 PCI to PCI bridge (ext gfx port 1) +1023 Trident Microsystems + 0194 82C194 + 2000 4DWave DX + 2001 4DWave NX + 122d 1400 Trident PCI288-Q3DII (NX) + 2100 CyberBlade XP4m32 + 2200 XGI Volari XP5 + 8400 CyberBlade/i7 + 1023 8400 CyberBlade i7 AGP + 8420 CyberBlade/i7d + 0e11 b15a CyberBlade i7 AGP + 8500 CyberBlade/i1 + 8520 CyberBlade i1 + 0e11 b16e CyberBlade i1 AGP + 1023 8520 CyberBlade i1 AGP + 8620 CyberBlade/i1 + 1014 0502 ThinkPad R30/T30 + 1014 1025 Travelmate 352TE + 8820 CyberBlade XPAi1 + 9320 TGUI 9320 + 9350 GUI Accelerator + 9360 Flat panel GUI Accelerator + 9382 Cyber 9382 [Reference design] + 9383 Cyber 9383 [Reference design] + 9385 Cyber 9385 [Reference design] + 9386 Cyber 9386 + 9388 Cyber 9388 + 9397 Cyber 9397 + 939a Cyber 9397DVD + 9420 TGUI 9420 + 9430 TGUI 9430 + 9440 TGUI 9440 + 9460 TGUI 9460 + 9470 TGUI 9470 + 9520 Cyber 9520 + 9525 Cyber 9525 + 9540 Cyber 9540 + 9660 TGUI 9660/938x/968x + 9680 TGUI 9680 + 9682 TGUI 9682 + 9683 TGUI 9683 + 9685 ProVIDIA 9685 + 9750 3DImage 9750 + 1014 9750 3DImage 9750 + 1023 9750 3DImage 9750 + 9753 TGUI 9753 + 9754 TGUI 9754 + 9759 TGUI 975 + 9783 TGUI 9783 + 9785 TGUI 9785 + 9850 3DImage 9850 + 9880 Blade 3D PCI/AGP + 1023 9880 Blade 3D + 9910 CyberBlade/XP + 9930 CyberBlade/XPm + 9960 CyberBlade XP2 +1024 Zenith Data Systems +1025 Acer Incorporated [ALI] + 1435 M1435 + 1445 M1445 + 1449 M1449 + 1451 M1451 + 1461 M1461 + 1489 M1489 + 1511 M1511 + 1512 ALI M1512 Aladdin + 1513 M1513 + 1521 ALI M1521 Aladdin III CPU Bridge + 10b9 1521 ALI M1521 Aladdin III CPU Bridge + 1523 ALI M1523 ISA Bridge + 10b9 1523 ALI M1523 ISA Bridge + 1531 M1531 Northbridge [Aladdin IV/IV+] + 1533 M1533 PCI-to-ISA Bridge + 10b9 1533 ALI M1533 Aladdin IV/V ISA South Bridge + 1535 M1535 PCI Bridge + Super I/O + FIR + 1541 M1541 Northbridge [Aladdin V] + 10b9 1541 ALI M1541 Aladdin V/V+ AGP+PCI North Bridge + 1542 M1542 Northbridge [Aladdin V] + 1543 M1543 PCI-to-ISA Bridge + Super I/O + FIR + 1561 M1561 Northbridge [Aladdin 7] + 1621 M1621 Northbridge [Aladdin-Pro II] + 1631 M1631 Northbridge+3D Graphics [Aladdin TNT2] + 1641 M1641 Northbridge [Aladdin-Pro IV] + 1647 M1647 [MaGiK1] PCI North Bridge + 1671 M1671 Northbridge [ALADDiN-P4] + 1672 Northbridge [CyberALADDiN-P4] + 3141 M3141 + 3143 M3143 + 3145 M3145 + 3147 M3147 + 3149 M3149 + 3151 M3151 + 3307 M3307 MPEG-I Video Controller + 3309 M3309 MPEG-II Video w/ Software Audio Decoder + 3321 M3321 MPEG-II Audio/Video Decoder + 5212 M4803 + 5215 ALI PCI EIDE Controller + 5217 M5217H + 5219 M5219 + 5225 M5225 + 5229 M5229 + 5235 M5235 + 5237 M5237 PCI USB Host Controller + 5240 EIDE Controller + 5241 PCMCIA Bridge + 5242 General Purpose Controller + 5243 PCI to PCI Bridge Controller + 5244 Floppy Disk Controller + 5247 M1541 PCI to PCI Bridge + 5251 M5251 P1394 Controller + 5427 PCI to AGP Bridge + 5451 M5451 PCI AC-Link Controller Audio Device + 5453 M5453 PCI AC-Link Controller Modem Device + 7101 M7101 PCI PMU Power Management Controller + 10b9 7101 M7101 PCI PMU Power Management Controller +1028 Dell + 0001 PowerEdge Expandable RAID Controller 2/Si + 1028 0001 PowerEdge 2400 + 0002 PowerEdge Expandable RAID Controller 3/Di + 1028 0002 PowerEdge 4400 + 1028 00d1 PERC 3/DiV [Viper] + 1028 00d9 PERC 3/DiL [Lexus] + 0003 PowerEdge Expandable RAID Controller 3/Si + 1028 0003 PowerEdge 2450 +# PowerEdge Codename Iguana + 0004 PowerEdge Expandable RAID Controller 3/Di [Iguana] + 1028 0004 PERC 3/DiF [Iguana] + 0006 PowerEdge Expandable RAID Controller 3/Di + 0007 Remote Access Card III + 0008 Remote Access Card III + 0009 Remote Access Card III: BMC/SMIC device not present + 000a PowerEdge Expandable RAID Controller 3/Di + 1028 0106 PERC 3/DiJ [Jaguar] + 1028 011b PERC 3/DiD [Dagger] + 1028 0121 PERC 3/DiB [Boxster] + 000c Embedded Remote Access or ERA/O + 000d Embedded Remote Access: BMC/SMIC device + 000e PowerEdge Expandable RAID controller 4/Di + 000f PowerEdge Expandable RAID controller 4/Di + 1028 014a PowerEdge 1750 + 0010 Remote Access Card 4 + 0011 Remote Access Card 4 Daughter Card + 0012 Remote Access Card 4 Daughter Card Virtual UART + 0013 PowerEdge Expandable RAID controller 4 + 1028 016c PowerEdge Expandable RAID Controller 4e/Si + 1028 016d PowerEdge Expandable RAID Controller 4e/Di + 1028 016e PowerEdge Expandable RAID Controller 4e/Di + 1028 016f PowerEdge Expandable RAID Controller 4e/Di + 1028 0170 PowerEdge Expandable RAID Controller 4e/Di + 0014 Remote Access Card 4 Daughter Card SMIC interface + 0015 PowerEdge Expandable RAID controller 5 + 1028 1f01 PERC 5/E Adapter RAID Controller + 1028 1f02 PERC 5/i Adapter RAID Controller + 1028 1f03 PERC 5/i Integrated RAID Controller +1029 Siemens Nixdorf IS +102a LSI Logic + 0000 HYDRA + 0010 ASPEN + 001f AHA-2940U2/U2W /7890/7891 SCSI Controllers + 9005 000f 2940U2W SCSI Controller + 9005 0106 2940U2W SCSI Controller + 9005 a180 2940U2W SCSI Controller + 00c5 AIC-7899 U160/m SCSI Controller + 1028 00c5 PowerEdge 2550/2650/4600 + 00cf AIC-7899P U160/m + 1028 0106 PowerEdge 4600 + 1028 0121 PowerEdge 2650 +102b Matrox Graphics, Inc. +# DJ: I've a suspicion that 0010 is a duplicate of 0d10. + 0010 MGA-I [Impression?] + 0100 MGA 1064SG [Mystique] + 0518 MGA-II [Athena] + 0519 MGA 2064W [Millennium] + 051a MGA 1064SG [Mystique] + 102b 0100 MGA-1064SG Mystique + 102b 1100 MGA-1084SG Mystique + 102b 1200 MGA-1084SG Mystique + 1100 102b MGA-1084SG Mystique + 110a 0018 Scenic Pro C5 (D1025) + 051b MGA 2164W [Millennium II] + 102b 051b MGA-2164W Millennium II + 102b 1100 MGA-2164W Millennium II + 102b 1200 MGA-2164W Millennium II + 102b 2100 MGA-2164W Millennium II + 051e MGA 1064SG [Mystique] AGP + 051f MGA 2164W [Millennium II] AGP + 0520 MGA G200 + 102b dbc2 G200 Multi-Monitor + 102b dbc8 G200 Multi-Monitor + 102b dbe2 G200 Multi-Monitor + 102b dbe8 G200 Multi-Monitor + 102b ff03 Millennium G200 SD + 102b ff04 Marvel G200 + 0521 MGA G200 AGP + 1014 ff03 Millennium G200 AGP + 102b 48e9 Mystique G200 AGP + 102b 48f8 Millennium G200 SD AGP + 102b 4a60 Millennium G200 LE AGP + 102b 4a64 Millennium G200 AGP + 102b c93c Millennium G200 AGP + 102b c9b0 Millennium G200 AGP + 102b c9bc Millennium G200 AGP + 102b ca60 Millennium G250 LE AGP + 102b ca6c Millennium G250 AGP + 102b dbbc Millennium G200 AGP + 102b dbc2 Millennium G200 MMS (Dual G200) + 102b dbc3 G200 Multi-Monitor + 102b dbc8 Millennium G200 MMS (Dual G200) + 102b dbd2 G200 Multi-Monitor + 102b dbd3 G200 Multi-Monitor + 102b dbd4 G200 Multi-Monitor + 102b dbd5 G200 Multi-Monitor + 102b dbd8 G200 Multi-Monitor + 102b dbd9 G200 Multi-Monitor + 102b dbe2 Millennium G200 MMS (Quad G200) + 102b dbe3 G200 Multi-Monitor + 102b dbe8 Millennium G200 MMS (Quad G200) + 102b dbf2 G200 Multi-Monitor + 102b dbf3 G200 Multi-Monitor + 102b dbf4 G200 Multi-Monitor + 102b dbf5 G200 Multi-Monitor + 102b dbf8 G200 Multi-Monitor + 102b dbf9 G200 Multi-Monitor + 102b f806 Mystique G200 Video AGP + 102b ff00 MGA-G200 AGP + 102b ff02 Mystique G200 AGP + 102b ff03 Millennium G200 AGP + 102b ff04 Marvel G200 AGP + 110a 0032 MGA-G200 AGP + 0522 MGA G200e [Pilot] ServerEngines (SEP1) + 0525 MGA G400/G450 + 0e11 b16f MGA-G400 AGP + 102b 0328 Millennium G400 16Mb SDRAM + 102b 0338 Millennium G400 16Mb SDRAM + 102b 0378 Millennium G400 32Mb SDRAM + 102b 0541 Millennium G450 Dual Head + 102b 0542 Millennium G450 Dual Head LX + 102b 0543 Millennium G450 Single Head LX + 102b 0641 Millennium G450 32Mb SDRAM Dual Head + 102b 0642 Millennium G450 32Mb SDRAM Dual Head LX + 102b 0643 Millennium G450 32Mb SDRAM Single Head LX + 102b 07c0 Millennium G450 Dual Head LE + 102b 07c1 Millennium G450 SDR Dual Head LE + 102b 0d41 Millennium G450 Dual Head PCI + 102b 0d42 Millennium G450 Dual Head LX PCI + 102b 0d43 Millennium G450 32Mb Dual Head PCI + 102b 0e00 Marvel G450 eTV + 102b 0e01 Marvel G450 eTV + 102b 0e02 Marvel G450 eTV + 102b 0e03 Marvel G450 eTV + 102b 0f80 Millennium G450 Low Profile + 102b 0f81 Millennium G450 Low Profile + 102b 0f82 Millennium G450 Low Profile DVI + 102b 0f83 Millennium G450 Low Profile DVI + 102b 19d8 Millennium G400 16Mb SGRAM + 102b 19f8 Millennium G400 32Mb SGRAM + 102b 2159 Millennium G400 Dual Head 16Mb + 102b 2179 Millennium G400 MAX/Dual Head 32Mb + 102b 217d Millennium G400 Dual Head Max + 102b 23c0 Millennium G450 + 102b 23c1 Millennium G450 + 102b 23c2 Millennium G450 DVI + 102b 23c3 Millennium G450 DVI + 102b 2f58 Millennium G400 + 102b 2f78 Millennium G400 + 102b 3693 Marvel G400 AGP + 102b 5dd0 4Sight II + 102b 5f50 4Sight II + 102b 5f51 4Sight II + 102b 5f52 4Sight II + 102b 9010 Millennium G400 Dual Head + 1458 0400 GA-G400 + 1705 0001 Millennium G450 32MB SGRAM + 1705 0002 Millennium G450 16MB SGRAM + 1705 0003 Millennium G450 32MB + 1705 0004 Millennium G450 16MB + 0527 MGA Parhelia AGP + 102b 0840 Parhelia 128Mb + 102b 0850 Parhelia 256MB AGP 4X + 0528 Parhelia 8X + 102b 1020 Parhelia 128MB + 102b 1030 Parhelia 256 MB Dual DVI + 102b 14e1 Parhelia PCI 256MB + 102b 2021 QID Pro + 0532 MGA G200eW WPCM450 [Hermon] - Winbond/Nuvoton + 0540 M91XX + 0d10 MGA Ultima/Impression + 1000 MGA G100 [Productiva] + 102b ff01 Productiva G100 + 102b ff05 Productiva G100 Multi-Monitor + 1001 MGA G100 [Productiva] AGP + 102b 1001 MGA-G100 AGP + 102b ff00 MGA-G100 AGP + 102b ff01 MGA-G100 Productiva AGP + 102b ff03 Millennium G100 AGP + 102b ff04 MGA-G100 AGP + 102b ff05 MGA-G100 Productiva AGP Multi-Monitor + 110a 001e MGA-G100 AGP + 2007 MGA Mistral + 2527 MGA G550 AGP + 102b 0f83 Millennium G550 + 102b 0f84 Millennium G550 Dual Head DDR 32Mb + 102b 1e41 Millennium G550 +# Clearly the device name should not say AGP anymore... + 102b 2300 Millennium G550 LP PCIE + 2537 Millenium P650/P750 + 102b 1820 Millennium P750 64MB + 102b 1830 Millennium P650 64MB + 102b 1c10 QID 128MB + 102b 2811 Millennium P650 Low-profile PCI 64MB + 102b 2c11 QID Low-profile PCI + 2538 Millenium P650 PCIe + 102b 08c7 Millennium P650 PCIe 128MB + 102b 0907 Millennium P650 PCIe 64MB + 102b 0947 Parhelia APVe + 102b 1047 Millennium P650 LP PCIe 128MB + 102b 1087 Millennium P650 LP PCIe 64MB + 102b 2538 Parhelia APVe + 102b 3007 QID Low-profile PCIe + 2539 Millennium P690 + 4536 VIA Framegrabber + 4cdc Morphis Vision System Jpeg2000 + 4fc5 Morphis Vision System + 5e10 Morphis Vision System Aux/IO + 6573 Shark 10/100 Multiport SwitchNIC +102c Chips and Technologies + 00b8 F64310 + 00c0 F69000 HiQVideo + 102c 00c0 F69000 HiQVideo + 4c53 1000 CC7/CR7/CP7/VC7/VP7/VR7 mainboard + 4c53 1010 CP5/CR6 mainboard + 4c53 1020 VR6 mainboard + 4c53 1030 PC5 mainboard + 4c53 1050 CT7 mainboard + 4c53 1051 CE7 mainboard + 00d0 F65545 + 00d8 F65545 + 00dc F65548 + 00e0 F65550 + 00e4 F65554 + 00e5 F65555 HiQVPro + 0e11 b049 Armada 1700 Laptop Display Controller + 1179 0001 Satellite Pro/Satellite 4010 + 00f0 F68554 + 00f4 F68554 HiQVision + 00f5 F68555 + 0c30 F69030 + 4c53 1000 CC7/CR7/CP7/VC7/VP7/VR7 mainboard + 4c53 1050 CT7 mainboard + 4c53 1051 CE7 mainboard + 4c53 1080 CT8 mainboard +102d Wyse Technology Inc. + 50dc 3328 Audio +102e Olivetti Advanced Technology +102f Toshiba America + 0009 r4x00 + 000a TX3927 MIPS RISC PCI Controller + 0020 ATM Meteor 155 + 102f 00f8 ATM Meteor 155 + 0030 TC35815CF PCI 10/100 Mbit Ethernet Controller + 0031 TC35815CF PCI 10/100 Mbit Ethernet Controller with WOL + 0032 TC35815CF PCI 10/100 Mbit Ethernet Controller on TX4939 + 0105 TC86C001 [goku-s] IDE + 0106 TC86C001 [goku-s] USB 1.1 Host + 0107 TC86C001 [goku-s] USB Device Controller + 0108 TC86C001 [goku-s] I2C/SIO/GPIO Controller + 0180 TX4927/38 MIPS RISC PCI Controller + 0181 TX4925 MIPS RISC PCI Controller + 0182 TX4937 MIPS RISC PCI Controller + 01b4 Celleb platform IDE interface + 01b5 SCC USB 2.0 EHCI controller + 01b6 SCC USB 1.1 OHCI controller +1030 TMC Research +1031 Miro Computer Products AG + 5601 DC20 ASIC + 5607 Video I/O & motion JPEG compressor + 5631 Media 3D + 6057 MiroVideo DC10/DC30+ +1032 Compaq +1033 NEC Corporation + 0000 Vr4181A USB Host or Function Control Unit + 0001 PCI to 486-like bus Bridge + 0002 PCI to VL98 Bridge + 0003 ATM Controller + 0004 R4000 PCI Bridge + 0005 PCI to 486-like bus Bridge + 0006 PC-9800 Graphic Accelerator + 0007 PCI to UX-Bus Bridge + 0008 PC-9800 Graphic Accelerator + 0009 PCI to PC9800 Core-Graph Bridge + 0016 PCI to VL Bridge + 001a [Nile II] + 0021 Vrc4373 [Nile I] + 0029 PowerVR PCX1 + 002a PowerVR 3D + 002c Star Alpha 2 + 002d PCI to C-bus Bridge + 0035 USB + 1033 0035 Hama USB 2.0 CardBus + 1179 0001 USB + 12ee 7000 Root Hub + 14c2 0105 PTI-205N USB 2.0 Host Controller + 1799 0001 Root Hub + 1931 000a GlobeTrotter Fusion Quad Lite (PPP data) + 1931 000b GlobeTrotter Fusion Quad Lite (GSM data) + 807d 0035 PCI-USB2 (OHCI subsystem) + 003b PCI to C-bus Bridge + 003e NAPCCARD Cardbus Controller + 0046 PowerVR PCX2 [midas] + 005a Vrc5074 [Nile 4] + 0063 Firewarden + 0067 PowerVR Neon 250 Chipset + 1010 0020 PowerVR Neon 250 AGP 32Mb + 1010 0080 PowerVR Neon 250 AGP 16Mb + 1010 0088 PowerVR Neon 250 16Mb + 1010 0090 PowerVR Neon 250 AGP 16Mb + 1010 0098 PowerVR Neon 250 16Mb + 1010 00a0 PowerVR Neon 250 AGP 32Mb + 1010 00a8 PowerVR Neon 250 32Mb + 1010 0120 PowerVR Neon 250 AGP 32Mb + 0072 uPD72874 IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr + 0074 56k Voice Modem + 1033 8014 RCV56ACF 56k Voice Modem + 009b Vrc5476 + 00a5 VRC4173 + 00a6 VRC5477 AC97 + 00cd IEEE 1394 [OrangeLink] Host Controller + 12ee 8011 Root hub + 00ce IEEE 1394 Host Controller + 00df Vr4131 + 00e0 USB 2.0 + 12ee 7001 Root hub + 14c2 0205 PTI-205N USB 2.0 Host Controller + 1799 0002 Root Hub + 807d 1043 PCI-USB2 (EHCI subsystem) + 00e7 uPD72873 IEEE1394 OHCI 1.1 2-port Host Controller + 00f2 uPD72874 IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr + 00f3 uPD6113x Multimedia Decoder/Processor [EMMA2] + 010c VR7701 + 0125 uPD720400 PCI Express - PCI/PCI-X Bridge + 013a Dual Tuner/MPEG Encoder +1034 Framatome Connectors USA Inc. +1035 Comp. & Comm. Research Lab +1036 Future Domain Corp. + 0000 TMC-18C30 [36C70] +1037 Hitachi Micro Systems +1038 AMP, Inc +1039 Silicon Integrated Systems [SiS] + 0001 Virtual PCI-to-PCI bridge (AGP) + 0002 SG86C202 + 0003 SiS AGP Port (virtual PCI-to-PCI bridge) + 0004 PCI-to-PCI bridge + 0006 85C501/2/3 + 0008 SiS85C503/5513 (LPC Bridge) + 0009 ACPI + 000a PCI-to-PCI bridge + 0016 SiS961/2 SMBus Controller + 0018 SiS85C503/5513 (LPC Bridge) + 0180 RAID bus controller 180 SATA/PATA [SiS] + 0181 SATA + 0182 182 SATA/RAID Controller + 1734 1095 D2030-A1 + 0186 AHCI Controller (0106) + 0190 190 Ethernet Adapter + 0191 191 Gigabit Ethernet Adapter + 0200 5597/5598/6326 VGA + 1039 0000 SiS5597 SVGA (Shared RAM) + 0204 82C204 + 0205 SG86C205 + 0300 300/305 PCI/AGP VGA Display Adapter + 107d 2720 Leadtek WinFast VR300 + 0310 315H PCI/AGP VGA Display Adapter + 0315 315 PCI/AGP VGA Display Adapter + 0325 315PRO PCI/AGP VGA Display Adapter + 0330 330 [Xabre] PCI/AGP VGA Display Adapter + 0406 85C501/2 + 0496 85C496 + 0530 530 Host + 0540 540 Host + 0550 550 Host + 0597 5513C + 0601 85C601 + 0620 620 Host + 0630 630 Host + 0633 633 Host + 0635 635 Host + 0645 SiS645 Host & Memory & AGP Controller + 0646 SiS645DX Host & Memory & AGP Controller + 0648 645xx + 0649 SiS649 Host + 0650 650/M650 Host + 0651 651 Host + 0655 655 Host + 0660 660 Host + 0661 661FX/M661FX/M661MX Host + 0662 662 Host + 0671 671MX + 0730 730 Host + 0733 733 Host + 0735 735 Host + 0740 740 Host + 0741 741/741GX/M741 Host + 0745 745 Host + 0746 746 Host + 0755 755 Host + 0760 760/M760 Host + 0761 761/M761 Host + 1734 1099 D2030-A1 Motherboard + 0900 SiS900 PCI Fast Ethernet + 1019 0a14 K7S5A motherboard + 1039 0900 SiS900 10/100 Ethernet Adapter onboard [Asus P4SC-EA] + 1043 8035 CUSI-FX motherboard + 1043 80a7 Motherboard P4S800D-X + 1462 0900 MS-6701 motherboard + 0961 SiS961 [MuTIOL Media IO] + 0962 SiS962 [MuTIOL Media IO] + 0963 SiS963 [MuTIOL Media IO] + 0964 SiS964 [MuTIOL Media IO] + 0965 SiS965 [MuTIOL Media IO] + 0966 SiS966 [MuTIOL Media IO] + 0968 SiS968 [MuTIOL Media IO] + 1180 SATA Controller / IDE mode + 1182 SATA Controller / RAID mode + 1183 SATA Controller / IDE mode + 1184 AHCI Controller / RAID mode + 1185 AHCI IDE Controller (0106) + 3602 83C602 + 5107 5107 + 5300 SiS540 PCI Display Adapter + 5315 550 PCI/AGP VGA Display Adapter + 5401 486 PCI Chipset + 5511 5511/5512 + 5513 5513 [IDE] + 1019 0970 P6STP-FL motherboard + 1039 5513 SiS5513 EIDE Controller (A,B step) + 1043 8035 CUSI-FX motherboard + 1462 7010 MS-6701 motherboard + 1631 5513 GA-8SIML Rev1.0 Motherboard + 1734 1095 D2030-A1 Motherboard + 5517 5517 + 5571 5571 + 5581 5581 Pentium Chipset + 5582 5582 + 5591 5591/5592 Host + 5596 5596 Pentium Chipset + 5597 5597 [SiS5582] + 5600 5600 Host + 6204 Video decoder & MPEG interface + 6205 VGA Controller + 6236 6236 3D-AGP + 6300 630/730 PCI/AGP VGA Display Adapter + 1019 0970 P6STP-FL motherboard + 1043 8035 CUSI-FX motherboard + 6306 530/620 PCI/AGP VGA Display Adapter + 1039 6306 SiS530,620 GUI Accelerator+3D + 6325 65x/M650/740 PCI/AGP VGA Display Adapter + 1039 6325 SiS 651 onboard [Asus P4SC-EA] + 1631 1004 SiS 651C onboard [Gigabyte GA-8SIML Rev1.0] + 6326 86C326 5598/6326 + 1039 6326 SiS6326 GUI Accelerator + 1092 0a50 SpeedStar A50 + 1092 0a70 SpeedStar A70 + 1092 4910 SpeedStar A70 + 1092 4920 SpeedStar A70 + 1569 6326 SiS6326 GUI Accelerator + 6330 661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter + 1039 6330 [M]661xX/[M]741[GX]/[M]760 PCI/AGP VGA Adapter + 1043 8113 SiS Real 256E (ASUS P5S800-VM motherboard) + 1458 d000 SiS661FX GUI 2D/3D Accelerator + 1734 1099 D2030-A1 + 6350 770/670 PCIE VGA Display Adapter + 6351 771/671 PCIE VGA Display Adapter + 7001 USB 1.1 Controller + 1019 0a14 K7S5A motherboard + 1039 7000 Onboard USB Controller + 1462 5470 ECS K7SOM+ motherboard + 1462 7010 MS-6701 motherboard + 1734 1095 D2030-A1 Motherboard + 7002 USB 2.0 Controller + 1462 5470 K7SOM+ 5.2C Motherboard + 1462 7010 MS-6701 motherboard + 1509 7002 Onboard USB Controller + 1734 1095 D2030-A1 + 7007 FireWire Controller + 1462 701d MS-6701 + 7012 AC'97 Sound Controller + 1039 7012 SiS 7012 onboard [Asus P4SC-EA] AC'97 Sound Controller + 1043 818f A8S-X Motherboard + 13f6 0300 CMI9739(A) on ECS K7SOM+ motherboard + 1462 5850 MSI 648 Max (MS-6585) + 1462 7010 MS-6701 motherboard + 15bd 1001 DFI 661FX motherboard + 1734 109f D2030-A1 Motherboard +# There are may be different modem codecs here (Intel537 compatible and incompatible) + 7013 AC'97 Modem Controller + 7016 SiS7016 PCI Fast Ethernet Adapter + 1039 7016 SiS7016 10/100 Ethernet Adapter + 7018 SiS PCI Audio Accelerator + 1014 01b6 SiS PCI Audio Accelerator + 1014 01b7 SiS PCI Audio Accelerator + 1019 7018 SiS PCI Audio Accelerator + 1025 000e SiS PCI Audio Accelerator + 1025 0018 SiS PCI Audio Accelerator + 1039 7018 SiS PCI Audio Accelerator + 1043 1453 SiS PCI Audio Accelerator + 1043 800b SiS PCI Audio Accelerator + 1054 7018 SiS PCI Audio Accelerator + 107d 5330 SiS PCI Audio Accelerator + 107d 5350 SiS PCI Audio Accelerator + 1170 3209 SiS PCI Audio Accelerator + 1462 400a SiS PCI Audio Accelerator + 14a4 2089 SiS PCI Audio Accelerator + 14cd 2194 SiS PCI Audio Accelerator + 14ff 1100 SiS PCI Audio Accelerator + 152d 8808 SiS PCI Audio Accelerator + 1558 1103 SiS PCI Audio Accelerator + 1558 2200 SiS PCI Audio Accelerator + 1563 7018 SiS PCI Audio Accelerator + 15c5 0111 SiS PCI Audio Accelerator + 270f a171 SiS PCI Audio Accelerator + a0a0 0022 SiS PCI Audio Accelerator + 7019 SiS7019 Audio Accelerator + 7502 Azalia Audio Controller +103a Seiko Epson Corporation +103b Tatung Corp. Of America +103c Hewlett-Packard Company + 002a NX9000 Notebook + 08bc NX5000 Notebook + 1005 A4977A Visualize EG + 1008 Visualize FX + 1028 Tach TL Fibre Channel Host Adapter + 1029 Tach XL2 Fibre Channel Host Adapter + 107e 000f Interphase 5560 Fibre Channel Adapter + 9004 9210 1Gb/2Gb Family Fibre Channel Controller + 9004 9211 1Gb/2Gb Family Fibre Channel Controller + 102a Tach TS Fibre Channel Host Adapter + 107e 000e Interphase 5540/5541 Fibre Channel Adapter + 9004 9110 1Gb/2Gb Family Fibre Channel Controller + 9004 9111 1Gb/2Gb Family Fibre Channel Controller + 1030 J2585A DeskDirect 10/100VG NIC + 1031 J2585B HP 10/100VG PCI LAN Adapter + 103c 1040 J2973A DeskDirect 10BaseT NIC + 103c 1041 J2585B DeskDirect 10/100VG NIC + 103c 1042 J2970A DeskDirect 10BaseT/2 NIC + 1040 J2973A DeskDirect 10BaseT NIC + 1041 J2585B DeskDirect 10/100 NIC + 1042 J2970A DeskDirect 10BaseT/2 NIC + 1048 Diva Serial [GSP] Multiport UART + 103c 1049 Tosca Console + 103c 104a Tosca Secondary + 103c 104b Maestro SP2 + 103c 1223 Superdome Console + 103c 1226 Keystone SP2 + 103c 1227 Powerbar SP2 + 103c 1282 Everest SP2 + 103c 1301 Diva RMP3 + 1054 PCI Local Bus Adapter + 1064 79C970 PCnet Ethernet Controller + 108b Visualize FXe + 10c1 NetServer Smart IRQ Router + 10ed TopTools Remote Control + 10f0 rio System Bus Adapter + 10f1 rio I/O Controller + 1200 82557B 10/100 NIC + 1219 NetServer PCI Hot-Plug Controller + 121a NetServer SMIC Controller + 121b NetServer Legacy COM Port Decoder + 121c NetServer PCI COM Port Decoder + 1229 zx1 System Bus Adapter + 122a zx1 I/O Controller + 122e PCI-X Local Bus Adapter + 127b sx1000 System Bus Adapter + 127c sx1000 I/O Controller + 1290 Auxiliary Diva Serial Port + 103c 1291 Diva SP2 + 1291 Auxiliary Diva Serial Port + 12b4 zx1 QuickSilver AGP8x Local Bus Adapter + 12eb sx2000 System Bus Adapter + 12ec sx2000 I/O Controller + 12ee PCI-X 2.0 Local Bus Adapter + 12f8 Broadcom BCM4306 802.11b/g Wireless LAN + 12fa BCM4306 802.11b/g Wireless LAN Controller + 1302 RMP-3 Shared Memory Driver + 1303 RMP-3 (Remote Management Processor) + 1361 BCM4312 802.11a/b/g WLAN Controller + 1371 Broadcom Corporation BCM4312 802.11a/b/g (rev 02) + 2910 E2910A PCIBus Exerciser + 2925 E2925A 32 Bit, 33 MHzPCI Exerciser & Analyzer + 3080 Pavilion ze2028ea + 3085 Realtek RTL8139/8139C/8139C+ + 30b5 Compaq Presario V3000Z + 31fb DL365 ATI ES1000 VGA controller + 3206 Adaptec Embedded Serial ATA HostRAID + 3220 Smart Array P600 + 103c 3225 3 Gb/s SAS RAID + 3230 Smart Array Controller + 103c 3223 Smart Array P800 + 103c 3234 P400 SAS Controller + 103c 3235 P400i SAS Controller + 103c 3237 E500 SAS Controller + 103c 323d P700m SAS Controller + 3238 Smart Array E200i (SAS Controller) + 323a Smart Array G6 controllers + 103c 3241 Smart Array P212 + 103c 3243 Smart Array P410 + 103c 3245 Smart Array P410i + 103c 3247 Smart Array P411 + 103c 3249 Smart Array P812 +# Will present virtual install media as mass storage, keyboard/mouse from console session, etc. + 3300 Proliant iLO2 virtual USB controller +# Virtual serial port which is presented on a Java applet + 3302 Proliant iLO2 virtual UART + 3305 Proliant iLO2 [Integrated Lights Out] controller + 4030 zx2 System Bus Adapter + 4031 zx2 I/O Controller + 4037 PCIe Local Bus Adapter + 403b PCIe Root Port + 60e8 NetRAID-2M : ZX1/M (OEM AMI MegaRAID 493) +103e Solliday Engineering +103f Synopsys/Logic Modeling Group +1040 Accelgraphics Inc. +1041 Computrend +1042 Micron + 1000 PC Tech RZ1000 + 1001 PC Tech RZ1001 + 3000 Samurai_0 + 3010 Samurai_1 + 3020 Samurai_IDE +1043 ASUSTeK Computer Inc. + 0675 ISDNLink P-IN100-ST-D + 0675 1704 ISDN Adapter (PCI Bus, D, C) + 0675 1707 ISDN Adapter (PCI Bus, DV, W) + 10cf 105e ISDN Adapter (PCI Bus, DV, W) + 0c11 A7N8X Motherboard nForce2 IDE/USB/SMBus + 4015 v7100 SDRAM [GeForce2 MX] + 4021 v7100 Combo Deluxe [GeForce2 MX + TV tuner] + 4057 v8200 GeForce 3 + 8043 v8240 PAL 128M [P4T] Motherboard + 8047 v8420 Deluxe [GeForce4 Ti4200] + 807b v9280/TD [Geforce4 TI4200 8X With TV-Out and DVI] + 8095 A7N8X Motherboard nForce2 AC97 Audio + 80ac A7N8X Motherboard nForce2 AGP/Memory + 80bb v9180 Magic/T [GeForce4 MX440 AGP 8x 64MB TV-out] + 80c5 nForce3 chipset motherboard [SK8N] + 80df v9520 Magic/T + 815a A8N-SLI Motherboard nForce4 SATA + 8168 Realtek PCI-E Gigabit Ethernet Controller (RTL8111B) + 8187 802.11a/b/g Wireless LAN Card + 8188 Tiger Hybrid TV Capture Device +# Found on ASUS M2V motherboard + 81e7 Realtek ALC-660 6-channel CODEC + 81f4 EN7300TC512/TD/128M/A(C262G) [Graphics Card EN7300TC512] +1044 Adaptec (formerly DPT) + 1012 Domino RAID Engine + a400 SmartCache/Raid I-IV Controller + a500 PCI Bridge + a501 SmartRAID V Controller + 1044 c001 PM1554U2 Ultra2 Single Channel + 1044 c002 PM1654U2 Ultra2 Single Channel + 1044 c003 PM1564U3 Ultra3 Single Channel + 1044 c004 PM1564U3 Ultra3 Dual Channel + 1044 c005 PM1554U2 Ultra2 Single Channel (NON ACPI) + 1044 c00a PM2554U2 Ultra2 Single Channel + 1044 c00b PM2654U2 Ultra2 Single Channel + 1044 c00c PM2664U3 Ultra3 Single Channel + 1044 c00d PM2664U3 Ultra3 Dual Channel + 1044 c00e PM2554U2 Ultra2 Single Channel (NON ACPI) + 1044 c00f PM2654U2 Ultra2 Single Channel (NON ACPI) + 1044 c014 PM3754U2 Ultra2 Single Channel (NON ACPI) + 1044 c015 PM3755U2B Ultra2 Single Channel (NON ACPI) + 1044 c016 PM3755F Fibre Channel (NON ACPI) + 1044 c01e PM3757U2 Ultra2 Single Channel + 1044 c01f PM3757U2 Ultra2 Dual Channel + 1044 c020 PM3767U3 Ultra3 Dual Channel + 1044 c021 PM3767U3 Ultra3 Quad Channel + 1044 c028 PM2865U3 Ultra3 Single Channel + 1044 c029 PM2865U3 Ultra3 Dual Channel + 1044 c02a PM2865F Fibre Channel + 1044 c03c 2000S Ultra3 Single Channel + 1044 c03d 2000S Ultra3 Dual Channel + 1044 c03e 2000F Fibre Channel + 1044 c046 3000S Ultra3 Single Channel + 1044 c047 3000S Ultra3 Dual Channel + 1044 c048 3000F Fibre Channel + 1044 c050 5000S Ultra3 Single Channel + 1044 c051 5000S Ultra3 Dual Channel + 1044 c052 5000F Fibre Channel + 1044 c05a 2400A UDMA Four Channel + 1044 c05b 2400A UDMA Four Channel DAC + 1044 c064 3010S Ultra3 Dual Channel + 1044 c065 3410S Ultra160 Four Channel + 1044 c066 3010S Fibre Channel + a511 SmartRAID V Controller + 1044 c032 ASR-2005S I2O Zero Channel + 1044 c035 ASR-2010S I2O Zero Channel +1045 OPTi Inc. + a0f8 82C750 [Vendetta] USB Controller + c101 92C264 + c178 92C178 + c556 82X556 [Viper] + c557 82C557 [Viper-M] + c558 82C558 [Viper-M ISA+IDE] + c567 82C750 [Vendetta], device 0 + c568 82C750 [Vendetta], device 1 + c569 82C579 [Viper XPress+ Chipset] + c621 82C621 [Viper-M/N+] + c700 82C700 [FireStar] + c701 82C701 [FireStar Plus] + c814 82C814 [Firebridge 1] + c822 82C822 + c824 82C824 + c825 82C825 [Firebridge 2] + c832 82C832 + c861 82C861 + c895 82C895 + c935 EV1935 ECTIVA MachOne PCIAudio + d568 82C825 [Firebridge 2] + d721 IDE [FireStar] +1046 IPC Corporation, Ltd. +1047 Genoa Systems Corp +1048 Elsa AG + 0c60 Gladiac MX + 0d22 Quadro4 900XGL [ELSA GLoria4 900XGL] + 1000 QuickStep 1000 + 3000 QuickStep 3000 + 8901 Gloria XL + 1048 0935 GLoria XL (Virge) +1049 Fountain Technologies, Inc. +# nee SGS Thomson Microelectronics +104a STMicroelectronics + 0000 STLS2F Host Bridge + 0008 STG 2000X + 0009 STG 1764X + 0010 STG4000 [3D Prophet Kyro Series] + 0201 STPC Vega Northbridge + 0209 STPC Consumer/Industrial North- and Southbridge + 020a STPC Atlas/ConsumerS/Consumer IIA Northbridge + 020b STPC Consumer II ISA Bridge + 0210 STPC Atlas ISA Bridge + 021a STPC Consumer S Southbridge + 021b STPC Consumer IIA Southbridge + 0220 STPC Industrial PCI to PCCard bridge + 0228 STPC Atlas IDE + 0229 STPC Vega IDE + 0230 STPC Atlas/Vega OHCI USB Controller + 0238 STPC Vega LAN + 0500 ST70137 [Unicorn] ADSL DMT Transceiver + 104a 0500 BeWAN ADSL PCI st + 0564 STPC Client Northbridge + 0981 21x4x DEC-Tulip compatible 10/100 Ethernet + 1746 STG 1764X + 2774 21x4x DEC-Tulip compatible 10/100 Ethernet + 3520 MPEG-II decoder card + 55cc STPC Client Southbridge +104b BusLogic + 0140 BT-946C (old) [multimaster 01] + 1040 BT-946C (BA80C30) [MultiMaster 10] + 8130 Flashpoint LT +104c Texas Instruments + 0500 100 MBit LAN Controller + 0508 TMS380C2X Compressor Interface + 1000 Eagle i/f AS + 104c PCI1510 PC card Cardbus Controller + 3d04 TVP4010 [Permedia] + 3d07 TVP4020 [Permedia 2] + 1011 4d10 Comet + 1040 000f AccelStar II + 1040 0011 AccelStar II + 1048 0a31 WINNER 2000 + 1048 0a32 GLoria Synergy + 1048 0a34 GLoria Synergy + 1048 0a35 GLoria Synergy + 1048 0a36 GLoria Synergy + 1048 0a43 GLoria Synergy + 1048 0a44 GLoria Synergy + 107d 2633 WinFast 3D L2300 + 1092 0126 FIRE GL 1000 PRO + 1092 0127 FIRE GL 1000 PRO + 1092 0136 FIRE GL 1000 PRO + 1092 0141 FIRE GL 1000 PRO + 1092 0146 FIRE GL 1000 PRO + 1092 0148 FIRE GL 1000 PRO + 1092 0149 FIRE GL 1000 PRO + 1092 0152 FIRE GL 1000 PRO + 1092 0154 FIRE GL 1000 PRO + 1092 0155 FIRE GL 1000 PRO + 1092 0156 FIRE GL 1000 PRO + 1092 0157 FIRE GL 1000 PRO + 1097 3d01 Jeronimo Pro + 1102 100f Graphics Blaster Extreme + 3d3d 0100 Reference Permedia 2 3D + 8000 PCILynx/PCILynx2 IEEE 1394 Link Layer Controller + e4bf 1010 CF1-1-SNARE + e4bf 1020 CF1-2-SNARE + 8009 FireWire Controller + 104d 8032 8032 OHCI i.LINK (IEEE 1394) Controller + 8017 PCI4410 FireWire Controller + 8019 TSB12LV23 IEEE-1394 Controller + 11bd 000a Studio DV500-1394 + 11bd 000e Studio DV + e4bf 1010 CF2-1-CYMBAL + 8020 TSB12LV26 IEEE-1394 Controller (Link) + 1028 00d8 Precision 530 + 11bd 000f Studio DV500-1394 + 11bd 001c Excalibur 4.1 + 8021 TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated) + 104d 80df Vaio PCG-FX403 + 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP + 8022 TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link) + 104c 8023 TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) + 8023 TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) + 103c 088c NC8000 laptop + 1043 808b K8N4-E Mainboard + 1043 815b P5W DH Deluxe Motherboard + 8024 TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) + 107d 6620 Winfast DV2000 FireWire Controller + 1443 8024 FireBoard Blue + 8025 TSB82AA2 IEEE-1394b Link Layer Controller + 1458 1000 GA-K8N Ultra-9 Mainboard + 8026 TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) + 1025 0035 TravelMate 660 + 1025 003c Aspire 2001WLCi (Compaq CL50 motherboard) + 103c 006a NX9500 + 1043 808d A7V333 mainboard. + 8027 PCI4451 IEEE-1394 Controller + 1028 00e6 PCI4451 IEEE-1394 Controller (Dell Inspiron 8100) + 8029 PCI4510 IEEE-1394 Controller + 1028 0163 Latitude D505 + 1028 0196 Inspiron 5160 + 1071 8160 MIM2900 + 802b PCI7410,7510,7610 OHCI-Lynx Controller + 1028 0139 Latitude D400 + 1028 014e PCI7410,7510,7610 OHCI-Lynx Controller (Latitude D800) + 802e PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller + 1028 018d Inspiron 700m/710m + 8031 PCIxx21/x515 Cardbus Controller + 1025 0080 Aspire 5024WLMi + 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 103c 308b MX6125 + 8032 OHCI Compliant IEEE 1394 Host Controller + 1025 0080 Aspire 5024WLMi + 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 103c 308b MX6125 + 8033 PCIxx21 Integrated FlashMedia Controller + 1025 0080 Aspire 5024WLMi + 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 103c 308b MX6125 + 8034 PCI6411/6421/6611/6621/7411/7421/7611/7621 Secure Digital Controller + 1025 0080 Aspire 5024WLMi + 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 103c 308b MX6125 + 8035 PCI6411/6421/6611/6621/7411/7421/7611/7621 Smart Card Controller + 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 8036 PCI6515 Cardbus Controller + 8038 PCI6515 SmartCard Controller + 8039 PCIxx12 Cardbus Controller + 103c 309f nx9420 + 103c 30a1 NC2400 + 103c 30a3 Compaq nw8440 + 803a PCIxx12 OHCI Compliant IEEE 1394 Host Controller + 103c 309f nx9420 + 103c 30a1 NC2400 + 103c 30a3 Compaq nw8440 + 803b 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) + 103c 309f nx9420 + 103c 30a3 Compaq nw8440 + 803c PCIxx12 SDA Standard Compliant SD Host Controller + 103c 309f nx9420 + 103c 30a3 Compaq nw8440 + 803d PCIxx12 GemCore based SmartCard controller + 103c 309f nx9420 + 103c 30a1 NC2400 + 103c 30a3 nc8430 + 8101 TSB43DB42 IEEE-1394a-2000 Controller (PHY/Link) + 8201 PCI1620 Firmware Loading Function + 8204 PCI7410,7510,7610 PCI Firmware Loading Function + 1028 0139 Latitude D400 + 1028 014e Latitude D800 + 8231 XIO2000(A)/XIO2200(A) PCI Express-to-PCI Bridge + 8235 XIO2200(A) IEEE-1394a-2000 Controller (PHY/Link) + 8400 ACX 100 22Mbps Wireless Interface + 1186 3b00 DWL-650+ PC Card cardbus 22Mbs Wireless Adapter [AirPlus] + 1186 3b01 DWL-520+ 22Mbps PCI Wireless Adapter + 1395 2201 WL22-PC + 16ab 8501 WL-8305 IEEE802.11b+ Wireless LAN PCI Adapter + 8401 ACX 100 22Mbps Wireless Interface + 9000 Wireless Interface (of unknown type) + 9065 TMS320DM642 + 9066 ACX 111 54Mbps Wireless Interface + 104c 9066 Trendnet TEW-412PC Wireless PCI Adapter (Version A) + 104c 9096 Trendnet TEW-412PC Wireless PCI Adapter (Version A) + 1186 3b04 DWL-G520+ Wireless PCI Adapter + 1186 3b05 DWL-G650+ AirPlusG+ CardBus Wireless LAN + 13d1 aba0 SWLMP-54108 108Mbps Wireless mini PCI card 802.11g+ + 16ec 010d USR5416 802.11g Wireless Turbo PCI Adapter + 1737 0033 WPC54G Ver.2 802.11G PC Card + 17cf 0033 Z-Com XG650 Wireless miniPCI 802.11b/g + a001 TDC1570 + a100 TDC1561 + a102 TNETA1575 HyperSAR Plus w/PCI Host i/f & UTOPIA i/f + a106 TMS320C6414 TMS320C6415 TMS320C6416 + 175c 5000 ASI50xx Audio Adapter + 175c 6400 ASI6400 Cobranet series + 175c 8700 ASI87xx Radio Tuner card + ac10 PCI1050 + ac11 PCI1053 + ac12 PCI1130 + ac13 PCI1031 + ac15 PCI1131 + ac16 PCI1250 + 1014 0092 ThinkPad 600 + ac17 PCI1220 + ac18 PCI1260 + ac19 PCI1221 + ac1a PCI1210 + ac1b PCI1450 + 0e11 b113 Armada M700 + 1014 0130 ThinkPad A21m/T20/T22 + ac1c PCI1225 + 0e11 b121 Armada E500 + 1028 0088 Latitude CPi A400XT + ac1d PCI1251A + ac1e PCI1211 + ac1f PCI1251B + ac20 TI 2030 + ac21 PCI2031 + ac22 PCI2032 PCI Docking Bridge + ac23 PCI2250 PCI-to-PCI Bridge + ac28 PCI2050 PCI-to-PCI Bridge + ac2c PCI2060 PCI-to-PCI Bridge + ac30 PCI1260 PC card Cardbus Controller + ac40 PCI4450 PC card Cardbus Controller + ac41 PCI4410 PC card Cardbus Controller + ac42 PCI4451 PC card Cardbus Controller + 1028 00e6 PCI4451 PC card CardBus Controller (Inspiron 8100) + ac44 PCI4510 PC card Cardbus Controller + 1028 0149 Inspiron 5100 + 1028 0163 Latitude D505 + 1028 0196 Inspiron 5160 + 1071 8160 MIM2000 + ac46 PCI4520 PC card Cardbus Controller + 1014 0552 ThinkPad + ac47 PCI7510 PC card Cardbus Controller + 1028 0139 Latitude D400 + 1028 013f Precision M60 + 1028 014e Latitude D800 + ac4a PCI7510,7610 PC card Cardbus Controller + 1028 0139 Latitude D400 + 1028 014e Latitude D800 + ac50 PCI1410 PC card Cardbus Controller + ac51 PCI1420 PC card Cardbus Controller + 0e11 004e Evo N600c + 1014 0148 ThinkPad A20m + 1014 023b ThinkPad T23 + 1028 00b1 Latitude C600 + 1028 012a Latitude C640 + 1033 80cd Versa Note VXi + 10cf 1095 Lifebook S-4510/C6155 + e4bf 1000 CP2-2-HIPHOP + ac52 PCI1451 PC card Cardbus Controller + ac53 PCI1421 PC card Cardbus Controller + ac54 PCI1620 PC Card Controller + 103c 08b0 tc1100 tablet + ac55 PCI1520 PC card Cardbus Controller + 1014 0512 ThinkPad T30/T40 + ac56 PCI1510 PC card Cardbus Controller + 1014 0512 ThinkPad R50e + 1014 0528 ThinkPad R40e + 17aa 2012 ThinkPad T60/R60 series + ac60 PCI2040 PCI to DSP Bridge Controller + 175c 5100 ASI51xx Audio Adapter + 175c 6100 ASI61xx Audio Adapter + 175c 6200 ASI62xx Audio Adapter + 175c 8800 ASI88xx Audio Adapter + 186f 3001 WR-G303 PCI radio receiver + 186f 3005 WR-G305 PCI radio receiver + 186f 3101 WR-G313 PCI radio receiver + 186f 3105 WR-G315 PCI radio receiver + ac8d PCI 7620 + ac8e PCI7420 CardBus Controller + 1028 018d Inspiron 700m/710m + ac8f PCI7420/7620 Combo CardBus, 1394a-2000 OHCI and SD/MS-Pro Controller + 1028 018d Inspiron 700m/710m + fe00 FireWire Host Controller + fe03 12C01A FireWire Host Controller +104d Sony Corporation + 8004 DTL-H2500 [Playstation development board] + 8009 CXD1947Q i.LINK Controller + 8039 CXD3222 i.LINK Controller + 8056 Rockwell HCF 56K modem + 808a Memory Stick Controller +104e Oak Technology, Inc + 0017 OTI-64017 + 0107 OTI-107 [Spitfire] + 0109 Video Adapter + 0111 OTI-64111 [Spitfire] + 0217 OTI-64217 + 0317 OTI-64317 +104f Co-time Computer Ltd +1050 Winbond Electronics Corp + 0000 NE2000 + 0001 W83769F + 0033 W89C33D 802.11 a/b/g BB/MAC + 0105 W82C105 + 0840 W89C840 + 1050 0001 W89C840 Ethernet Adapter + 1050 0840 W89C840 Ethernet Adapter + 0940 W89C940 + 5a5a W89C940F + 6692 W6692 + 1043 1702 ISDN Adapter (PCI Bus, D, W) + 1043 1703 ISDN Adapter (PCI Bus, DV, W) + 1043 1707 ISDN Adapter (PCI Bus, DV, W) + 144f 1702 ISDN Adapter (PCI Bus, D, W) + 144f 1703 ISDN Adapter (PCI Bus, DV, W) + 144f 1707 ISDN Adapter (PCI Bus, DV, W) + 9921 W99200F MPEG-1 Video Encoder + 9922 W99200F/W9922PF MPEG-1/2 Video Encoder + 9970 W9970CF +1051 Anigma, Inc. +1052 ?Young Micro Systems +1053 Young Micro Systems +1054 Hitachi, Ltd + 3009 2Gbps Fibre Channel to PCI HBA 3009 + 300a 4Gbps Fibre Channel to PCI-X HBA 300a + 300b 4Gbps Fibre Channel to PCI-X HBA 300b + 300f ColdFusion 3 Chipset Processor to I/O Controller + 3010 ColdFusion 3 Chipset Memory Controller Hub + 3011 ColdFusion 3e Chipset Processor to I/O Controller + 3012 ColdFusion 3e Chipset Memory Controller Hub + 3017 Unassigned Hitachi Shared FC Device 3017 + 301d PCIe-to-PCIe Bridge with Virtualization IO Assist Feature +1055 Efar Microsystems + 9130 SLC90E66 [Victory66] IDE + 9460 SLC90E66 [Victory66] ISA + 9462 SLC90E66 [Victory66] USB + 9463 SLC90E66 [Victory66] ACPI + e420 LAN9420/LAN9420i +1056 ICL +# Motorola made a mistake and used 1507 instead of 1057 in some chips. Please look at the 1507 entry as well when updating this. +1057 Motorola + 0001 MPC105 [Eagle] + 0002 MPC106 [Grackle] + 0003 MPC8240 [Kahlua] + 0004 MPC107 + 0006 MPC8245 [Unity] + 0008 MPC8540 + 0009 MPC8560 + 0012 MPC8548 [PowerQUICC III] + 0100 MC145575 [HFC-PCI] + 0431 KTI829c 100VG + 1073 Nokia N770 + 1219 Nokia N800 + 1801 DSP56301 Digital Signal Processor + 14fb 0101 Transas Radar Imitator Board [RIM] + 14fb 0102 Transas Radar Imitator Board [RIM-2] + 14fb 0202 Transas Radar Integrator Board [RIB-2] + 14fb 0611 1 channel CAN bus Controller [CanPci-1] + 14fb 0612 2 channels CAN bus Controller [CanPci-2] + 14fb 0613 3 channels CAN bus Controller [CanPci-3] + 14fb 0614 4 channels CAN bus Controller [CanPci-4] + 14fb 0621 1 channel CAN bus Controller [CanPci2-1] + 14fb 0622 2 channels CAN bus Controller [CanPci2-2] + 14fb 0810 Transas VTS Radar Integrator Board [RIB-4] + 175c 4200 ASI4215 Audio Adapter + 175c 4300 ASI43xx Audio Adapter + 175c 4400 ASI4401 Audio Adapter + ecc0 0010 Darla + ecc0 0020 Gina + ecc0 0030 Layla rev.0 + ecc0 0031 Layla rev.1 + ecc0 0040 Darla24 rev.0 + ecc0 0041 Darla24 rev.1 + ecc0 0050 Gina24 rev.0 + ecc0 0051 Gina24 rev.1 + ecc0 0070 Mona rev.0 + ecc0 0071 Mona rev.1 + ecc0 0072 Mona rev.2 + 18c0 MPC8265A/8266/8272 + 18c1 MPC8271/MPC8272 + 3052 SM56 Data Fax Modem + 3055 SM56 Data Fax Modem + 3410 DSP56361 Digital Signal Processor + ecc0 0050 Gina24 rev.0 + ecc0 0051 Gina24 rev.1 + ecc0 0060 Layla24 + ecc0 0070 Mona rev.0 + ecc0 0071 Mona rev.1 + ecc0 0072 Mona rev.2 + ecc0 0080 Mia rev.0 + ecc0 0081 Mia rev.1 + ecc0 0090 Indigo + ecc0 00a0 Indigo IO + ecc0 00b0 Indigo DJ + ecc0 0100 3G + 4801 Raven + 4802 Falcon + 4803 Hawk + 4806 CPX8216 + 4d68 20268 + 5600 SM56 PCI Modem + 1057 0300 SM56 PCI Speakerphone Modem + 1057 0301 SM56 PCI Voice Modem + 1057 0302 SM56 PCI Fax Modem + 1057 5600 SM56 PCI Voice modem + 13d2 0300 SM56 PCI Speakerphone Modem + 13d2 0301 SM56 PCI Voice modem + 13d2 0302 SM56 PCI Fax Modem + 1436 0300 SM56 PCI Speakerphone Modem + 1436 0301 SM56 PCI Voice modem + 1436 0302 SM56 PCI Fax Modem + 144f 100c SM56 PCI Fax Modem + 1494 0300 SM56 PCI Speakerphone Modem + 1494 0301 SM56 PCI Voice modem + 14c8 0300 SM56 PCI Speakerphone Modem + 14c8 0302 SM56 PCI Fax Modem + 1668 0300 SM56 PCI Speakerphone Modem + 1668 0302 SM56 PCI Fax Modem + 5608 Wildcard X100P + 5803 MPC5200 + 5806 MCF54 Coldfire + 5808 MPC8220 + 5809 MPC5200B + 6400 MPC190 Security Processor (S1 family, encryption) + 6405 MPC184 Security Processor (S1 family) +1058 Electronics & Telecommunications RSH +1059 Teknor Industrial Computers Inc +105a Promise Technology, Inc. + 0d30 PDC20265 (FastTrak100 Lite/Ultra100) + 1043 8042 AV7266-E South Bridge Promise RAID + 105a 4d33 Ultra100 + 0d38 20263 + 105a 4d39 Fasttrak66 + 1275 20275 + 3318 PDC20318 (SATA150 TX4) + 3319 PDC20319 (FastTrak S150 TX4) + 8086 3427 S875WP1-E mainboard + 3371 PDC20371 (FastTrak S150 TX2plus) + 3373 PDC20378 (FastTrak 378/SATA 378) + 1043 80f5 K8V Deluxe/PC-DL Deluxe motherboard + 1462 590d KT6 Delta-FIS2R (MS-6590) + 1462 702e K8T NEO FIS2R motherboard + 3375 PDC20375 (SATA150 TX2plus) + 3376 PDC20376 (FastTrak 376) + 1043 809e A7V8X motherboard + 3515 PDC40719 [FastTrak TX4300/TX4310] + 3519 PDC40519 (FastTrak TX4200) + 3570 20771 (FastTrak TX2300) + 3571 PDC20571 (FastTrak TX2200) + 3574 PDC20579 SATAII 150 IDE Controller + 3577 PDC40779 (SATA 300 779) + 3d17 PDC40718 (SATA 300 TX4) + 3d18 PDC20518/PDC40518 (SATAII 150 TX4) + 3d73 PDC40775 (SATA 300 TX2plus) + 3d75 PDC20575 (SATAII150 TX2plus) + 4302 80333 [SuperTrak EX4350] + 4d30 PDC20267 (FastTrak100/Ultra100) + 105a 4d33 Ultra100 + 105a 4d39 FastTrak100 + 8086 5744 S845WD1-E mainboard + 4d33 20246 + 105a 4d33 20246 IDE Controller + 4d38 PDC20262 (FastTrak66/Ultra66) + 105a 4d30 Ultra Device on SuperTrak + 105a 4d33 Ultra66 + 105a 4d39 FastTrak66 + 4d68 PDC20268 (Ultra100 TX2) + 105a 4d68 Ultra100TX2 + 4d69 20269 + 105a 4d68 Ultra133TX2 + 5275 PDC20276 (MBFastTrak133 Lite) + 1043 807e A7V333 motherboard. + 105a 0275 SuperTrak SX6000 IDE + 105a 1275 MBFastTrak133 Lite (tm) Controller (RAID mode) + 1458 b001 MBUltra 133 + 5300 DC5300 + 6268 PDC20270 (FastTrak100 LP/TX2/TX4) + 105a 4d68 FastTrak100 TX2 + 6269 PDC20271 (FastTrak TX2000) + 105a 6269 FastTrak TX2/TX2000 + 6300 PDC81731 [FastTrak SX8300] + 6621 PDC20621 (FastTrak S150 SX4/FastTrak SX4000 lite) + 6622 PDC20621 [SATA150 SX4] 4 Channel IDE RAID Controller + 6624 PDC20621 [FastTrak SX4100] + 6626 PDC20618 (Ultra 618) + 6629 PDC20619 (FastTrak TX4000) + 7275 PDC20277 (SBFastTrak133 Lite) + 8002 SATAII150 SX8 + 8350 80333 [SuperTrak EX8350/EX16350], 80331 [SuperTrak EX8300/EX16300] + 8650 81384 [SuperTrak EX SAS and SATA RAID Controller] + 105a 4600 SuperTrak EX4650A + 105a 4601 SuperTrak EX4650 + 105a 4610 SuperTrak EX4650EL + 105a 8600 SuperTrak EX8650EL + 105a 8601 SuperTrak EX8650A + 105a 8602 SuperTrak EX8654 + 105a 8603 SuperTrak EX8658 + 105a 8604 SuperTrak EX8650 + 105a 8610 SuperTrak EX8650M + 105a b600 SuperTrak EX16650 + c350 80333 [SuperTrak EX12350] + e350 80333 [SuperTrak EX24350] +105b Foxconn International, Inc. + 0c4d SiS AC'97 Sound Controller +105c Wipro Infotech Limited +105d Number 9 Computer Company + 2309 Imagine 128 + 2339 Imagine 128-II + 105d 0000 Imagine 128 series 2 4Mb VRAM + 105d 0001 Imagine 128 series 2 4Mb VRAM + 105d 0002 Imagine 128 series 2 4Mb VRAM + 105d 0003 Imagine 128 series 2 4Mb VRAM + 105d 0004 Imagine 128 series 2 4Mb VRAM + 105d 0005 Imagine 128 series 2 4Mb VRAM + 105d 0006 Imagine 128 series 2 4Mb VRAM + 105d 0007 Imagine 128 series 2 4Mb VRAM + 105d 0008 Imagine 128 series 2e 4Mb DRAM + 105d 0009 Imagine 128 series 2e 4Mb DRAM + 105d 000a Imagine 128 series 2 8Mb VRAM + 105d 000b Imagine 128 series 2 8Mb H-VRAM + 11a4 000a Barco Metheus 5 Megapixel + 13cc 0000 Barco Metheus 5 Megapixel + 13cc 0004 Barco Metheus 5 Megapixel + 13cc 0005 Barco Metheus 5 Megapixel + 13cc 0006 Barco Metheus 5 Megapixel + 13cc 0008 Barco Metheus 5 Megapixel + 13cc 0009 Barco Metheus 5 Megapixel + 13cc 000a Barco Metheus 5 Megapixel + 13cc 000c Barco Metheus 5 Megapixel + 493d Imagine 128 T2R [Ticket to Ride] + 11a4 000a Barco Metheus 5 Megapixel, Dual Head + 11a4 000b Barco Metheus 5 Megapixel, Dual Head + 13cc 0002 Barco Metheus 4 Megapixel, Dual Head + 13cc 0003 Barco Metheus 5 Megapixel, Dual Head + 13cc 0007 Barco Metheus 5 Megapixel, Dual Head + 13cc 0008 Barco Metheus 5 Megapixel, Dual Head + 13cc 0009 Barco Metheus 5 Megapixel, Dual Head + 13cc 000a Barco Metheus 5 Megapixel, Dual Head + 5348 Revolution 4 + 105d 0037 Revolution IV-FP AGP (For SGI 1600SW) + 11a4 0028 PVS5600M + 11a4 0038 PVS5600D +105e Vtech Computers Ltd +105f Infotronic America Inc +1060 United Microelectronics [UMC] + 0001 UM82C881 + 0002 UM82C886 + 0101 UM8673F + 0881 UM8881 + 0886 UM8886F + 0891 UM8891A + 1001 UM886A + 673a UM8886BF + 673b EIDE Master/DMA + 8710 UM8710 + 886a UM8886A + 8881 UM8881F + 8886 UM8886F + 888a UM8886A + 8891 UM8891A + 9017 UM9017F + 9018 UM9018 + 9026 UM9026 + e881 UM8881N + e886 UM8886N + e88a UM8886N + e891 UM8891N +1061 I.I.T. + 0001 AGX016 + 0002 IIT3204/3501 +1062 Maspar Computer Corp +1063 Ocean Office Automation +1064 Alcatel +1065 Texas Microsystems +1066 PicoPower Technology + 0000 PT80C826 + 0001 PT86C521 [Vesuvius v1] Host Bridge + 0002 PT86C523 [Vesuvius v3] PCI-ISA Bridge Master + 0003 PT86C524 [Nile] PCI-to-PCI Bridge + 0004 PT86C525 [Nile-II] PCI-to-PCI Bridge + 0005 National PC87550 System Controller + 8002 PT86C523 [Vesuvius v3] PCI-ISA Bridge Slave +1067 Mitsubishi Electric + 0301 AccelGraphics AccelECLIPSE + 0304 AccelGALAXY A2100 [OEM Evans & Sutherland] + 0308 Tornado 3000 [OEM Evans & Sutherland] + 1002 VG500 [VolumePro Volume Rendering Accelerator] +1068 Diversified Technology +1069 Mylex Corporation + 0001 DAC960P + 0002 DAC960PD + 0010 DAC960PG + 0020 DAC960LA + 0050 AcceleRAID 352/170/160 support Device + 1069 0050 AcceleRAID 352 support Device + 1069 0052 AcceleRAID 170 support Device + 1069 0054 AcceleRAID 160 support Device + b166 AcceleRAID 600/500/400/Sapphire support Device + 1014 0242 iSeries 2872 DASD IOA + 1014 0266 Dual Channel PCI-X U320 SCSI Adapter + 1014 0278 Dual Channel PCI-X U320 SCSI RAID Adapter + 1014 02d3 Dual Channel PCI-X U320 SCSI Adapter + 1014 02d4 Dual Channel PCI-X U320 SCSI RAID Adapter + 1069 0200 AcceleRAID 400, Single Channel, PCI-X, U320, SCSI RAID + 1069 0202 AcceleRAID Sapphire, Dual Channel, PCI-X, U320, SCSI RAID + 1069 0204 AcceleRAID 500, Dual Channel, Low-Profile, PCI-X, U320, SCSI RAID + 1069 0206 AcceleRAID 600, Dual Channel, PCI-X, U320, SCSI RAID + ba55 eXtremeRAID 1100 support Device + ba56 eXtremeRAID 2000/3000 support Device + 1069 0030 eXtremeRAID 3000 support Device + 1069 0040 eXtremeRAID 2000 support Device + ba57 eXtremeRAID 4000/5000 support Device + 1069 0072 eXtremeRAID 5000 support Device +106a Aten Research Inc +106b Apple Computer Inc. + 0001 Bandit PowerPC host bridge + 0002 Grand Central I/O + 0003 Control Video + 0004 PlanB Video-In + 0007 O'Hare I/O + 000c DOS on Mac + 000e Hydra Mac I/O + 0010 Heathrow Mac I/O + 0017 Paddington Mac I/O + 0018 UniNorth FireWire + 0019 KeyLargo USB + 001e UniNorth Internal PCI + 001f UniNorth PCI + 0020 UniNorth AGP + 0021 UniNorth GMAC (Sun GEM) + 0022 KeyLargo Mac I/O + 0024 UniNorth/Pangea GMAC (Sun GEM) + 0025 KeyLargo/Pangea Mac I/O + 0026 KeyLargo/Pangea USB + 0027 UniNorth/Pangea AGP + 0028 UniNorth/Pangea PCI + 0029 UniNorth/Pangea Internal PCI + 002d UniNorth 1.5 AGP + 002e UniNorth 1.5 PCI + 002f UniNorth 1.5 Internal PCI + 0030 UniNorth/Pangea FireWire + 0031 UniNorth 2 FireWire + 106b 5811 iBook G4 2004 + 0032 UniNorth 2 GMAC (Sun GEM) + 0033 UniNorth 2 ATA/100 + 0034 UniNorth 2 AGP + 0035 UniNorth 2 PCI + 0036 UniNorth 2 Internal PCI + 003b UniNorth/Intrepid ATA/100 + 003e KeyLargo/Intrepid Mac I/O + 003f KeyLargo/Intrepid USB + 0040 K2 KeyLargo USB + 0041 K2 KeyLargo Mac/IO + 0042 K2 FireWire + 0043 K2 ATA/100 + 0045 K2 HT-PCI Bridge + 0046 K2 HT-PCI Bridge + 0047 K2 HT-PCI Bridge + 0048 K2 HT-PCI Bridge + 0049 K2 HT-PCI Bridge + 004b U3 AGP + 004c K2 GMAC (Sun GEM) + 004f Shasta Mac I/O + 0050 Shasta IDE + 0051 Shasta (Sun GEM) + 0052 Shasta Firewire + 0053 Shasta PCI Bridge + 0054 Shasta PCI Bridge + 0055 Shasta PCI Bridge + 0057 U3 HT Bridge + 0058 U3L AGP Bridge + 0059 U3H AGP Bridge + 0066 Intrepid2 AGP Bridge + 0067 Intrepid2 PCI Bridge + 0068 Intrepid2 PCI Bridge + 0069 Intrepid2 ATA/100 + 006a Intrepid2 Firewire + 006b Intrepid2 GMAC (Sun GEM) + 0074 U4 HT Bridge + 1645 Tigon3 Gigabit Ethernet NIC (BCM5701) +106c Hynix Semiconductor + 8801 Dual Pentium ISA/PCI Motherboard + 8802 PowerPC ISA/PCI Motherboard + 8803 Dual Window Graphics Accelerator + 8804 LAN Controller + 8805 100-BaseT LAN +106d Sequent Computer Systems +106e DFI, Inc +106f City Gate Development Ltd +1070 Daewoo Telecom Ltd +1071 Mitac + 8160 Mitac 8060B Mobile Platform +1072 GIT Co Ltd +1073 Yamaha Corporation + 0001 3D GUI Accelerator + 0002 YGV615 [RPA3 3D-Graphics Controller] + 0003 YMF-740 + 0004 YMF-724 + 1073 0004 YMF724-Based PCI Audio Adapter + 0005 DS1 Audio + 1073 0005 DS-XG PCI Audio CODEC + 0006 DS1 Audio + 0008 DS1 Audio + 1073 0008 DS-XG PCI Audio CODEC + 000a DS1L Audio + 1073 0004 DS-XG PCI Audio CODEC + 1073 000a DS-XG PCI Audio CODEC + 000c YMF-740C [DS-1L Audio Controller] + 107a 000c DS-XG PCI Audio CODEC + 000d YMF-724F [DS-1 Audio Controller] + 1073 000d DS-XG PCI Audio CODEC + 0010 YMF-744B [DS-1S Audio Controller] + 1073 0006 DS-XG PCI Audio CODEC + 1073 0010 DS-XG PCI Audio CODEC + 0012 YMF-754 [DS-1E Audio Controller] + 1073 0012 DS-XG PCI Audio Codec + 0020 DS-1 Audio + 1000 SW1000XG [XG Factory] + 2000 DS2416 Digital Mixing Card + 1073 2000 DS2416 Digital Mixing Card +1074 NexGen Microsystems + 4e78 82c500/1 +1075 Advanced Integrations Research +1076 Chaintech Computer Co. Ltd +1077 QLogic Corp. + 1016 ISP10160 Single Channel Ultra3 SCSI Processor + 1020 ISP1020 Fast-wide SCSI + 1022 ISP1022 Fast-wide SCSI + 1080 ISP1080 SCSI Host Adapter + 1216 ISP12160 Dual Channel Ultra3 SCSI Processor + 101e 8471 QLA12160 on AMI MegaRAID + 101e 8493 QLA12160 on AMI MegaRAID + 1240 ISP1240 SCSI Host Adapter + 1280 ISP1280 SCSI Host Adapter + 2020 ISP2020A Fast!SCSI Basic Adapter + 2100 QLA2100 64-bit Fibre Channel Adapter + 1077 0001 QLA2100 64-bit Fibre Channel Adapter + 2200 QLA2200 64-bit Fibre Channel Adapter + 1077 0002 QLA2200 + 2300 QLA2300 64-bit Fibre Channel Adapter + 2312 ISP2312-based 2Gb Fibre Channel to PCI-X HBA + 103c 0131 2Gb Fibre Channel - Single port [A7538A] + 103c 12ba 2Gb Fibre Channel - Dual port [A6826A] + 2322 ISP2322-based 2Gb Fibre Channel to PCI-X HBA + 2422 ISP2422-based 4Gb Fibre Channel to PCI-X HBA + 103c 12d7 4Gb Fibre Channel [AB379A] + 103c 12dd 4Gb Fibre Channel [AB429A] + 2432 ISP2432-based 4Gb Fibre Channel to PCI Express HBA + 2532 ISP2532-based 8Gb Fibre Channel to PCI Express HBA + 3022 ISP4022-based Ethernet NIC + 3032 ISP4032-based Ethernet IPv6 NIC + 4010 ISP4010-based iSCSI TOE HBA + 4022 ISP4022-based iSCSI TOE HBA + 4032 ISP4032-based iSCSI TOE IPv6 HBA + 5432 SP232-based 4Gb Fibre Channel to PCI Express HBA + 6312 SP202-based 2Gb Fibre Channel to PCI-X HBA + 6322 SP212-based 2Gb Fibre Channel to PCI-X HBA + 7220 IBA7220 InfiniBand HCA + 8432 ISP2432M-based 10GbE Converged Network Adapter (CNA) +1078 Cyrix Corporation + 0000 5510 [Grappa] + 0001 PCI Master + 0002 5520 [Cognac] + 0100 5530 Legacy [Kahlua] + 0101 5530 SMI [Kahlua] + 0102 5530 IDE [Kahlua] + 0103 5530 Audio [Kahlua] + 0104 5530 Video [Kahlua] + 0400 ZFMicro PCI Bridge + 0401 ZFMicro Chipset SMI + 0402 ZFMicro Chipset IDE + 0403 ZFMicro Expansion Bus +1079 I-Bus +107a NetWorth +107b Gateway 2000 +107c LG Electronics [Lucky Goldstar Co. Ltd] +107d LeadTek Research Inc. + 0000 P86C850 + 204d [GeForce 7800 GTX] Winfast PX7800 GTX TDH + 2134 WinFast 3D S320 II + 2971 [GeForce FX 5900] WinFast A350 TDH MyViVo + 6654 Conexant CX23883 [WinFast DTV1800 H] +107e Interphase Corporation + 0001 5515 ATM Adapter [Flipper] + 0002 100 VG AnyLan Controller + 0004 5526 Fibre Channel Host Adapter + 0005 x526 Fibre Channel Host Adapter + 0008 5525/5575 ATM Adapter (155 Mbit) [Atlantic] + 9003 5535-4P-BRI-ST + 9007 5535-4P-BRI-U + 9008 5535-1P-SR + 900c 5535-1P-SR-ST + 900e 5535-1P-SR-U + 9011 5535-1P-PRI + 9013 5535-2P-PRI + 9023 5536-4P-BRI-ST + 9027 5536-4P-BRI-U + 9031 5536-1P-PRI + 9033 5536-2P-PRI +107f Data Technology Corporation + 0802 SL82C105 +1080 Contaq Microsystems + 0600 82C599 + c691 Cypress CY82C691 + c693 82c693 +1081 Supermac Technology + 0d47 Radius PCI to NuBUS Bridge +1082 EFA Corporation of America +1083 Forex Computer Corporation + 0001 FR710 +1084 Parador +1085 Tulip Computers Int.B.V. +1086 J. Bond Computer Systems +1087 Cache Computer +1088 Microcomputer Systems (M) Son +1089 Data General Corporation +# Formerly Bit3 Computer Corp. +108a SBS Technologies + 0001 VME Bridge Model 617 + 0010 VME Bridge Model 618 + 0040 dataBLIZZARD + 3000 VME Bridge Model 2706 +108c Oakleigh Systems Inc. +108d Olicom + 0001 Token-Ring 16/4 PCI Adapter (3136/3137) + 0002 16/4 Token Ring + 0004 RapidFire 3139 Token-Ring 16/4 PCI Adapter + 108d 0004 OC-3139/3140 RapidFire Token-Ring 16/4 Adapter + 0005 GoCard 3250 Token-Ring 16/4 CardBus PC Card + 0006 OC-3530 RapidFire Token-Ring 100 + 0007 RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter + 108d 0007 OC-3141 RapidFire Token-Ring 16/4 Adapter + 0008 RapidFire 3540 HSTR 100/16/4 PCI Adapter + 108d 0008 OC-3540 RapidFire HSTR 100/16/4 Adapter + 0011 OC-2315 + 0012 OC-2325 + 0013 OC-2183/2185 + 0014 OC-2326 + 0019 OC-2327/2250 10/100 Ethernet Adapter + 108d 0016 OC-2327 Rapidfire 10/100 Ethernet Adapter + 108d 0017 OC-2250 GoCard 10/100 Ethernet Adapter + 0021 OC-6151/6152 [RapidFire ATM 155] + 0022 ATM Adapter +108e Sun Microsystems Computer Corp. + 0001 EBUS + 1000 EBUS + 1001 Happy Meal 10/100 Ethernet [hme] + 1100 RIO EBUS + 108e 1100 RIO EBUS on Blade 100 motherboard +# Correction + 1101 RIO 10/100 Ethernet [eri] + 108e 1101 RIO GEM on Blade 100 motherboard + 1102 RIO 1394 + 108e 1102 RIO 1394 on Blade 100 motherboard + 1103 RIO USB + 108e 1103 RIO USB on Blade 100 motherboard + 1647 Broadcom 570x 10/100/1000 Ethernet [bge] + 1648 Broadcom 570x 10/100/1000 Ethernet [bge] + 16a7 Broadcom 570x 10/100/1000 Ethernet [bge] + 16a8 Broadcom 570x 10/100/1000 Ethernet [bge] + 2bad GEM 10/100/1000 Ethernet [ge] + 5000 Simba Advanced PCI Bridge + 108e 5000 Netra AX1105-500 + 5043 SunPCI Co-processor + 5ca0 Crypto Accelerator 6000 [mca] + 6300 Intel 21554 PCI-PCI bus bridge [db21554] + 6301 Intel 21554 PCI-PCI bus bridge [db21554] + 6302 Intel 21554 PCI-PCI bus bridge [db21554] + 6303 Intel 21554 PCI-PCI bus bridge [db21554] + 6310 Intel 21554 PCI-PCI bus bridge [db21554] + 6311 Intel 21554 PCI-PCI bus bridge [db21554] + 6312 Intel 21554 PCI-PCI bus bridge [db21554] + 6313 Intel 21554 PCI-PCI bus bridge [db21554] + 6320 Intel 21554 PCI-PCI bus bridge [db21554] + 6323 Intel 21554 PCI-PCI bus bridge [db21554] + 6330 Intel 21554 PCI-PCI bus bridge [db21554] + 6331 Intel 21554 PCI-PCI bus bridge [db21554] + 6332 Intel 21554 PCI-PCI bus bridge [db21554] + 6333 Intel 21554 PCI-PCI bus bridge [db21554] + 6340 Intel 21554 PCI-PCI bus bridge [db21554] + 6343 Intel 21554 PCI-PCI bus bridge [db21554] + 6350 Intel 21554 PCI-PCI bus bridge [db21554] + 6353 Intel 21554 PCI-PCI bus bridge [db21554] + 6722 Intel 21554 PCI-PCI bus bridge [db21554] + 676e SunPCiIII + 7063 SunPCiII / SunPCiIIpro + 8000 Psycho PCI Bus Module + 8001 Schizo PCI Bus Module + 8002 Schizo+ PCI Bus Module + 80f0 PCIe switch [px] + 80f8 PCIe switch [px] + 9010 PCIe/PCI bridge switch [pxb_plx] + 9020 PCIe/PCI bridge switch [pxb_plx] + 9102 Davicom Fast Ethernet driver for Davicom DM9102A [dmfe] + a000 Psycho UPA-PCI Bus Module [pcipsy] + a001 Psycho UPA-PCI Bus Module [pcipsy] + 108e a001 Ultra IIe on Blade 100 motherboard + a801 Schizo Fireplane-PCI bus bridge module [pcisch] + abba Cassini 10/100/1000 + abcd Multithreaded 10 Gigabit Ethernet Network Controller + c416 Sun Fire System/System Controller Interface chip [sbbc] +108f Systemsoft +1090 Compro Computer Services, Inc. +1091 Intergraph Corporation + 0020 3D graphics processor + 0021 3D graphics processor w/Texturing + 0040 3D graphics frame buffer + 0041 3D graphics frame buffer + 0060 Proprietary bus bridge + 00e4 Powerstorm 4D50T + 0720 Motion JPEG codec + 0780 Intense3D Wildcat 3410 (MSMT496) + 07a0 Sun Expert3D-Lite Graphics Accelerator + 1091 Sun Expert3D Graphics Accelerator +1092 Diamond Multimedia Systems + 0028 Viper V770 + 1092 4a00 Viper V770 32MB + 00a0 Speedstar Pro SE + 00a8 Speedstar 64 + 0550 Viper V550 + 08d4 Supra 2260 Modem + 094c SupraExpress 56i Pro + 1001 Video Crunch It 1001 capture card + 1092 Viper V330 + 6120 Maximum DVD + 8810 Stealth SE + 8811 Stealth 64/SE + 8880 Stealth + 8881 Stealth + 88b0 Stealth 64 + 88b1 Stealth 64 + 88c0 Stealth 64 + 88c1 Stealth 64 + 88d0 Stealth 64 + 88d1 Stealth 64 + 88f0 Stealth 64 + 88f1 Stealth 64 + 9999 DMD-I0928-1 "Monster sound" sound chip +1093 National Instruments + 0160 PCI-DIO-96 + 0162 PCI-MIO-16XE-50 + 1150 PCI-DIO-32HS High Speed Digital I/O Board + 1170 PCI-MIO-16XE-10 + 1180 PCI-MIO-16E-1 + 1190 PCI-MIO-16E-4 + 1310 PCI-6602 + 1330 PCI-6031E + 1350 PCI-6071E + 14e0 PCI-6110 + 14f0 PCI-6111 + 17d0 PCI-6503 + 1870 PCI-6713 + 1880 PCI-6711 + 18b0 PCI-6052E + 2410 PCI-6733 + 2890 PCI-6036E + 2a60 PCI-6023E + 2a70 PCI-6024E + 2a80 PCI-6025E + 2c80 PCI-6035E + 2ca0 PCI-6034E + 70a9 PCI-6528 (Digital I/O at 60V) + 70b8 PCI-6251 [M Series - High Speed Multifunction DAQ] + 7144 PXI-5124 (12-bit 200 MS/s Digitizer) + b001 IMAQ-PCI-1408 + b011 IMAQ-PXI-1408 + b021 IMAQ-PCI-1424 + b031 IMAQ-PCI-1413 + b041 IMAQ-PCI-1407 + b051 IMAQ-PXI-1407 + b061 IMAQ-PCI-1411 + b071 IMAQ-PCI-1422 + b081 IMAQ-PXI-1422 + b091 IMAQ-PXI-1411 + c801 PCI-GPIB + c831 PCI-GPIB bridge +1094 First International Computers [FIC] +# nee CMD Technology Inc +1095 Silicon Image, Inc. + 0240 Adaptec AAR-1210SA SATA HostRAID Controller + 0640 PCI0640 + 0643 PCI0643 + 0646 PCI0646 + 0647 PCI0647 + 0648 PCI0648 + 1043 8025 CUBX motherboard + 0649 SiI 0649 Ultra ATA/100 PCI to ATA Host Controller + 0e11 005d Integrated Ultra ATA-100 Dual Channel Controller + 0e11 007e Integrated Ultra ATA-100 IDE RAID Controller + 101e 0649 AMI MegaRAID IDE 100 Controller + 0650 PBC0650A + 0670 USB0670 + 1095 0670 USB0670 + 0673 USB0673 + 0680 PCI0680 Ultra ATA-133 Host Controller + 1095 0680 SiI 0680 ATA/133 Controller + 1095 3680 Winic W-680 (Silicon Image 680 based) + 3112 SiI 3112 [SATALink/SATARaid] Serial ATA Controller + 1095 3112 SiI 3112 SATALink Controller + 1095 6112 SiI 3112 SATARaid Controller + 9005 0250 SATAConnect 1205SA Host Controller + 3114 SiI 3114 [SATALink/SATARaid] Serial ATA Controller + 1095 3114 SiI 3114 SATALink Controller + 1095 6114 SiI 3114 SATARaid Controller + 3124 SiI 3124 PCI-X Serial ATA Controller + 1095 3124 SiI 3124 PCI-X Serial ATA Controller + 3132 SiI 3132 Serial ATA Raid II Controller + 3512 SiI 3512 [SATALink/SATARaid] Serial ATA Controller + 1095 3512 SiI 3512 SATALink Controller + 1095 6512 SiI 3512 SATARaid Controller + 3531 Sil 3531 [SATALink/SATARaid] Serial ATA Controller +1096 Alacron +1097 Appian Technology +1098 Quantum Designs (H.K.) Ltd + 0001 QD-8500 + 0002 QD-8580 +1099 Samsung Electronics Co., Ltd +109a Packard Bell +109b Gemlight Computer Ltd. +109c Megachips Corporation +109d Zida Technologies Ltd. +109e Brooktree Corporation + 032e Bt878 Video Capture + 0350 Bt848 Video Capture + 0351 Bt849A Video capture + 0369 Bt878 Video Capture + 1002 0001 TV-Wonder + 1002 0003 TV-Wonder/VE + 036c Bt879(??) Video Capture + 13e9 0070 Win/TV (Video Section) + 036e Bt878 Video Capture + 0070 13eb WinTV Series + 0070 ff01 Viewcast Osprey 200 + 0071 0101 DigiTV PCI + 107d 6606 WinFast TV 2000 + 11bd 0012 PCTV pro (TV + FM stereo receiver) + 11bd 001c PCTV Sat (DBC receiver) + 127a 0001 Bt878 Mediastream Controller NTSC + 127a 0002 Bt878 Mediastream Controller PAL BG + 127a 0003 Bt878a Mediastream Controller PAL BG + 127a 0048 Bt878/832 Mediastream Controller + 144f 3000 MagicTView CPH060 - Video + 1461 0002 TV98 Series (TV/No FM/Remote) + 1461 0003 AverMedia UltraTV PCI 350 + 1461 0004 AVerTV WDM Video Capture + 1461 0761 AverTV DVB-T + 1461 0771 AverMedia AVerTV DVB-T 771 + 14f1 0001 Bt878 Mediastream Controller NTSC + 14f1 0002 Bt878 Mediastream Controller PAL BG + 14f1 0003 Bt878a Mediastream Controller PAL BG + 14f1 0048 Bt878/832 Mediastream Controller + 1822 0001 VisionPlus DVB card + 1851 1850 FlyVideo'98 - Video + 1851 1851 FlyVideo II + 1852 1852 FlyVideo'98 - Video (with FM Tuner) + 18ac d500 DViCO FusionHDTV5 Lite + 270f fc00 Digitop DTT-1000 + bd11 1200 PCTV pro (TV + FM stereo receiver) + 036f Bt879 Video Capture + 127a 0044 Bt879 Video Capture NTSC + 127a 0122 Bt879 Video Capture PAL I + 127a 0144 Bt879 Video Capture NTSC + 127a 0222 Bt879 Video Capture PAL BG + 127a 0244 Bt879a Video Capture NTSC + 127a 0322 Bt879 Video Capture NTSC + 127a 0422 Bt879 Video Capture NTSC + 127a 1122 Bt879 Video Capture PAL I + 127a 1222 Bt879 Video Capture PAL BG + 127a 1322 Bt879 Video Capture NTSC + 127a 1522 Bt879a Video Capture PAL I + 127a 1622 Bt879a Video Capture PAL BG + 127a 1722 Bt879a Video Capture NTSC + 14f1 0044 Bt879 Video Capture NTSC + 14f1 0122 Bt879 Video Capture PAL I + 14f1 0144 Bt879 Video Capture NTSC + 14f1 0222 Bt879 Video Capture PAL BG + 14f1 0244 Bt879a Video Capture NTSC + 14f1 0322 Bt879 Video Capture NTSC + 14f1 0422 Bt879 Video Capture NTSC + 14f1 1122 Bt879 Video Capture PAL I + 14f1 1222 Bt879 Video Capture PAL BG + 14f1 1322 Bt879 Video Capture NTSC + 14f1 1522 Bt879a Video Capture PAL I + 14f1 1622 Bt879a Video Capture PAL BG + 14f1 1722 Bt879a Video Capture NTSC + 1851 1850 FlyVideo'98 - Video + 1851 1851 FlyVideo II + 1852 1852 FlyVideo'98 - Video (with FM Tuner) + 0370 Bt880 Video Capture + 1851 1850 FlyVideo'98 + 1851 1851 FlyVideo'98 EZ - video + 1852 1852 FlyVideo'98 (with FM Tuner) + 0878 Bt878 Audio Capture + 0070 13eb WinTV Series + 0070 ff01 Viewcast Osprey 200 + 0071 0101 DigiTV PCI + 1002 0001 TV-Wonder + 1002 0003 TV-Wonder/VE + 11bd 0012 PCTV pro (TV + FM stereo receiver, audio section) + 11bd 001c PCTV Sat (DBC receiver) + 127a 0001 Bt878 Video Capture (Audio Section) + 127a 0002 Bt878 Video Capture (Audio Section) + 127a 0003 Bt878 Video Capture (Audio Section) + 127a 0048 Bt878 Video Capture (Audio Section) + 13e9 0070 Win/TV (Audio Section) + 144f 3000 MagicTView CPH060 - Audio + 1461 0002 Avermedia PCTV98 Audio Capture + 1461 0003 UltraTV PCI 350 + 1461 0004 AVerTV WDM Audio Capture + 1461 0761 AVerTV DVB-T + 1461 0771 AverMedia AVerTV DVB-T 771 + 14f1 0001 Bt878 Video Capture (Audio Section) + 14f1 0002 Bt878 Video Capture (Audio Section) + 14f1 0003 Bt878 Video Capture (Audio Section) + 14f1 0048 Bt878 Video Capture (Audio Section) + 1822 0001 VisionPlus DVB Card + 18ac d500 DViCO FusionHDTV5 Lite + 270f fc00 Digitop DTT-1000 + bd11 1200 PCTV pro (TV + FM stereo receiver, audio section) + 0879 Bt879 Audio Capture + 127a 0044 Bt879 Video Capture (Audio Section) + 127a 0122 Bt879 Video Capture (Audio Section) + 127a 0144 Bt879 Video Capture (Audio Section) + 127a 0222 Bt879 Video Capture (Audio Section) + 127a 0244 Bt879 Video Capture (Audio Section) + 127a 0322 Bt879 Video Capture (Audio Section) + 127a 0422 Bt879 Video Capture (Audio Section) + 127a 1122 Bt879 Video Capture (Audio Section) + 127a 1222 Bt879 Video Capture (Audio Section) + 127a 1322 Bt879 Video Capture (Audio Section) + 127a 1522 Bt879 Video Capture (Audio Section) + 127a 1622 Bt879 Video Capture (Audio Section) + 127a 1722 Bt879 Video Capture (Audio Section) + 14f1 0044 Bt879 Video Capture (Audio Section) + 14f1 0122 Bt879 Video Capture (Audio Section) + 14f1 0144 Bt879 Video Capture (Audio Section) + 14f1 0222 Bt879 Video Capture (Audio Section) + 14f1 0244 Bt879 Video Capture (Audio Section) + 14f1 0322 Bt879 Video Capture (Audio Section) + 14f1 0422 Bt879 Video Capture (Audio Section) + 14f1 1122 Bt879 Video Capture (Audio Section) + 14f1 1222 Bt879 Video Capture (Audio Section) + 14f1 1322 Bt879 Video Capture (Audio Section) + 14f1 1522 Bt879 Video Capture (Audio Section) + 14f1 1622 Bt879 Video Capture (Audio Section) + 14f1 1722 Bt879 Video Capture (Audio Section) + 0880 Bt880 Audio Capture + 2115 BtV 2115 Mediastream controller + 2125 BtV 2125 Mediastream controller + 2164 BtV 2164 + 2165 BtV 2165 + 8230 Bt8230 ATM Segment/Reassembly Ctrlr (SRC) + 8472 Bt8472 + 8474 Bt8474 +109f Trigem Computer Inc. +10a0 Meidensha Corporation +10a1 Juko Electronics Ind. Co. Ltd +10a2 Quantum Corporation +10a3 Everex Systems Inc +10a4 Globe Manufacturing Sales +10a5 Smart Link Ltd. + 3052 SmartPCI562 56K Modem + 5449 SmartPCI561 modem +10a6 Informtech Industrial Ltd. +10a7 Benchmarq Microelectronics +10a8 Sierra Semiconductor + 0000 STB Horizon 64 +10a9 Silicon Graphics, Inc. + 0001 Crosstalk to PCI Bridge + 0002 Linc I/O controller + 0003 IOC3 I/O controller + 0004 O2 MACE + 0005 RAD Audio + 0006 HPCEX + 0007 RPCEX + 0008 DiVO VIP + 0009 AceNIC Gigabit Ethernet + 10a9 8002 AceNIC Gigabit Ethernet + 0010 AMP Video I/O + 0011 GRIP + 0012 SGH PSHAC GSN + 0208 SSIM1 SAS Adapter + 1001 Magic Carpet + 1002 Lithium + 1003 Dual JPEG 1 + 1004 Dual JPEG 2 + 1005 Dual JPEG 3 + 1006 Dual JPEG 4 + 1007 Dual JPEG 5 + 1008 Cesium + 100a IOC4 I/O controller + 1504 SSIM1 Fibre Channel Adapter + 2001 Fibre Channel + 2002 ASDE + 4001 TIO-CE PCI Express Bridge + 4002 TIO-CE PCI Express Port + 8001 O2 1394 + 8002 G-net NT + 8010 Broadcom e-net [SGI IO9/IO10 BaseIO] + 8018 Broadcom e-net [SGI A330 Server BaseIO] +10aa ACC Microelectronics + 0000 ACCM 2188 + 2051 2051 CPU bridge + 5842 2051 ISA bridge +10ab Digicom +10ac Honeywell IAC +10ad Symphony Labs + 0001 W83769F + 0003 SL82C103 + 0005 SL82C105 + 0103 SL82c103 + 0105 SL82c105 + 0565 W83C553F/W83C554F +10ae Cornerstone Technology +10af Micro Computer Systems Inc +10b0 CardExpert Technology +10b1 Cabletron Systems Inc +10b2 Raytheon Company +10b3 Databook Inc + 3106 DB87144 + b106 DB87144 +10b4 STB Systems Inc + 1b1d Velocity 128 3D + 10b4 237e Velocity 4400 +10b5 PLX Technology, Inc. + 0001 i960 PCI bus interface + 1024 Acromag, Inc. IndustryPack Carrier Card + 1042 Brandywine / jxi2, Inc. - PMC-SyncClock32, IRIG A & B, Nasa 36 + 106a Dual OX16C952 4 port serial adapter [Megawolf Romulus/4] + 1076 VScom 800 8 port serial adaptor + 1077 VScom 400 4 port serial adaptor + 1078 VScom 210 2 port serial and 1 port parallel adaptor + 1103 VScom 200 2 port serial adaptor + 1146 VScom 010 1 port parallel adaptor + 1147 VScom 020 2 port parallel adaptor + 2540 IXXAT CAN-Interface PC-I 04/PCI + 2724 Thales PCSM Security Card + 6140 PCI6140 32-bit 33MHz PCI-to-PCI Bridge + 6150 PCI6150 32-bit 33MHz PCI-to-PCI Bridge + 6152 PCI6152 32-bit 66MHz PCI-to-PCI Bridge + 6154 PCI6154 64-bit 66MHz PCI-to-PCI Bridge + 6254 PCI6254 64-bit 66MHz PCI-to-PCI Bridge + 6466 PCI6466 64-bit 66MHz PCI-to-PCI Bridge + 6520 PCI6520 64-bit 133MHz PCI-X-to-PCI-X Bridge + 6540 PCI6540 64-bit 133MHz PCI-X-to-PCI-X Bridge + 1775 1100 CR11 Single Board Computer + 4c53 10e0 PSL09 PrPMC + 6541 PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side) + 1775 1100 CR11 Single Board Computer + 4c53 10e0 PSL09 PrPMC + 6542 PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side) + 1775 1100 CR11 Single Board Computer + 4c53 10e0 PSL09 PrPMC + 8111 PEX 8111 PCI Express-to-PCI Bridge + 8112 PEX8112 x1 Lane PCI Express-to-PCI Bridge + 8114 PEX 8114 PCI Express-to-PCI/PCI-X Bridge + 8311 PEX8311 x1 Lane PCI Express-to-Generic Local Bus Bridge + 8505 PEX 8505 5-lane, 5-port PCI Express Switch + 8508 PEX 8508 8-lane, 5-port PCI Express Switch + 8509 PEX 8509 8-lane, 8-port PCI Express Switch + 8512 PEX 8512 12-lane, 5-port PCI Express Switch + 8516 PEX 8516 Versatile PCI Express Switch + 8517 PEX 8517 16-lane, 5-port PCI Express Switch + 8518 PEX 8518 16-lane, 5-port PCI Express Switch + 8524 PEX 8524 24-lane, 6-port PCI Express Switch + 8525 PEX 8525 24-lane, 5-port PCI Express Switch + 8532 PEX 8532 Versatile PCI Express Switch + 8533 PEX 8533 32-lane, 6-port PCI Express Switch + 8547 PEX 8547 48-lane, 3-port PCI Express Switch + 8548 PEX 8548 48-lane, 9-port PCI Express Switch + 9030 PCI9030 32-bit 33MHz PCI <-> IOBus Bridge + 10b5 2862 Alpermann+Velte PCL PCI LV (3V/5V): Timecode Reader Board + 10b5 2906 Alpermann+Velte PCI TS (3V/5V): Time Synchronisation Board + 10b5 2940 Alpermann+Velte PCL PCI D (3V/5V): Timecode Reader Board + 10b5 2977 IXXAT iPC-I XC16/PCI CAN Board + 10b5 2978 SH ARC-PCIu SOHARD ARCNET card + 10b5 3025 Alpermann+Velte PCL PCI L (3V/5V): Timecode Reader Board + 10b5 3068 Alpermann+Velte PCL PCI HD (3V/5V): Timecode Reader Board + 12fe 0111 CPCI-ASIO4 (ESD 4-port Serial Interface Board) + 1397 3136 4xS0-ISDN PCI Adapter + 1397 3137 S2M-E1-ISDN PCI Adapter + 1518 0200 Kontron ThinkIO-C + 15ed 1002 MCCS 8-port Serial Hot Swap + 15ed 1003 MCCS 16-port Serial Hot Swap + 9036 9036 + 9050 PCI <-> IOBus Bridge + 10b5 1067 IXXAT CAN i165 + 10b5 114e Wasco WITIO PCI168extended + 10b5 1169 Wasco OPTOIO32standard 32 digital in, 32 digital out + 10b5 1172 IK220 (Heidenhain) + 10b5 2036 SatPak GPS + 10b5 2221 Alpermann+Velte PCL PCI LV: Timecode Reader Board + 10b5 2273 SH ARC-PCI SOHARD ARCNET card + 10b5 2431 Alpermann+Velte PCL PCI D: Timecode Reader Board + 10b5 2905 Alpermann+Velte PCI TS: Time Synchronisation Board + 10b5 3196 Goramo PLX200SYN sync serial card + 10b5 9050 PCI-I04 PCI Passive PC/CAN Interface + 1498 0362 TPMC866 8 Channel Serial Card + 1522 0001 RockForce 4 Port V.90 Data/Fax/Voice Modem + 1522 0002 RockForce 2 Port V.90 Data/Fax/Voice Modem + 1522 0003 RockForce 6 Port V.90 Data/Fax/Voice Modem + 1522 0004 RockForce 8 Port V.90 Data/Fax/Voice Modem + 1522 0010 RockForce2000 4 Port V.90 Data/Fax/Voice Modem + 1522 0020 RockForce2000 2 Port V.90 Data/Fax/Voice Modem + 15ed 1000 Macrolink MCCS 8-port Serial + 15ed 1001 Macrolink MCCS 16-port Serial + 15ed 1002 Macrolink MCCS 8-port Serial Hot Swap + 15ed 1003 Macrolink MCCS 16-port Serial Hot Swap + 5654 2036 OpenSwitch 6 Telephony card + 5654 3132 OpenSwitch 12 Telephony card + 5654 5634 OpenLine4 Telephony Card + d531 c002 PCIntelliCAN 2xSJA1000 CAN bus + d84d 4006 EX-4006 1P + d84d 4008 EX-4008 1P EPP/ECP + d84d 4014 EX-4014 2P + d84d 4018 EX-4018 3P EPP/ECP + d84d 4025 EX-4025 1S(16C550) RS-232 + d84d 4027 EX-4027 1S(16C650) RS-232 + d84d 4028 EX-4028 1S(16C850) RS-232 + d84d 4036 EX-4036 2S(16C650) RS-232 + d84d 4037 EX-4037 2S(16C650) RS-232 + d84d 4038 EX-4038 2S(16C850) RS-232 + d84d 4052 EX-4052 1S(16C550) RS-422/485 + d84d 4053 EX-4053 2S(16C550) RS-422/485 + d84d 4055 EX-4055 4S(16C550) RS-232 + d84d 4058 EX-4055 4S(16C650) RS-232 + d84d 4065 EX-4065 8S(16C550) RS-232 + d84d 4068 EX-4068 8S(16C650) RS-232 + d84d 4078 EX-4078 2S(16C552) RS-232+1P + 9052 PCI9052 PCI <-> IOBus Bridge + 9054 PCI9054 32-bit 33MHz PCI <-> IOBus Bridge + 10b5 2455 Wessex Techology PHIL-PCI + 10b5 2696 Innes Corp AM Radcap card + 10b5 2717 Innes Corp Auricon card + 10b5 2844 Innes Corp TVS Encoder card + 12c7 4001 Intel Dialogic DM/V960-4T1 PCI + 12d9 0002 PCI Prosody Card rev 1.5 + 14b4 d100 Dektec DTA-100 + 14b4 d114 Dektec DTA-120 + 16df 0011 PIKA PrimeNet MM PCI + 16df 0012 PIKA PrimeNet MM cPCI 8 + 16df 0013 PIKA PrimeNet MM cPCI 8 (without CAS Signaling) + 16df 0014 PIKA PrimeNet MM cPCI 4 + 16df 0015 PIKA Daytona MM + 16df 0016 PIKA InLine MM + 9056 PCI9056 32-bit 66MHz PCI <-> IOBus Bridge + 10b5 2979 CellinkBlade 11 - CPCI board VoATM AAL1 + 14b4 d140 Dektec DTA-140 + 9060 PCI9060 32-bit 33MHz PCI <-> IOBus Bridge + 906d 9060SD + 125c 0640 Aries 16000P + 906e 9060ES + 9080 PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge + 103c 10eb (Agilent) E2777B 83K Series Optical Communication Interface + 103c 10ec (Agilent) E6978-66442 PCI CIC + 10b5 1123 Sectra KK631 encryption board + 10b5 9080 9080 [real subsystem ID not set] + 129d 0002 Aculab PCI Prosidy card + 12d9 0002 PCI Prosody Card + 12df 4422 4422PCI ["Do-All" Telemetry Data Aquisition System] + 1517 000b ECSG-1R3ADC-PMC Clock synthesizer + 9656 PCI9656 PCI <-> IOBus Bridge + 1517 000f ECDR-GC314-PMC Receiver + 1885 0700 Tsunami FPGA PMC with Altera Stratix S40 + 1885 0701 Tsunami FPGA PMC with Altera Stratix S30 + bb04 B&B 3PCIOSD1A Isolated PCI Serial + c001 CronyxOmega-PCI (8-port RS232) +10b6 Madge Networks + 0001 Smart 16/4 PCI Ringnode + 0002 Smart 16/4 PCI Ringnode Mk2 + 10b6 0002 Smart 16/4 PCI Ringnode Mk2 + 10b6 0006 16/4 CardBus Adapter + 0003 Smart 16/4 PCI Ringnode Mk3 + 0e11 b0fd Compaq NC4621 PCI, 4/16, WOL + 10b6 0003 Smart 16/4 PCI Ringnode Mk3 + 10b6 0007 Presto PCI Plus Adapter + 0004 Smart 16/4 PCI Ringnode Mk1 + 0006 16/4 Cardbus Adapter + 10b6 0006 16/4 CardBus Adapter + 0007 Presto PCI Adapter + 10b6 0007 Presto PCI + 0009 Smart 100/16/4 PCI-HS Ringnode + 10b6 0009 Smart 100/16/4 PCI-HS Ringnode + 000a Smart 100/16/4 PCI Ringnode + 10b6 000a Smart 100/16/4 PCI Ringnode + 000b 16/4 CardBus Adapter Mk2 + 10b6 0008 16/4 CardBus Adapter Mk2 + 10b6 000b 16/4 Cardbus Adapter Mk2 + 000c RapidFire 3140V2 16/4 TR Adapter + 10b6 000c RapidFire 3140V2 16/4 TR Adapter + 1000 Collage 25/155 ATM Client Adapter + 1001 Collage 155 ATM Server Adapter +10b7 3Com Corporation + 0001 3c985 1000BaseSX (SX/TX) + 0013 AR5212 802.11abg NIC (3CRDAG675) + 10b7 2031 3CRDAG675 11a/b/g Wireless PCI Adapter + 0910 3C910-A01 + 1006 MINI PCI type 3B Data Fax Modem + 1007 Mini PCI 56k Winmodem + 10b7 615b Mini PCI 56K Modem + 10b7 615c Mini PCI 56K Modem + 1201 3c982-TXM 10/100baseTX Dual Port A [Hydra] + 1202 3c982-TXM 10/100baseTX Dual Port B [Hydra] + 1700 3c940 10/100/1000Base-T [Marvell] + 1043 80eb A7V600/P4P800/K8V motherboard + 10b7 0010 3C940 Gigabit LOM Ethernet Adapter + 10b7 0020 3C941 Gigabit LOM Ethernet Adapter + 147b 1407 KV8-MAX3 motherboard + 3390 3c339 TokenLink Velocity + 3590 3c359 TokenLink Velocity XL + 10b7 3590 TokenLink Velocity XL Adapter (3C359/359B) + 4500 3c450 HomePNA [Tornado] + 5055 3c555 Laptop Hurricane + 5057 3c575 Megahertz 10/100 LAN CardBus [Boomerang] + 10b7 5a57 3C575 Megahertz 10/100 LAN Cardbus PC Card + 5157 3cCFE575BT Megahertz 10/100 LAN CardBus [Cyclone] + 10b7 5b57 3C575 Megahertz 10/100 LAN Cardbus PC Card + 5257 3cCFE575CT CardBus [Cyclone] + 10b7 5c57 FE575C-3Com 10/100 LAN CardBus-Fast Ethernet + 5900 3c590 10BaseT [Vortex] + 5920 3c592 EISA 10mbps Demon/Vortex + 5950 3c595 100BaseTX [Vortex] + 5951 3c595 100BaseT4 [Vortex] + 5952 3c595 100Base-MII [Vortex] + 5970 3c597 EISA Fast Demon/Vortex + 5b57 3c595 Megahertz 10/100 LAN CardBus [Boomerang] + 10b7 5b57 3C575 Megahertz 10/100 LAN Cardbus PC Card + 6000 3CRSHPW796 [OfficeConnect Wireless CardBus] + 6001 3com 3CRWE154G72 [Office Connect Wireless LAN Adapter] + 6055 3c556 Hurricane CardBus [Cyclone] + 6056 3c556B CardBus [Tornado] + 10b7 6556 10/100 Mini PCI Ethernet Adapter + 6560 3cCFE656 CardBus [Cyclone] + 10b7 656a 3CCFEM656 10/100 LAN+56K Modem CardBus + 6561 3cCFEM656 10/100 LAN+56K Modem CardBus + 10b7 656b 3CCFEM656 10/100 LAN+56K Modem CardBus + 6562 3cCFEM656B 10/100 LAN+Winmodem CardBus [Cyclone] + 10b7 656b 3CCFEM656B 10/100 LAN+56K Modem CardBus + 6563 3cCFEM656B 10/100 LAN+56K Modem CardBus + 10b7 656b 3CCFEM656 10/100 LAN+56K Modem CardBus + 6564 3cXFEM656C 10/100 LAN+Winmodem CardBus [Tornado] + 7646 3cSOHO100-TX Hurricane + 7770 3CRWE777 PCI(PLX) Wireless Adaptor [Airconnect] + 7940 3c803 FDDILink UTP Controller + 7980 3c804 FDDILink SAS Controller + 7990 3c805 FDDILink DAS Controller + 80eb 3c940B 10/100/1000Base-T + 8811 Token ring + 9000 3c900 10BaseT [Boomerang] + 9001 3c900 10Mbps Combo [Boomerang] + 9004 3c900B-TPO Etherlink XL [Cyclone] + 10b7 9004 3C900B-TPO Etherlink XL TPO 10Mb + 9005 3c900B-Combo Etherlink XL [Cyclone] + 10b7 9005 3C900B-Combo Etherlink XL Combo + 9006 3c900B-TPC Etherlink XL [Cyclone] + 900a 3c900B-FL 10base-FL [Cyclone] + 9050 3c905 100BaseTX [Boomerang] + 9051 3c905 100BaseT4 [Boomerang] + 9054 3C905B-TX Fast Etherlink XL PCI + 10b7 9054 3C905B-TX Fast Etherlink XL PCI + 9055 3c905B 100BaseTX [Cyclone] + 1028 0080 3C905B Fast Etherlink XL 10/100 + 1028 0081 3C905B Fast Etherlink XL 10/100 + 1028 0082 3C905B Fast Etherlink XL 10/100 + 1028 0083 3C905B Fast Etherlink XL 10/100 + 1028 0084 3C905B Fast Etherlink XL 10/100 + 1028 0085 3C905B Fast Etherlink XL 10/100 + 1028 0086 3C905B Fast Etherlink XL 10/100 + 1028 0087 3C905B Fast Etherlink XL 10/100 + 1028 0088 3C905B Fast Etherlink XL 10/100 + 1028 0089 3C905B Fast Etherlink XL 10/100 + 1028 0090 3C905B Fast Etherlink XL 10/100 + 1028 0091 3C905B Fast Etherlink XL 10/100 + 1028 0092 3C905B Fast Etherlink XL 10/100 + 1028 0093 3C905B Fast Etherlink XL 10/100 + 1028 0094 3C905B Fast Etherlink XL 10/100 + 1028 0095 3C905B Fast Etherlink XL 10/100 + 1028 0096 3C905B Fast Etherlink XL 10/100 + 1028 0097 3C905B Fast Etherlink XL 10/100 + 1028 0098 3C905B Fast Etherlink XL 10/100 + 1028 0099 3C905B Fast Etherlink XL 10/100 + 10b7 9055 3C905B Fast Etherlink XL 10/100 + 9056 3c905B-T4 Fast EtherLink XL [Cyclone] + 9058 3c905B Deluxe Etherlink 10/100/BNC [Cyclone] + 905a 3c905B-FX Fast Etherlink XL FX 100baseFx [Cyclone] + 9200 3c905C-TX/TX-M [Tornado] + 1028 0095 3C920 Integrated Fast Ethernet Controller + 1028 0097 3C920 Integrated Fast Ethernet Controller + 1028 00b4 OptiPlex GX110 + 1028 00d8 Precision 530 + 1028 00fe Optiplex GX240 + 1028 012a 3C920 Integrated Fast Ethernet Controller [Latitude C640] + 10b7 1000 3C905CX-TX/TX-M Fast Etherlink for PC Management NIC + 10b7 7000 10/100 Mini PCI Ethernet Adapter + 10f1 2466 Tiger MPX S2466 (3C920 Integrated Fast Ethernet Controller) + 144d c005 X10 Laptop + 9201 3C920B-EMB Integrated Fast Ethernet Controller [Tornado] + 1043 80ab A7N8X Deluxe onboard 3C920B-EMB Integrated Fast Ethernet Controller + 9202 3Com 3C920B-EMB-WNM Integrated Fast Ethernet Controller + 9210 3C920B-EMB-WNM Integrated Fast Ethernet Controller + 9300 3CSOHO100B-TX 910-A01 [tulip] + 9800 3c980-TX Fast Etherlink XL Server Adapter [Cyclone] + 10b7 9800 3c980-TX Fast Etherlink XL Server Adapter + 9805 3c980-C 10/100baseTX NIC [Python-T] + 10b7 1201 EtherLink Server 10/100 Dual Port A + 10b7 1202 EtherLink Server 10/100 Dual Port B + 10b7 9805 3c980 10/100baseTX NIC [Python-T] + 10f1 2462 Thunder K7 S2462 + 9900 3C990-TX [Typhoon] + 9902 3CR990-TX-95 [Typhoon 56-bit] + 9903 3CR990-TX-97 [Typhoon 168-bit] + 9904 3C990B-TX-M/3C990BSVR [Typhoon2] + 10b7 1000 3CR990B-TX-M [Typhoon2] + 10b7 2000 3CR990BSVR [Typhoon2 Server] + 9905 3CR990-FX-95/97/95 [Typhon Fiber] + 10b7 1101 3CR990-FX-95 [Typhoon Fiber 56-bit] + 10b7 1102 3CR990-FX-97 [Typhoon Fiber 168-bit] + 10b7 2101 3CR990-FX-95 Server [Typhoon Fiber 56-bit] + 10b7 2102 3CR990-FX-97 Server [Typhoon Fiber 168-bit] + 9908 3CR990SVR95 [Typhoon Server 56-bit] + 9909 3CR990SVR97 [Typhoon Server 168-bit] + 990a 3C990SVR [Typhoon Server] + 990b 3C990SVR [Typhoon Server] +10b8 Standard Microsystems Corp [SMC] + 0005 83c170 EPIC/100 Fast Ethernet Adapter + 1055 e000 LANEPIC 10/100 [EVB171Q-PCI] + 1055 e002 LANEPIC 10/100 [EVB171G-PCI] + 10b8 a011 EtherPower II 10/100 + 10b8 a014 EtherPower II 10/100 + 10b8 a015 EtherPower II 10/100 + 10b8 a016 EtherPower II 10/100 + 10b8 a017 EtherPower II 10/100 + 0006 83c175 EPIC/100 Fast Ethernet Adapter + 1055 e100 LANEPIC Cardbus Fast Ethernet Adapter + 1055 e102 LANEPIC Cardbus Fast Ethernet Adapter + 1055 e300 LANEPIC Cardbus Fast Ethernet Adapter + 1055 e302 LANEPIC Cardbus Fast Ethernet Adapter + 10b8 a012 LANEPIC Cardbus Fast Ethernet Adapter + 13a2 8002 LANEPIC Cardbus Fast Ethernet Adapter + 13a2 8006 LANEPIC Cardbus Fast Ethernet Adapter + 1000 FDC 37c665 + 1001 FDC 37C922 + 2802 SMC2802W [EZ Connect g] + a011 83C170QF + b106 SMC34C90 +10b9 ALi Corporation + 0101 CMI8338/C3DX PCI Audio Device + 0111 C-Media CMI8738/C3DX Audio Device (OEM) + 10b9 0111 C-Media CMI8738/C3DX Audio Device (OEM) + 0780 Multi-IO Card + 0782 Multi-IO Card + 1435 M1435 + 1445 M1445 + 1449 M1449 + 1451 M1451 + 1461 M1461 + 1489 M1489 + 1511 M1511 [Aladdin] + 1512 M1512 [Aladdin] + 1513 M1513 [Aladdin] + 1521 M1521 [Aladdin III] + 10b9 1521 ALI M1521 Aladdin III CPU Bridge + 1523 M1523 + 10b9 1523 ALI M1523 ISA Bridge + 1531 M1531 [Aladdin IV] + 1533 M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+] + 1014 053b ThinkPad R40e + 10b9 1533 ALi M1533 Aladdin IV/V ISA Bridge + 1541 M1541 + 10b9 1541 ALI M1541 Aladdin V/V+ AGP System Controller + 1543 M1543 + 1563 M1563 HyperTransport South Bridge + 10b9 1563 ASRock 939Dual-SATA2 Motherboard + 1849 1563 ASRock 939Dual-SATA2 Motherboard + 1573 PCI to LPC Controller + 1575 M1575 South Bridge + 1621 M1621 + 1631 ALI M1631 PCI North Bridge Aladdin Pro III + 1632 M1632M Northbridge+Trident + 1641 ALI M1641 PCI North Bridge Aladdin Pro IV + 1644 M1644/M1644T Northbridge+Trident + 1646 M1646 Northbridge+Trident + 1647 M1647 Northbridge [MAGiK 1 / MobileMAGiK 1] + 1651 M1651/M1651T Northbridge [Aladdin-Pro 5/5M,Aladdin-Pro 5T/5TM] + 1671 M1671 Super P4 Northbridge [AGP4X,PCI and SDR/DDR] + 1672 M1672 Northbridge [CyberALADDiN-P4] + 1681 M1681 P4 Northbridge [AGP8X,HyperTransport and SDR/DDR] + 1687 M1687 K8 Northbridge [AGP8X and HyperTransport] + 1689 M1689 K8 Northbridge [Super K8 Single Chip] + 1695 M1695 K8 Northbridge [PCI Express and HyperTransport] + 1697 M1697 HTT Host Bridge + 3141 M3141 + 3143 M3143 + 3145 M3145 + 3147 M3147 + 3149 M3149 + 3151 M3151 + 3307 M3307 + 3309 M3309 + 3323 M3325 Video/Audio Decoder + 5212 M4803 + 5215 MS4803 + 5217 M5217H + 5219 M5219 + 5225 M5225 + 5228 M5228 ALi ATA/RAID Controller + 5229 M5229 IDE + 1014 050f ThinkPad R30 + 1014 053d ThinkPad R40e + 103c 0024 Pavilion ze4400 builtin IDE + 1043 8053 A7A266 Motherboard IDE + 1849 5229 ASRock 939Dual-SATA2 Motherboard IDE (PATA) + 5235 M5225 + 5237 USB 1.1 Controller + 1014 0540 ThinkPad R40e + 103c 0024 Pavilion ze4400 builtin USB + 104d 810f VAIO PCG-U1 USB/OHCI Revision 1.0 + 10b9 5237 ASRock 939Dual-SATA2 Motherboard + 1849 5237 ASRock 939Dual-SATA2 Motherboard + 5239 USB 2.0 Controller + 10b9 5239 ASRock 939Dual-SATA2 Motherboard + 1849 5239 ASRock 939Dual-SATA2 Motherboard + 5243 M1541 PCI to AGP Controller + 5246 AGP8X Controller + 5247 PCI to AGP Controller + 5249 M5249 HTT to PCI Bridge + 524b PCI Express Root Port + 524c PCI Express Root Port + 524d PCI Express Root Port + 524e PCI Express Root Port + 5251 M5251 P1394 OHCI 1.0 Controller + 5253 M5253 P1394 OHCI 1.1 Controller + 5261 M5261 Ethernet Controller + 5263 ULi 1689,1573 integrated ethernet. + 5281 ALi M5281 Serial ATA / RAID Host Controller + 5287 ULi 5287 SATA + 5288 ULi M5288 SATA + 1043 8056 A8R-MVP Mainboard + 5289 ULi 5289 SATA + 5450 Lucent Technologies Soft Modem AMR + 5451 M5451 PCI AC-Link Controller Audio Device + 1014 0506 ThinkPad R30 + 1014 053e ThinkPad R40e + 103c 0024 Pavilion ze4400 builtin Audio + 5453 M5453 PCI AC-Link Controller Modem Device + 5455 M5455 PCI AC-Link Controller Audio Device + 10b9 5455 ASRock 939Dual-SATA2 Motherboard + 1849 0850 ASRock 939Dual-SATA2 Motherboard + 5457 M5457 AC'97 Modem Controller + 1014 0535 ThinkPad R40e + 103c 0024 Pavilion ze4400 builtin Modem Device + 5459 SmartLink SmartPCI561 56K Modem + 545a SmartLink SmartPCI563 56K Modem + 5461 High Definition Audio/AC'97 Host Controller + 5471 M5471 Memory Stick Controller + 5473 M5473 SD-MMC Controller + 7101 M7101 Power Management Controller [PMU] + 1014 0510 ThinkPad R30 + 1014 053c ThinkPad R40e + 103c 0024 Pavilion ze4400 + 1849 7101 ASRock 939Dual-SATA2 Motherboard +10ba Mitsubishi Electric Corp. + 0301 AccelGraphics AccelECLIPSE + 0304 AccelGALAXY A2100 [OEM Evans & Sutherland] + 0308 Tornado 3000 [OEM Evans & Sutherland] + 10dd 0024 Tornado 3000 + 1002 VG500 [VolumePro Volume Rendering Accelerator] +10bb Dapha Electronics Corporation +10bc Advanced Logic Research +10bd Surecom Technology + 0e34 NE-34 +10be Tseng Labs International Co. +10bf Most Inc +10c0 Boca Research Inc. +10c1 ICM Co., Ltd. +10c2 Auspex Systems Inc. +10c3 Samsung Semiconductors, Inc. + 1100 Smartether100 SC1100 LAN Adapter (i82557B) +10c4 Award Software International Inc. +10c5 Xerox Corporation +10c6 Rambus Inc. +10c7 Media Vision +10c8 Neomagic Corporation + 0001 NM2070 [MagicGraph 128] + 0002 NM2090 [MagicGraph 128V] + 0003 NM2093 [MagicGraph 128ZV] + 0004 NM2160 [MagicGraph 128XD] + 1014 00ba MagicGraph 128XD + 1025 1007 MagicGraph 128XD + 1028 0074 MagicGraph 128XD + 1028 0075 MagicGraph 128XD + 1028 007d MagicGraph 128XD + 1028 007e MagicGraph 128XD + 1033 802f MagicGraph 128XD + 104d 801b MagicGraph 128XD + 104d 802f MagicGraph 128XD + 104d 830b MagicGraph 128XD + 10ba 0e00 MagicGraph 128XD + 10c8 0004 MagicGraph 128XD + 10cf 1029 MagicGraph 128XD + 10f7 8308 MagicGraph 128XD + 10f7 8309 MagicGraph 128XD + 10f7 830b MagicGraph 128XD + 10f7 830d MagicGraph 128XD + 10f7 8312 MagicGraph 128XD + 0005 NM2200 [MagicGraph 256AV] + 1014 00dd ThinkPad 570 + 1028 0088 Latitude CPi A + 0006 NM2360 [MagicMedia 256ZX] + 0016 NM2380 [MagicMedia 256XL+] + 10c8 0016 MagicMedia 256XL+ + 0025 NM2230 [MagicGraph 256AV+] + 0083 NM2093 [MagicGraph 128ZV+] + 8005 NM2200 [MagicMedia 256AV Audio] + 0e11 b0d1 MagicMedia 256AV Audio Device on Discovery + 0e11 b126 MagicMedia 256AV Audio Device on Durango + 1014 00dd ThinkPad 390/i1720/i1721 + 1025 1003 MagicMedia 256AV Audio Device on TravelMate 720 + 1028 0088 Latitude CPi A + 1028 008f MagicMedia 256AV Audio Device on Colorado Inspiron + 103c 0007 MagicMedia 256AV Audio Device on Voyager II + 103c 0008 MagicMedia 256AV Audio Device on Voyager III + 103c 000d MagicMedia 256AV Audio Device on Omnibook 900 + 10c8 8005 MagicMedia 256AV Audio Device on FireAnt + 110a 8005 MagicMedia 256AV Audio Device + 14c0 0004 MagicMedia 256AV Audio Device + 8006 NM2360 [MagicMedia 256ZX Audio] + 8016 NM2380 [MagicMedia 256XL+ Audio] +10c9 Dataexpert Corporation +10ca Fujitsu Microelectr., Inc. +10cb Omron Corporation +# nee Mentor ARC Inc +10cc Mai Logic Incorporated + 0660 Articia S Host Bridge + 0661 Articia S PCI Bridge +10cd Advanced System Products, Inc + 1100 ASC1100 + 1200 ASC1200 [(abp940) Fast SCSI-II] + 1300 ABP940-U / ABP960-U + 10cd 1310 ASC1300 SCSI Adapter + 1195 1320 Ultra-SCSI CardBus PC Card REX CB31 + 2300 ABP940-UW + 2500 ABP940-U2W + 2700 ABP3950-U3W +10ce Radius +# nee Citicorp TTI +10cf Fujitsu Limited. + 1414 On-board USB 1.1 companion controller + 1415 On-board USB 2.0 EHCI controller + 1422 E8410 nVidia graphics adapter + 142d HD audio (Realtek ALC262) + 1430 82566MM Intel 1Gb copper LAN interface + 2001 mb86605 + 200c MB86613L IEEE1394 OHCI 1.0 Controller + 2019 MB86295S [CORAL P] + 201e MB86296S [CORAL PA] + 202b MB86297A [Carmine Graphics Controller] +10d1 FuturePlus Systems Corp. +10d2 Molex Incorporated +10d3 Jabil Circuit Inc +10d4 Hualon Microelectronics +10d5 Autologic Inc. +10d6 Cetia +10d7 BCM Advanced Research +10d8 Advanced Peripherals Labs +10d9 Macronix, Inc. [MXIC] + 0431 MX98715 + 0512 MX98713 + 0531 MX987x5 + 1186 1200 DFE-540TX ProFAST 10/100 Adapter + 8625 MX86250 + 8626 Macronix MX86251 + 3Dfx Voodoo Rush + 8888 MX86200 +10da Compaq IPG-Austin + 0508 TC4048 Token Ring 4/16 + 3390 Tl3c3x9 +10db Rohm LSI Systems, Inc. +10dc CERN/ECP/EDU + 0001 STAR/RD24 SCI-PCI (PMC) + 0002 TAR/RD24 SCI-PCI (PMC) + 0021 HIPPI destination + 0022 HIPPI source + 10dc ATT2C15-3 FPGA +10dd Evans & Sutherland + 0100 Lightning 1200 + 10dd 0023 Lightning 1200 15+16M +10de nVidia Corporation + 0008 NV1 [EDGE 3D] + 0009 NV1 [EDGE 3D] + 0010 NV2 [Mutara V08] + 0020 NV4 [RIVA TNT] + 1043 0200 V3400 TNT + 1048 0c18 Erazor II SGRAM + 1048 0c19 Erazor II + 1048 0c1b Erazor II + 1048 0c1c Erazor II + 1092 0550 Viper V550 + 1092 0552 Viper V550 + 1092 4804 Viper V550 + 1092 4808 Viper V550 + 1092 4810 Viper V550 + 1092 4812 Viper V550 + 1092 4815 Viper V550 + 1092 4820 Viper V550 with TV out + 1092 4822 Viper V550 + 1092 4904 Viper V550 + 1092 4914 Viper V550 + 1092 8225 Viper V550 + 10b4 273d Velocity 4400 + 10b4 273e Velocity 4400 + 10b4 2740 Velocity 4400 + 10de 0020 Riva TNT + 1102 1015 Graphics Blaster CT6710 + 1102 1016 Graphics Blaster RIVA TNT + 0028 NV5 [RIVA TNT2/TNT2 Pro] + 1043 0200 AGP-V3800 SGRAM + 1043 0201 AGP-V3800 SDRAM + 1043 0205 PCI-V3800 + 1043 4000 AGP-V3800PRO + 1048 0c21 Synergy II + 1048 0c28 Erazor III + 1048 0c29 Erazor III + 1048 0c2a Erazor III + 1048 0c2b Erazor III + 1048 0c31 Erazor III Pro + 1048 0c32 Erazor III Pro + 1048 0c33 Erazor III Pro + 1048 0c34 Erazor III Pro + 107d 2134 WinFast 3D S320 II + TV-Out + 1092 4804 Viper V770 + 1092 4a00 Viper V770 + 1092 4a02 Viper V770 Ultra + 1092 5a00 RIVA TNT2/TNT2 Pro + 1092 6a02 Viper V770 Ultra + 1092 7a02 Viper V770 Ultra + 10de 0005 RIVA TNT2 Pro + 10de 000f Compaq NVIDIA TNT2 Pro + 1102 1020 3D Blaster RIVA TNT2 + 1102 1026 3D Blaster RIVA TNT2 Digital + 14af 5810 Maxi Gamer Xentor + 0029 NV5 [RIVA TNT2 Ultra] + 1043 0200 AGP-V3800 Deluxe + 1043 0201 AGP-V3800 Ultra SDRAM + 1043 0205 PCI-V3800 Ultra + 1048 0c2e Erazor III Ultra + 1048 0c2f Erazor III Ultra + 1048 0c30 Erazor III Ultra + 1102 1021 3D Blaster RIVA TNT2 Ultra + 1102 1029 3D Blaster RIVA TNT2 Ultra + 1102 102f 3D Blaster RIVA TNT2 Ultra + 14af 5820 Maxi Gamer Xentor 32 + 002a NV5 [Riva TNT2] + 002b NV5 [Riva TNT2] + 002c NV6 [Vanta/Vanta LT] + 1043 0200 AGP-V3800 Combat SDRAM + 1043 0201 AGP-V3800 Combat + 1048 0c20 TNT2 Vanta + 1048 0c21 TNT2 Vanta + 1092 6820 Viper V730 + 1102 1031 CT6938 VANTA 8MB + 1102 1034 CT6894 VANTA 16MB + 14af 5008 Maxi Gamer Phoenix 2 + 002d NV5M64 [RIVA TNT2 Model 64/Model 64 Pro] + 1043 0200 AGP-V3800M + 1043 0201 AGP-V3800M + 1048 0c3a Erazor III LT + 1048 0c3b Erazor III LT + 10de 001e M64 AGP4x + 1102 1023 CT6892 RIVA TNT2 Value + 1102 1024 CT6932 RIVA TNT2 Value 32Mb + 1102 102c CT6931 RIVA TNT2 Value [Jumper] + 1462 8808 MSI-8808 + 1554 1041 Pixelview RIVA TNT2 M64 + 1569 002d Palit Microsystems Daytona TNT2 M64 + 002e NV6 [Vanta] + 002f NV6 [Vanta] + 0034 MCP04 SMBus + 0035 MCP04 IDE + 0036 MCP04 Serial ATA Controller + 0037 MCP04 Ethernet Controller + 0038 MCP04 Ethernet Controller + 003a MCP04 AC'97 Audio Controller + 003b MCP04 USB Controller + 003c MCP04 USB Controller + 003d MCP04 PCI Bridge + 003e MCP04 Serial ATA Controller + 0040 NV40 [GeForce 6800 Ultra] + 0041 NV40 [GeForce 6800] + 1043 817b V9999 Gamer Edition + 0042 NV40.2 [GeForce 6800 LE] + 0043 NV40.3 [GeForce 6800 XE] + 0044 NV40 [GeForce 6800 XT] + 0045 NV40 [GeForce 6800 GT] + 0046 NV40 [GeForce 6800 GT] + 0047 NV40 [GeForce 6800 GS] + 1682 2109 GeForce 6800 GS + 0048 NV40 [GeForce 6800 XT] + 0049 NV40GL + 004d NV40GL [Quadro FX 4000] + 004e NV40GL [Quadro FX 4000] + 0050 CK804 ISA Bridge + 1043 815a K8N4-E or A8N-E Mainboard + 10f1 2865 Tomcat K8E (S2865) + 1458 0c11 GA-K8N Ultra-9 Mainboard + 1462 7100 MSI K8N Diamond + 147b 1c1a KN8-Ultra Mainboard + 1565 3402 NF4 AM2L Mainboard + 0051 CK804 ISA Bridge + 1028 0225 PWA-Pandora Motherboard [PowerEdge T105] + 0052 CK804 SMBus + 1028 0225 PWA-Pandora Motherboard [PowerEdge T105] + 1043 815a K8N4-E or A8N-E Mainboard + 10f1 2865 Tomcat K8E (S2865) + 1458 0c11 GA-K8N Ultra-9 Mainboard + 1462 7100 MSI K8N Diamond + 147b 1c1a KN8-Ultra Mainboard + 1565 3402 NF4 AM2L Mainboard + 0053 CK804 IDE + 1043 815a K8N4-E or A8N-E Mainboard + 10f1 2865 Tomcat K8E (S2865) + 1458 5002 GA-K8N Ultra-9 Mainboard + 1462 7100 MSI K8N Diamond + 147b 1c1a KN8-Ultra Mainboard + 1565 3402 NF4 AM2L Mainboard + 0054 CK804 Serial ATA Controller + 1028 0225 PWA-Pandora Motherboard [PowerEdge T105] + 1043 815a A8N-E Mainboard + 10f1 2865 Tomcat K8E (S2865) + 1458 b003 GA-K8N Ultra-9 Mainboard + 1462 7100 MSI K8N Diamond + 147b 1c1a KN8-Ultra Mainboard + 1565 5401 NF4 AM2L Mainboard + 0055 CK804 Serial ATA Controller + 1028 0225 PWA-Pandora Motherboard [PowerEdge T105] + 1043 815a K8N4-E or A8N-E Mainboard + 10f1 2865 Tomcat K8E (S2865) + 1458 b003 GA-K8N Ultra-9 Mainboard + 147b 1c1a KN8-Ultra Mainboard + 1565 5401 NF4 AM2L Mainboard + 0056 CK804 Ethernet Controller + 0057 CK804 Ethernet Controller + 1043 8141 K8N4-E or A8N-E Mainboard + 10de cb84 NF4 Lanparty + 10f1 2865 Tomcat K8E (S2865) + 1458 e000 GA-K8N Ultra-9 Mainboard + 1462 7100 MSI K8N Diamond + 147b 1c1a KN8-Ultra Mainboard + 1565 2501 NF4 AM2L Mainboard + 0058 CK804 AC'97 Modem + 0059 CK804 AC'97 Audio Controller + 1043 812a K8N4-E or A8N-E Mainboard + 10f1 2865 Tomcat K8E (S2865) + 147b 1c1a KN8-Ultra Mainboard + 1565 8211 NF4 AM2L Mainboard + 005a CK804 USB Controller + 1028 0225 PWA-Pandora Motherboard [PowerEdge T105] + 1043 815a K8N4-E or A8N-E Mainboard + 10f1 2865 Tomcat K8E (S2865) + 1458 5004 GA-K8N Ultra-9 Mainboard + 1462 7100 MSI K8N Diamond + 147b 1c1a KN8-Ultra Mainboard + 1565 3402 NF4 AM2L Mainboard + 005b CK804 USB Controller + 1028 0225 PWA-Pandora Motherboard [PowerEdge T105] + 1043 815a K8N4-E or A8N-E Mainboard + 10f1 2865 Tomcat K8E (S2865) + 1458 5004 GA-K8N Ultra-9 Mainboard + 1462 7100 MSI K8N Diamond + 147b 1c1a KN8-Ultra Mainboard + 1565 3402 NF4 AM2L Mainboard + 005c CK804 PCI Bridge + 005d CK804 PCIE Bridge + 005e CK804 Memory Controller + 1028 0225 PWA-Pandora Motherboard [PowerEdge T105] + 1043 815a A8N-E Mainboard + 10de 005e ECS Elitegroup NFORCE3-A939 motherboard. + 10f1 2865 Tomcat K8E (S2865) + 10f1 2891 Thunder K8SRE Mainboard + 1458 5000 GA-K8N Ultra-9 Mainboard + 1462 7100 MSI K8N Diamond + 147b 1c1a KN8-Ultra Mainboard + 1565 3402 NF4 AM2L Mainboard + 005f CK804 Memory Controller + 0060 nForce2 ISA Bridge + 1043 80ad A7N8X Mainboard + 147b 1c02 NF7-S/NF7 (nVidia-nForce2) 2.X + a0a0 03ba UK79G-1394 motherboard + 0064 nForce2 SMBus (MCP) + 147b 1c02 NF7-S/NF7 (nVidia-nForce2) 2.X + a0a0 03bb UK79G-1394 motherboard + 0065 nForce2 IDE + 10de 0c11 nForce 2 EIDE Controller + a0a0 03b2 UK79G-1394 motherboard + 0066 nForce2 Ethernet Controller + 1043 80a7 A7N8X Mainboard onboard nForce2 Ethernet + 10de 0c11 nForce MCP-T Networking Adapter + a0a0 03b3 UK79G-1394 motherboard + 0067 nForce2 USB Controller + 1043 0c11 A7N8X Mainboard + a0a0 03b4 UK79G-1394 motherboard + 0068 nForce2 USB Controller + 1043 0c11 A7N8X Mainboard + a0a0 03b4 UK79G-1394 motherboard + 006a nForce2 AC97 Audio Controler (MCP) + 1043 8095 nForce2 AC97 Audio Controler (MCP) + a0a0 0304 UK79G-1394 motherboard + 006b nForce Audio Processing Unit + 10de 006b nForce2 MCP Audio Processing Unit + a0a0 0304 UK79G-1394 motherboard + 006c nForce2 External PCI Bridge + 006d nForce2 PCI Bridge + 006e nForce2 FireWire (IEEE 1394) Controller + a0a0 0306 UK79G-1394 motherboard + 0080 MCP2A ISA bridge + 147b 1c09 NV7 Motherboard + 0084 MCP2A SMBus + 147b 1c09 NV7 Motherboard + 0085 MCP2A IDE + 147b 1c09 NV7 Motherboard + 0086 MCP2A Ethernet Controller + 0087 MCP2A USB Controller + 147b 1c09 NV7 Motherboard + 0088 MCP2A USB Controller + 147b 1c09 NV7 Motherboard + 008a MCP2S AC'97 Audio Controller + 147b 1c09 NV7 Motherboard + 008b MCP2A PCI Bridge + 008c MCP2A Ethernet Controller + 008e nForce2 Serial ATA Controller + 0090 G70 [GeForce 7800 GTX] + 0091 G70 [GeForce 7800 GTX] + 0092 G70 [GeForce 7800 GT] + 0093 G70 [GeForce 7800 GS] + 0095 GeForce 7800 SLI + 0098 G70 [GeForce Go 7800] + 0099 G70 [GeForce Go 7800 GTX] + 009d G70GL [Quadro FX 4500] + 00a0 NV5 [Aladdin TNT2] + 14af 5810 Maxi Gamer Xentor + 00c0 NV41 [GeForce 6800 GS] + 00c1 NV41.1 [GeForce 6800] + 00c2 NV41.2 [GeForce 6800 LE] + 00c3 NV42 [GeForce 6800 XT] + 00c8 NV41.8 [GeForce Go 6800] + 00c9 NV41.9 [GeForce Go 6800 Ultra] + 00cc NV41 [Quadro FX Go1400] + 00cd NV41 [Quadro FX 3450/4000 SDI] + 10de 029b wx4300 Workstation + 00ce NV41GL [Quadro FX 1400] + 00d0 nForce3 LPC Bridge + 00d1 nForce3 Host Bridge + 00d2 nForce3 AGP Bridge + 00d3 CK804 Memory Controller + 00d4 nForce3 SMBus + 00d5 nForce3 IDE + 00d6 nForce3 Ethernet + 00d7 nForce3 USB 1.1 + 00d8 nForce3 USB 2.0 + 00d9 nForce3 Audio + 00da nForce3 Audio + 00dd nForce3 PCI Bridge + 00df CK8S Ethernet Controller + 1043 80a7 K8N-E + 105b 0c43 Winfast NF3250K8AA + 147b 1c0b NF8 Mainboard + 00e0 nForce3 250Gb LPC Bridge + 1043 813f K8N-E + 10de 0c11 Winfast NF3250K8AA + 1462 7030 K8N Neo-FSR v2.0 + 147b 1c0b NF8 Mainboard + 00e1 nForce3 250Gb Host Bridge + 1043 813f K8N-E + 1462 7030 K8N Neo-FSR v2.0 + 147b 1c0b NF8 Mainboard + 00e2 nForce3 250Gb AGP Host to PCI Bridge + 00e3 nForce3 Serial ATA Controller + 1043 813f K8N-E + 105b 0c43 Winfast NF3250K8AA + 147b 1c0b NF8 Mainboard + 00e4 nForce 250Gb PCI System Management + 1043 813f K8N-E + 105b 0c43 Winfast NF3250K8AA + 1462 7030 K8N Neo-FSR v2.0 + 147b 1c0b NF8 Mainboard + 00e5 CK8S Parallel ATA Controller (v2.5) + 1043 813f K8N-E + 105b 0c43 Winfast NF3250K8AA + 1462 7030 K8N Neo-FSR v2.0 + 147b 1c0b NF8 Mainboard + 00e6 CK8S Ethernet Controller + 00e7 CK8S USB Controller + 1043 813f K8N-E + 105b 0c43 Winfast NF3250K8AA + 1462 7030 K8N Neo-FSR v2.0 + 147b 1c0b NF8 Mainboard + 00e8 nForce3 EHCI USB 2.0 Controller + 1043 813f K8N-E + 105b 0c43 Winfast NF3250K8AA + 1462 7030 K8N Neo-FSR v2.0 + 147b 1c0b NF8 Mainboard + 00ea nForce3 250Gb AC'97 Audio Controller + 1043 819d K8N-E + 105b 0c43 Winfast NF3250K8AA + 1462 b010 K8N Neo-FSR v2.0 + 147b 1c0b NF8 Mainboard + 00ed nForce3 250Gb PCI-to-PCI Bridge + 00ee nForce3 Serial ATA Controller 2 + 00f0 NV40 [GeForce 6800 Ultra] + 00f1 NV43 [GeForce 6600 GT] + 1043 81a6 N6600GT TD 128M AGP + 1043 81c6 N6600GT TD 128M AGP + 1458 3150 GV-N66T128VP + 1682 2119 GeForce 6600 GT AGP 128MB DDR3 DUAL DVI TV + 00f2 NV43 [GeForce 6600] + 1554 1194 PixelView PV-N43AT (256KD) + 1682 211c GeForce 6600 256MB DDR DUAL DVI TV + 00f3 NV43 [GeForce 6200] + 00f4 NV43 [GeForce 6600 LE] + 00f5 G70 [GeForce 7800 GS] + 00f6 NV43 [GeForce 6800 GS] + 1682 217e XFX GeForce 6800 XTreme 256MB DDR3 AGP + 00f8 NV45GL [Quadro FX 3400/4400] + 00f9 NV45 [GeForce 6800 GTO] + 10de 00f9 NV40 [GeForce 6800 GT] + 1682 2120 GEFORCE 6800 GT PCI-E + 00fa NV36 [GeForce PCX 5750] + 00fb NV35 [GeForce PCX 5900] + 00fc NV37GL [Quadro FX 330/GeForce PCX 5300] + 00fd NV37GL [Quadro PCI-E Series] + 00fe NV38GL [Quadro FX 1300] + 00ff NV18 [GeForce PCX 4300] + 0100 NV10 [GeForce 256 SDR] + 1043 0200 AGP-V6600 SGRAM + 1043 0201 AGP-V6600 SDRAM + 1043 4008 AGP-V6600 SGRAM + 1043 4009 AGP-V6600 SDRAM + 1048 0c41 Erazor X + 1048 0c43 ERAZOR X PCI + 1048 0c48 Synergy Force + 1102 102d CT6941 GeForce 256 + 14af 5022 3D Prophet SE + 0101 NV10DDR [GeForce 256 DDR] + 1043 0202 AGP-V6800 DDR + 1043 400a AGP-V6800 DDR SGRAM + 1043 400b AGP-V6800 DDR SDRAM + 1048 0c42 Erazor X + 107d 2822 WinFast GeForce 256 + 1102 102e CT6971 GeForce 256 DDR + 14af 5021 3D Prophet DDR-DVI + 0103 NV10GL [Quadro] + 1048 0c40 GLoria II-64 + 1048 0c44 GLoria II + 1048 0c45 GLoria II + 1048 0c4a GLoria II-64 Pro + 1048 0c4b GLoria II-64 Pro DVII + 0110 NV11 [GeForce2 MX/MX 400] + 1043 4015 AGP-V7100 Pro + 1043 4021 V7100 Deluxe Combo + 1043 4031 V7100 Pro with TV output + 1048 0c60 Gladiac MX + 1048 0c61 Gladiac 511PCI + 1048 0c63 Gladiac 511TV-OUT 32MB + 1048 0c64 Gladiac 511TV-OUT 64MB + 1048 0c65 Gladiac 511TWIN + 1048 0c66 Gladiac 311 + 10de 0091 Dell OEM GeForce 2 MX 400 + 10de 00a1 Apple OEM GeForce2 MX + 1462 8817 MSI GeForce2 MX400 Pro32S [MS-8817] + 14af 7102 3D Prophet II MX + 14af 7103 3D Prophet II MX Dual-Display + 1545 0023 Xtasy Rev. B2 + 0111 NV11DDR [GeForce2 MX200] + 0112 NV11 [GeForce2 Go] + 0113 NV11GL [Quadro2 MXR/EX/Go] + 0140 NV43 [GeForce 6600 GT] + 0141 NV43 [GeForce 6600] + 1043 81b0 EN6600 Silencer + 1458 3124 GV-NX66128DP Turbo Force Edition + 0142 NV43 [GeForce 6600 LE] + 0143 NV43 [GeForce 6600 VE] + 0144 NV43 [GeForce Go 6600] + 0145 NV43 [GeForce 6610 XL] + 0146 NV43 [Geforce Go 6600TE/6200TE] + 0147 GeForce 6700 XL + 0148 NV43 [GeForce Go 6600] + 0149 NV43 [GeForce Go 6600 GT] + 014a Quadro NVS 440 + 014c Quadro FX 540 MXM + 014d NV43GL [Quadro FX 550] + 014e NV43GL [Quadro FX 540] + 014f NV43 [GeForce 6200] + 0150 NV15 [GeForce2 GTS/Pro] + 1043 4016 V7700 AGP Video Card + 1048 0c50 Gladiac + 1048 0c52 Gladiac-64 + 107d 2840 WinFast GeForce2 GTS with TV output + 107d 2842 WinFast GeForce 2 Pro + 10de 002e GeForce2 GTS + 1462 8831 Creative GeForce2 Pro + 0151 NV15DDR [GeForce2 Ti] + 1043 405f V7700Ti + 1462 5506 Creative 3D Blaster Geforce2 Titanium + 0152 NV15BR [GeForce2 Ultra, Bladerunner] + 1048 0c56 GLADIAC Ultra + 0153 NV15GL [Quadro2 Pro] + 0160 GeForce 6500 + 0161 NV44 [GeForce 6200 TurboCache(TM)] + 0162 NV44 [GeForce 6200SE TurboCache (TM)] + 0163 NV44 [GeForce 6200 LE] + 0164 NV44 [GeForce Go 6200] + 0165 NV44 [Quadro NVS 285] + 0166 NV43 [GeForce Go 6400] + 0167 NV43 [GeForce Go 6200/6400] + 0168 NV43 [GeForce Go 6200/6400] + 0169 GeForce 6250 + 016a GeForce 7100 GS + 0170 NV17 [GeForce4 MX 460] + 0171 NV17 [GeForce4 MX 440] + 10b0 0002 Gainward Pro/600 TV + 10de 0008 Apple OEM GeForce4 MX 440 + 1462 8661 G4MX440-VTP + 1462 8730 MX440SES-T (MS-8873) + 1462 8852 GeForce4 MX440 PCI + 147b 8f00 Abit Siluro GeForce4MX440 + 0172 NV17 [GeForce4 MX 420] + 0173 NV17 [GeForce4 MX 440-SE] + 0174 NV17 [GeForce4 440 Go] + 0175 NV17 [GeForce4 420 Go] + 0176 NV17 [GeForce4 420 Go 32M] + 103c 08b0 tc1100 tablet + 144d c005 X10 Laptop + 4c53 1090 Cx9 / Vx9 mainboard + 0177 NV17 [GeForce4 460 Go] + 0178 NV17GL [Quadro4 550 XGL] + 0179 NV17 [GeForce4 440 Go 64M] + 10de 0179 GeForce4 MX (Mac) + 017a NV17GL [Quadro NVS] + 017b NV17GL [Quadro4 550 XGL] + 017c NV17GL [Quadro4 500 GoGL] + 017d NV17 [GeForce4 410 Go 16M] + 0181 NV18 [GeForce4 MX 440 AGP 8x] + 1043 8063 GeForce4 MX 440 AGP 8X + 1043 806f V9180 Magic + 1462 8880 MS-StarForce GeForce4 MX 440 with AGP8X + 1462 8900 MS-8890 GeForce 4 MX440 AGP8X + 1462 9350 MSI Geforce4 MX T8X with AGP8X + 147b 8f0d Siluro GF4 MX-8X + 1554 1111 PixelView MVGA-NVG18A + 0182 NV18 [GeForce4 MX 440SE AGP 8x] + 0183 NV18 [GeForce4 MX 420 AGP 8x] + 0184 NV18 [GeForce4 MX] + 0185 NV18 [GeForce4 MX 4000] + 0186 NV18M [GeForce4 448 Go] + 0187 NV18M [GeForce4 488 Go] + 0188 NV18GL [Quadro4 580 XGL] + 018a NV18GL [Quadro NVS 280 SD] + 018b NV18GL [Quadro4 380 XGL] + 018c NV18GL [Quadro NVS 50 PCI] + 018d NV18M [GeForce4 448 Go] + 0191 G80 [GeForce 8800 GTX] + 0193 G80 [GeForce 8800 GTS] + 0194 GeForce 8800 Ultra + 0197 Tesla S870 (Compute Server Component) + 019d G80 [Quadro FX 5600] + 019e G80 [Quadro FX 4600] + 01a0 NVCrush11 [GeForce2 MX Integrated Graphics] + 01a4 nForce CPU bridge + 01ab nForce 420 Memory Controller (DDR) + 01ac nForce 220/420 Memory Controller + 01ad nForce 220/420 Memory Controller + 01b0 nForce Audio Processing Unit + 01b1 nForce AC'97 Audio Controller + 01b2 nForce ISA Bridge + 01b4 nForce PCI System Management + 01b7 nForce AGP to PCI Bridge + 01b8 nForce PCI-to-PCI bridge + 01bc nForce IDE + 01c1 nForce AC'97 Modem Controller + 01c2 nForce USB Controller + 01c3 nForce Ethernet Controller + 01d0 GeForce 7350 LE + 01d1 G72 [GeForce 7300 LE] + 1462 0345 7300LE PCI Express Graphics Adapter + 01d3 G72 [GeForce 7300 SE] + 01d6 GeForce Go 7200 + 01d7 G72M [Quadro NVS 110M/GeForce Go 7300] + 01d8 G72M [GeForce Go 7400] + 1028 01d7 XPS M1210 + 01da G72M [Quadro NVS 110M] + 01db Quadro NVS 120M + 01dc G72GL [Quadro FX 350M] + 01dd G72 [GeForce 7500 LE] + 01de G72GL [Quadro FX 350] + 10de 01dc Quadro FX Go350M + 01df G71 [GeForce 7300 GS] + 01e0 nForce2 IGP2 + 147b 1c09 NV7 Motherboard + 01e8 nForce2 AGP + 01ea nForce2 Memory Controller 0 + a0a0 03b9 UK79G-1394 motherboard + 01eb nForce2 Memory Controller 1 + a0a0 03b9 UK79G-1394 motherboard + 01ec nForce2 Memory Controller 2 + a0a0 03b9 UK79G-1394 motherboard + 01ed nForce2 Memory Controller 3 + a0a0 03b9 UK79G-1394 motherboard + 01ee nForce2 Memory Controller 4 + 10de 01ee MSI Delta-L nForce2 memory controller + a0a0 03b9 UK79G-1394 motherboard + 01ef nForce2 Memory Controller 5 + a0a0 03b9 UK79G-1394 motherboard + 01f0 NV18 [GeForce4 MX - nForce GPU] + a0a0 03b5 UK79G-1394 motherboard + 0200 NV20 [GeForce3] + 1043 402f AGP-V8200 DDR + 1048 0c70 GLADIAC 920 + 0201 NV20 [GeForce3 Ti 200] + 0202 NV20 [GeForce3 Ti 500] + 1043 405b V8200 T5 + 1545 002f Xtasy 6964 + 0203 NV20DCC [Quadro DCC] + 0211 NV40 [GeForce 6800] + 0212 NV40 [GeForce 6800 LE] + 0215 NV40 [GeForce 6800 GT] + 0218 NV40 [GeForce 6800 XT] + 0221 NV44A [GeForce 6200] + 3842 a341 256A8N341DX + 0222 GeForce 6200 A-LE + 0240 C51PV [GeForce 6150] + 1043 81cd A8N-VM CSM + 1462 7207 K8NGM2 series + 0241 C51 [GeForce 6150 LE] + 0242 C51G [GeForce 6100] + 0243 C51 PCI Express Bridge + 0244 C51 [Geforce 6150 Go] + 103c 30b5 Presario V3242AU + 103c 30b7 Presario V6133CL + 10de 0244 GeForce Go 6150 + 0245 C51 [Quadro NVS 210S/GeForce 6150LE] + 0246 C51 PCI Express Bridge + 0247 MCP51 PCI-X GeForce Go 6100 + 1043 1382 MCP51 PCI-X GeForce Go 6100 + 0248 C51 PCI Express Bridge + 0249 C51 PCI Express Bridge + 024a C51 PCI Express Bridge + 024b C51 PCI Express Bridge + 024c C51 PCI Express Bridge + 024d C51 PCI Express Bridge + 024e C51 PCI Express Bridge + 024f C51 PCI Express Bridge + 0250 NV25 [GeForce4 Ti 4600] + 0251 NV25 [GeForce4 Ti 4400] + 1043 8023 v8440 GeForce 4 Ti4400 + 10de 0251 PNY GeForce4 Ti 4400 + 1462 8710 PNY GeForce4 Ti 4400 + 0252 NV25 [GeForce4 Ti] + 0253 NV25 [GeForce4 Ti 4200] + 107d 2896 WinFast A250 LE TD (Dual VGA/TV-out/DVI) + 147b 8f09 Siluro (Dual VGA/TV-out/DVI) + 0258 NV25GL [Quadro4 900 XGL] + 0259 NV25GL [Quadro4 750 XGL] + 025b NV25GL [Quadro4 700 XGL] + 0260 MCP51 LPC Bridge + 103c 30b7 Presario V6133CL + 1043 81bc A8N-VM CSM Mainboard + 1458 5001 GA-M55plus-S3G + 1462 7207 K8NGM2 series + 0261 MCP51 LPC Bridge + 0262 MCP51 LPC Bridge + 0263 MCP51 LPC Bridge + 0264 MCP51 SMBus + 103c 30b7 Presario V6133CL + 1043 81bc A8N-VM CSM Mainboard + 1462 7207 K8NGM2 series + 0265 MCP51 IDE + 103c 30b7 Presario V6133CL + 1043 81bc A8N-VM CSM Mainboard + 1462 7207 K8NGM2 series + 0266 MCP51 Serial ATA Controller + 103c 30b7 Presario V6133CL + 1043 81bc A8N-VM CSM Mainboard + 1462 7207 K8NGM2 series + 0267 MCP51 Serial ATA Controller + 1043 81bc A8N-VM CSM Mainboard + 1462 7207 K8NGM2 series + 0268 MCP51 Ethernet Controller + 0269 MCP51 Ethernet Controller + 103c 30b7 Presario V6133CL + 1043 8141 A8N-VM CSM Mainboard + 1462 7207 K8NGM2 series + 026a MCP51 MCI + 026b MCP51 AC97 Audio Controller + 026c MCP51 High Definition Audio + 103c 30b5 Presario V3242AU + 103c 30b7 Presario V6133CL + 10de cb84 A8N-VM CSM Mainboard + 1462 7207 K8NGM2 series + 026d MCP51 USB Controller + 103c 30b7 Presario V6133CL + 1043 81bc A8N-VM CSM Mainboard + 1462 7207 K8NGM2 series + 026e MCP51 USB Controller + 103c 30b7 Presario V6133CL + 1043 81bc A8N-VM CSM Mainboard + 1462 7207 K8NGM2 series + 026f MCP51 PCI Bridge + 103c 30b7 Presario V6133CL + 0270 MCP51 Host Bridge + 103c 30b7 Presario V6133CL + 1043 81bc A8N-VM CSM Mainboard + 1458 5001 GA-M55plus-S3G + 1462 7207 K8NGM2 series + 0271 MCP51 PMU + 103c 30b5 Presario V3242AU + 103c 30b7 Presario V6133CL + 0272 MCP51 Memory Controller 0 + 027e C51 Memory Controller 2 + 103c 30b7 Presario V6133CL + 1043 81cd A8N-VM CSM Mainboard + 1458 5000 GA-M55plus-S3G + 1462 7207 K8NGM2 series + 027f C51 Memory Controller 3 + 103c 30b7 Presario V6133CL + 1043 81cd A8N-VM CSM Mainboard + 1458 5000 GA-M55plus-S3G + 1462 7207 K8NGM2 series + 0280 NV28 [GeForce4 Ti 4800] + 0281 NV28 [GeForce4 Ti 4200 AGP 8x] + 0282 NV28 [GeForce4 Ti 4800 SE] + 0286 NV28 [GeForce4 Ti 4200 Go AGP 8x] + 0288 NV28GL [Quadro4 980 XGL] + 0289 NV28GL [Quadro4 780 XGL] + 028c NV28GLM [Quadro4 Go700] + 0290 G71 [GeForce 7900 GTX] + 0291 G71 [GeForce 7900 GT/GTO] + 10de 042b NX7900GTO-T2D512E [7900 GTO] + 0292 G71 [GeForce 7900 GS] + 0293 G71 [GeForce 7900 GX2] + 0294 G71 [GeForce 7950 GX2] + 0295 G71 [GeForce 7950 GT] + 1043 8225 GeForce 7950 GT + 107d 2a68 WinFast PX7950GT TDH + 1462 0663 NX7950GT-VT2D512EZ-HD + 0297 GeForce Go 7950 GTX + 0298 GeForce Go 7900 GS + 0299 GeForce Go 7900 GTX + 029a G71 [Quadro FX 2500M] + 029b G71 [Quadro FX 1500M] + 029c G71 [Quadro FX 5500] + 029d G71GL [Quadro FX 3500] + 029e G71 [Quadro FX 1500] + 029f G70 [Quadro FX 4500 X2] +# Xbox Graphics Processing Unit (Integrated). GeForce3 derivative (NV20 < NV2A < NV25). + 02a0 NV2A [XGPU] + 02a5 MCPX CPU Bridge + 02a6 MCPX Memory Controller + 02e0 GeForce 7600 GT + 02e0 2249 GF 7600GT 560M 256MB DDR3 DUAL DVI TV + 02e1 G73 [GeForce 7600 GS] + 1682 222b PV-T73K-UAL3 (256MB) + 1682 2247 GF 7600GS 512MB DDR2 + 02e2 GeForce 7300 GT + 02e3 GeForce 7900 GS +# An oddball 7950 that doesn't show up on any official NVIDIA lists but was seen in the wild + 02e4 GeForce 7950 GT AGP + 1682 2271 PV-T71A-YDF7 (512MB) + 02f0 C51 Host Bridge + 103c 30b7 Presario V6133CL + 1043 81cd A8N-VM CSM Mainboard + 1462 7207 K8NGM2 series + 02f1 C51 Host Bridge + 1458 5000 GA-M55plus-S3G + 02f2 C51 Host Bridge + 02f3 C51 Host Bridge + 02f4 C51 Host Bridge + 02f5 C51 Host Bridge + 02f6 C51 Host Bridge + 02f7 C51 Host Bridge + 02f8 C51 Memory Controller 5 + 103c 30b7 Presario V6133CL + 1043 81cd A8N-VM CSM Mainboard + 1458 5000 GA-M55plus-S3G + 1462 7207 K8NGM2 series + 02f9 C51 Memory Controller 4 + 103c 30b7 Presario V6133CL + 1043 81cd A8N-VM CSM Mainboard + 1458 5000 GA-M55plus-S3G + 1462 7207 K8NGM2 series + 02fa C51 Memory Controller 0 + 103c 30b7 Presario V6133CL + 1043 81cd A8N-VM CSM Mainboard + 1458 5000 GA-M55plus-S3G + 1462 7207 K8NGM2 series + 02fb C51 PCI Express Bridge + 02fc C51 PCI Express Bridge + 103c 30b7 Presario V6133CL + 02fd C51 PCI Express Bridge + 103c 30b7 Presario V6133CL + 02fe C51 Memory Controller 1 + 103c 30b7 Presario V6133CL + 1043 81cd A8N-VM CSM Mainboard + 1458 5000 GA-M55plus-S3G + 1462 7207 K8NGM2 series + 02ff C51 Host Bridge + 103c 30b7 Presario V6133CL + 1043 81cd A8N-VM CSM Mainboard + 1458 5000 GA-M55plus-S3G + 1462 7207 K8NGM2 series + 0300 NV30 [GeForce FX] + 0301 NV30 [GeForce FX 5800 Ultra] + 0302 NV30 [GeForce FX 5800] + 0308 NV30GL [Quadro FX 2000] + 0309 NV30GL [Quadro FX 1000] + 0311 NV31 [GeForce FX 5600 Ultra] + 0312 NV31 [GeForce FX 5600] + 0313 NV31 + 0314 NV31 [GeForce FX 5600XT] + 1043 814a V9560XT/TD + 0316 NV31M + 0317 NV31M Pro + 031a NV31M [GeForce FX Go5600] + 031b NV31M [GeForce FX Go5650] + 031c Quadro FX Go700 + 031d NV31GLM + 031e NV31GLM Pro + 031f NV31GLM Pro + 0320 NV34 [GeForce FX 5200] + 0321 NV34 [GeForce FX 5200 Ultra] + 0322 NV34 [GeForce FX 5200] + 1043 02fb V9250 Magic + 1043 8180 V9520-X/TD/128M + 1462 9110 MS-8911 (FX5200-TD128) + 1462 9171 MS-8917 (FX5200-T128) + 1462 9360 MS-8936 (FX5200-T128) + 0323 NV34 [GeForce FX 5200LE] + 0324 NV34M [GeForce FX Go5200 64M] + 1028 0196 Inspiron 5160 + 103c 006a Pavillon ZD7000 laptop + 1071 8160 MIM2000 + 0325 NV34M [GeForce FX Go5250] + 0326 NV34 [GeForce FX 5500] + 1458 310d GeForce FX 5500 128 MB + 1682 2034 GeForce 5500 256 MB + 0327 NV34 [GeForce FX 5100] + 0328 NV34M [GeForce FX Go5200 32M/64M] + 0329 NV34M [GeForce FX Go5200] + 10de 0010 Powerbook G4 + 032a NV34GL [Quadro NVS 280 PCI] + 032b NV34GL [Quadro FX 500/600 PCI] + 032c NV34GLM [GeForce FX Go 5300] + 032d NV34 [GeForce FX Go5100] + 032f NV34GL + 0330 NV35 [GeForce FX 5900 Ultra] + 1043 8137 V9950 Ultra / 256 MB + 0331 NV35 [GeForce FX 5900] + 1043 8145 V9950GE + 0332 NV35 [GeForce FX 5900XT] + 0333 NV38 [GeForce FX 5950 Ultra] + 0334 NV35 [GeForce FX 5900ZT] + 1462 9373 FX5900ZT-VTD128 (MS-8937) + 0338 NV35GL [Quadro FX 3000] + 033f NV35GL [Quadro FX 700] + 0341 NV36.1 [GeForce FX 5700 Ultra] + 1462 9380 MS-8938 (FX5700U-TD128) + 0342 NV36.2 [GeForce FX 5700] + 0343 NV36 [GeForce FX 5700LE] + 0344 NV36.4 [GeForce FX 5700VE] + 0345 NV36.5 + 0347 NV36 [GeForce FX Go5700] + 103c 006a NX9500 + 0348 NV36 [GeForce FX Go5700] + 0349 NV36M Pro + 034b NV36MAP + 034c NV36 [Quadro FX Go1000] + 034e NV36GL [Quadro FX 1100] + 034f NV36GL + 0360 MCP55 LPC Bridge + 0361 MCP55 LPC Bridge + 0362 MCP55 LPC Bridge + 147b 12c4 KN9-Ultra Mainboard + 0363 MCP55 LPC Bridge + 0364 MCP55 LPC Bridge + 0365 MCP55 LPC Bridge + 0366 MCP55 LPC Bridge + 0367 MCP55 LPC Bridge + 0368 MCP55 SMBus + 147b 12c4 KN9-Ultra Mainboard + 0369 MCP55 Memory Controller + 147b 12c4 KN9-Ultra Mainboard + 036a MCP55 Memory Controller + 036b MCP55 SMU + 036c MCP55 USB Controller + 147b 12c4 KN9-Ultra Mainboard + 036d MCP55 USB Controller + 147b 12c4 KN9-Ultra Mainboard + 036e MCP55 IDE + 147b 12c4 KN9-Ultra Mainboard + 0370 MCP55 PCI bridge + 0371 MCP55 High Definition Audio + 0372 MCP55 Ethernet + 0373 MCP55 Ethernet + 147b 12c4 KN9-Ultra Mainboard + 0374 MCP55 PCI Express bridge + 0375 MCP55 PCI Express bridge + 0376 MCP55 PCI Express bridge + 0377 MCP55 PCI Express bridge + 0378 MCP55 PCI Express bridge + 037a MCP55 Memory Controller + 037c G70 [GeForce 7800 GS] (rev a2) + 037e MCP55 SATA Controller + 037f MCP55 SATA Controller + 147b 12c4 KN9-Ultra Mainboard + 0390 GeForce 7650 GS + 0391 G70 [GeForce 7600 GT] + 1458 3427 GV-NX76T128D-RH + 0392 G70 [GeForce 7600 GS] + 1462 0622 NX7600GS-T2D256EH + 0393 G70 [GeForce 7300 GT] + 10de 0412 NX7300GT-TD256EH + 1462 0412 NX7300GT-TD256EH + 0394 G70 [GeForce 7600 LE] + 0395 G70 [GeForce 7300 GT] + 0397 GeForce Go 7700 + 0398 G70 [GeForce Go 7600] + 1025 006c Acer 9814 WKMI + 0399 GeForce Go 7600 GT + 039b GeForce Go 7900 SE + 039c Quadro FX 550M + 10de 039c Quadro FX 560M + 039e G73GL [Quadro FX 560] + 03a0 C55 Host Bridge + 03a1 C55 Host Bridge + 03a2 C55 Host Bridge + 03a3 C55 Host Bridge + 03a4 C55 Host Bridge + 03a5 C55 Host Bridge + 03a6 C55 Host Bridge + 03a7 C55 Host Bridge + 03a8 C55 Memory Controller + 03a9 C55 Memory Controller + 03aa C55 Memory Controller + 03ab C55 Memory Controller + 03ac C55 Memory Controller + 03ad C55 Memory Controller + 03ae C55 Memory Controller + 03af C55 Memory Controller + 03b0 C55 Memory Controller + 03b1 C55 Memory Controller + 03b2 C55 Memory Controller + 03b3 C55 Memory Controller + 03b4 C55 Memory Controller + 03b5 C55 Memory Controller + 03b6 C55 Memory Controller + 03b7 C55 PCI Express bridge + 03b8 C55 PCI Express bridge + 03b9 C55 PCI Express bridge + 03ba C55 Memory Controller + 03bb C55 PCI Express bridge + 03bc C55 Memory Controller + 03d0 GeForce 6150SE nForce 430 + 03d1 GeForce 6100 nForce 405 + 03d2 GeForce 6100 nForce 400 + 03d5 GeForce 6100 nForce 420 + 03e0 MCP61 LPC Bridge + 1849 03e0 939NF6G-VSTA Board + 03e1 MCP61 LPC Bridge + 03e2 MCP61 LPC Bridge + 03e3 MCP61 LPC Bridge + 03e4 MCP61 High Definition Audio + 03e5 MCP61 Ethernet + 03e6 MCP61 Ethernet + 03e7 MCP61 SATA Controller + 03e8 MCP61 PCI Express bridge + 1849 03e8 939NF6G-VSTA Board + 03e9 MCP61 PCI Express bridge + 1849 03e9 939NF6G-VSTA Board + 03ea MCP61 Memory Controller + 1849 03ea 939NF6G-VSTA Board + 03eb MCP61 SMBus + 1849 03eb 939NF6G-VSTA Board + 03ec MCP61 IDE + 1849 03ec 939NF6G-VSTA Board + 03ee MCP61 Ethernet + 03ef MCP61 Ethernet + 1849 03ef 939NF6G-VSTA Board + 03f0 MCP61 High Definition Audio + 1849 0888 939NF6G-VSTA Board + 03f1 MCP61 USB Controller + 1849 03f1 939NF6G-VSTA Board + 03f2 MCP61 USB Controller + 1849 03f2 939NF6G-VSTA Board + 03f3 MCP61 PCI bridge + 1849 03f3 939NF6G-VSTA Board + 03f4 MCP61 SMU + 03f5 MCP61 Memory Controller + 1849 03eb 939NF6G-VSTA Board + 03f6 MCP61 SATA Controller + 1849 03f6 939NF6G-VSTA Board + 03f7 MCP61 SATA Controller + 0400 GeForce 8600 GTS + 0401 GeForce 8600GT + 0402 GeForce 8600 GT + 1462 0910 NX8600GT-T2D256EZ + 0403 GeForce 8600 GS + 0404 GeForce 8400 GS + 0405 GeForce 9500M GS + 0407 GeForce 8600M GT + 0408 GeForce 9650M GS + 0409 GeForce 8700M GT + 040a Quadro FX 370 + 040b Quadro NVS 320M + 040c Quadro FX 570M + 040d Quadro FX 1600M + 040e Quadro FX 570 + 040f Quadro FX 1700 + 0420 GeForce 8400 SE + 0421 GeForce 8500 GT + 0422 GeForce 8400 GS + 0423 GeForce 8300 GS + 0424 GeForce 8400 GS + 0425 GeForce 8600M GS + 1025 0121 Aspire 5920G + 0426 G86M [GeForce 8400M GT] + 0427 GeForce 8400M GS + 0428 GeForce 8400M G + 0429 Quadro NVS 140M + 17aa 20d8 ThinkPad T61 + 042a Quadro NVS 130M + 042b Quadro NVS 135M + 042d Quadro FX 360M + 042e GeForce 9300M G + 042f Quadro NVS 290 + 0440 MCP65 LPC Bridge + 0441 MCP65 LPC Bridge + 0442 MCP65 LPC Bridge + 0443 MCP65 LPC Bridge + 0444 MCP65 Memory Controller + 0445 MCP65 Memory Controller + 0446 MCP65 SMBus + 0447 MCP65 SMU + 0448 MCP65 IDE + 0449 MCP65 PCI bridge + 044a MCP65 High Definition Audio + 044b MCP65 High Definition Audio + 044c MCP65 AHCI Controller + 044d MCP65 AHCI Controller + 044e MCP65 AHCI Controller + 044f MCP65 AHCI Controller + 0450 MCP65 Ethernet + 0451 MCP65 Ethernet + 0452 MCP65 Ethernet + 0453 MCP65 Ethernet + 0454 MCP65 USB Controller + 0455 MCP65 USB Controller + 0456 MCP65 USB Controller + 0457 MCP65 USB Controller + 0458 MCP65 PCI Express bridge + 0459 MCP65 PCI Express bridge + 045a MCP65 PCI Express bridge + 045c MCP65 SATA Controller + 045d MCP65 SATA Controller + 045e MCP65 SATA Controller + 045f MCP65 SATA Controller + 0531 GeForce 7150M + 0533 GeForce 7000M (rev a2) + 053a GeForce 7050 PV / nForce 630a + 053b GeForce 7050 PV / nForce 630a + 053e GeForce 7025 + 0541 MCP67 Memory Controller + 0542 MCP67 SMBus + 0543 MCP67 Co-processor + 0547 MCP67 Memory Controller + 1849 0547 ALiveNF7G-HDready + 0548 MCP67 ISA Bridge + 054c MCP67 Ethernet + 1849 054c ALiveNF7G-HDready, MCP67 Gigabit Ethernet + 054d MCP67 Ethernet + 054e MCP67 Ethernet +# forcedeth source code from Nvidi + 054f MCP67 Ethernet + 0550 MCP67 AHCI Controller + 0554 MCP67 AHCI Controller + 0555 MCP67 SATA Controller + 055c MCP67 High Definition Audio + 055d MCP67 High Definition Audio + 055e MCP67 OHCI USB 1.1 Controller + 055f MCP67 EHCI USB 2.0 Controller + 0560 MCP67 IDE Controller + 0561 MCP67 PCI Bridge + 0562 MCP67 PCI Express Bridge + 1849 0562 ALiveNF7G-HDready + 0563 MCP67 PCI Express Bridge + 0568 MCP78S [GeForce 8200] Memory Controller + 0569 MCP78S [GeForce 8200] PCI Express Bridge + 056a GeForce 7100/nForce 630i + 056c MCP73 IDE + 056d MCP73 PCI Express bridge + 056e MCP73 PCI Express bridge + 056f MCP73 PCI Express bridge + 05be Tesla S870 + 0600 GeForce 8800 GTS 512 + 0602 GeForce 8800 GT 512 + 0604 GeForce 9800 GX2 + 0606 GeForce 8800 GS + 0609 GeForce 8800M GTS + 060c GeForce 8800M GTX + 060d GeForce 8800 GS + 0610 GeForce 9600 GSO + 0611 GeForce 8800 GT + 107d 2ab0 Winfast PX8800 GT PCI-E + 0612 GeForce 9800 GTX + 061a Quadro FX 3700 + 061c Quadro FX 3600M + 0622 G94 [GeForce 9600 GT] + 1458 3481 GV-NX96T512HP + 0623 GeForce 9600 GS + 0647 GeForce 9600M GT + 0648 GeForce 9600M GS + 0649 GeForce 9600M GT + 064b GeForce 9500M G + 06e2 GeForce 8400 GS + 06e4 GeForce 8400 GS + 06e5 GeForce 9300M GS + 06e8 GeForce 9200M GS + 06e9 GeForce 9300M GS + 0751 MCP78S [GeForce 8200] Memory Controller + 0752 MCP78S [GeForce 8200] SMBus + 0753 MCP78S [GeForce 8200] Co-Processor + 0754 MCP78S [GeForce 8200] Memory Controller + 0759 MCP78S [GeForce 8200] IDE + 075a MCP78S [GeForce 8200] PCI Bridge + 075b MCP78S [GeForce 8200] PCI Express Bridge + 075c MCP78S [GeForce 8200] LPC Bridge + 0760 MCP78S [GeForce 8200] Ethernet + 0761 MCP77 Ethernet + 0762 MCP77 Ethernet + 0763 MCP77 Ethernet + 0778 MCP78S [GeForce 8200] PCI Express Bridge + 077b MCP78S [GeForce 8200] OHCI USB 1.1 Controller + 077c MCP78S [GeForce 8200] EHCI USB 2.0 Controller + 077d MCP78S [GeForce 8200] OHCI USB 1.1 Controller + 077e MCP78S [GeForce 8200] EHCI USB 2.0 Controller + 07c1 MCP73 Host Bridge + 07c2 MCP73 Host Bridge + 07c5 MCP73 Host Bridge + 07c8 MCP73 Memory Controller + 07cb nForce 630i memory controller + 07cd nForce 630i memory controller + 07ce nForce 630i memory controller + 07cf nForce 630i memory controller + 07d0 nForce 630i memory controller + 07d1 nForce 630i memory controller + 07d2 nForce 630i memory controller + 07d3 nForce 630i memory controller + 07d6 nForce 630i memory controller + 07d7 MCP73 LPC Bridge + 07d8 MCP73 SMBus + 07d9 MCP73 Memory Controller + 07da MCP73 Co-processor + 07dc MCP73 Ethernet + 07dd MCP73 Ethernet + 07de MCP73 Ethernet + 07df MCP73 Ethernet + 07e0 GeForce 7150 / nForce 630i + 07e1 GeForce 7100/nForce 630i + 07e2 GeForce 7050 / nForce 630i + 07e3 GeForce 7050/nForce 610i + 07e5 GeForce 7100 / nForce 620i + 07f4 GeForce 7100/nForce 630i + 07f8 MCP73 SATA RAID Controller + 07fc MCP73 High Definition Audio + 10de 07fc MCP73 High Definition Audio + 07fe GeForce 7100/nForce 630i + 0844 GeForce 9100M G + 0848 GeForce 8300 + 0849 GeForce 8200 + 084a nForce 730a + 084b GeForce 8200 + 084f GeForce 8100 / nForce 720a + 0ab0 MCP79 Ethernet + 0ab1 MCP79 Ethernet + 0ab2 MCP79 Ethernet + 0ab3 MCP79 Ethernet + 0ad4 MCP78S [GeForce 8200] AHCI Controller + c615 G70 [GeForce 7600 GT] +10df Emulex Corporation + 1ae5 LP6000 Fibre Channel Host Adapter + e100 Proteus-X: LightPulse IOV Fibre Channel Host Adapter + e180 Proteus-X: LightPulse IOV Fibre Channel Host Adapter + f011 Saturn: LightPulse Fibre Channel Host Adapter + f015 Saturn: LightPulse Fibre Channel Host Adapter + f085 LP850 Fibre Channel Host Adapter + f095 LP952 Fibre Channel Host Adapter + f098 LP982 Fibre Channel Host Adapter + f0a1 Thor LightPulse Fibre Channel Host Adapter + f0a5 Thor LightPulse Fibre Channel Host Adapter + f0b5 Viper LightPulse Fibre Channel Host Adapter + f0d1 Helios LightPulse Fibre Channel Host Adapter + f0d5 Helios LightPulse Fibre Channel Host Adapter + f0e1 Zephyr LightPulse Fibre Channel Host Adapter + f0e5 Zephyr LightPulse Fibre Channel Host Adapter + f0f5 Neptune LightPulse Fibre Channel Host Adapter + f100 Saturn-X: LightPulse Fibre Channel Host Adapter + f700 LP7000 Fibre Channel Host Adapter + f701 LP7000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2) + f800 LP8000 Fibre Channel Host Adapter + f801 LP8000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2) + f900 LP9000 Fibre Channel Host Adapter + f901 LP9000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2) + f980 LP9802 Fibre Channel Host Adapter + f981 LP9802 Fibre Channel Host Adapter Alternate ID + f982 LP9802 Fibre Channel Host Adapter Alternate ID + fa00 Thor-X LightPulse Fibre Channel Host Adapter + fb00 Viper LightPulse Fibre Channel Host Adapter + fc00 Thor-X LightPulse Fibre Channel Host Adapter + 10df fc00 LP10000 LightPulse Fibre Channel Host Adapter + fc10 Helios-X LightPulse Fibre Channel Host Adapter + fc20 Zephyr-X LightPulse Fibre Channel Host Adapter + fc40 Saturn-X: LightPulse Fibre Channel Host Adapter + fc50 Proteus-X: LightPulse IOV Fibre Channel Host Adapter + fd00 Helios-X LightPulse Fibre Channel Host Adapter + fe00 Zephyr-X LightPulse Fibre Channel Host Adapter + fe05 Zephyr-X: LightPulse FCoE Adapter + ff00 Neptune LightPulse Fibre Channel Host Adapter +10e0 Integrated Micro Solutions Inc. + 5026 IMS5026/27/28 + 5027 IMS5027 + 5028 IMS5028 + 8849 IMS8849 + 8853 IMS8853 + 9128 IMS9128 [Twin turbo 128] +10e1 Tekram Technology Co.,Ltd. + 0391 TRM-S1040 + 10e1 0391 DC-315U SCSI-3 Host Adapter + 690c DC-690c + dc29 DC-290 +10e2 Aptix Corporation +10e3 Tundra Semiconductor Corp. + 0000 CA91C042 [Universe] + 0108 Tsi108 Host Bridge for Single PowerPC + 0148 Tsi148 [Tempe] + 1775 1100 VR11 Single Board Computer + 0860 CA91C860 [QSpan] + 0862 CA91C862A [QSpan-II] + 8260 CA91L8200B [Dual PCI PowerSpan II] + 8261 CA91L8260B [Single PCI PowerSpan II] + a108 Tsi109 Host Bridge for Dual PowerPC +10e4 Tandem Computers + 8029 Realtek 8029 Network Card +10e5 Micro Industries Corporation +10e6 Gainbery Computer Products Inc. +10e7 Vadem +10e8 Applied Micro Circuits Corp. + 1072 INES GPIB-PCI (AMCC5920 based) + 2011 Q-Motion Video Capture/Edit board + 4750 S5930 [Matchmaker] + 5920 S5920 + 8043 LANai4.x [Myrinet LANai interface chip] + 8062 S5933_PARASTATION + 807d S5933 [Matchmaker] + 8088 Kongsberg Spacetec Format Synchronizer + 8089 Kongsberg Spacetec Serial Output Board + 809c S5933_HEPC3 + 80b9 Harmonix Hi-Card P8 (4x active ISDN BRI) + 80d7 PCI-9112 + 80d9 PCI-9118 + 80da PCI-9812 + 80fc APCI1500 Signal processing controller (16 dig. inputs + 16 dig. outputs) + 811a PCI-IEEE1355-DS-DE Interface + 814c Fastcom ESCC-PCI (Commtech, Inc.) + 8170 S5933 [Matchmaker] (Chipset Development Tool) + 81e6 Multimedia video controller + 828d APCI3001 Signal processing controller (up to 16 analog inputs) + 8291 Fastcom 232/8-PCI (Commtech, Inc.) + 82c4 Fastcom 422/4-PCI (Commtech, Inc.) + 82c5 Fastcom 422/2-PCI (Commtech, Inc.) + 82c6 Fastcom IG422/1-PCI (Commtech, Inc.) + 82c7 Fastcom IG232/2-PCI (Commtech, Inc.) + 82ca Fastcom 232/4-PCI (Commtech, Inc.) + 82db AJA HDNTV HD SDI Framestore + 82e2 Fastcom DIO24H-PCI (Commtech, Inc.) + 8406 PCIcanx/PCIcan CAN interface [Kvaser AB] + 8407 PCIcan II CAN interface (A1021, PCB-07, PCB-08) [Kvaser AB] + 8851 S5933 on Innes Corp FM Radio Capture card +10e9 Alps Electric Co., Ltd. +10ea Intergraphics Systems + 1680 IGA-1680 + 1682 IGA-1682 + 1683 IGA-1683 + 2000 CyberPro 2000 + 2010 CyberPro 2000A + 5000 CyberPro 5000 + 5050 CyberPro 5050 + 5202 CyberPro 5202 +# CyberPro5202 Audio Function + 5252 CyberPro5252 +10eb Artists Graphics + 0101 3GA + 8111 Twist3 Frame Grabber +10ec Realtek Semiconductor Co., Ltd. + 0139 Zonet Zen3200 + 0260 Realtek 260 High Definition Audio + 0261 Realtek 261 High Definition Audio + 0262 Realtek 262 High Definition Audio + 0280 Realtek 280 High Definition Audio + 0660 Realtek 660 High Definition Audio + 0662 Realtek 662 High Definition Audio + 0861 Realtek 861 High Definition Audio + 0862 Realtek 862 High Definition Audio + 0880 Realtek 880 High Definition Audio + 0883 Realtek 883 High Definition Audio + 1025 1605 TravelMate 5600 series + 0885 Realtek 885 High Definition Audio + 0888 Realtek 888 High Definition Audio + 8029 RTL-8029(AS) + 10b8 2011 EZ-Card (SMC1208) + 10ec 8029 RTL-8029(AS) + 1113 1208 EN1208 + 1186 0300 DE-528 + 1259 2400 AT-2400 + 8129 RTL-8129 + 10ec 8129 RT8129 Fast Ethernet Adapter + 11ec 8129 RT8129 Fast Ethernet Adapter + 8136 RTL8101E/RTL8102E PCI Express Fast Ethernet controller + 8138 RT8139 (B/C) Cardbus Fast Ethernet Adapter + 10ec 8138 RT8139 (B/C) Fast Ethernet Adapter + 8139 RTL-8139/8139C/8139C+ + 0357 000a TTP-Monitoring Card V2.0 + 1025 005a TravelMate 290 + 1025 8920 ALN-325 + 1025 8921 ALN-325 + 103c 006a NX9500 + 103c 30d9 Presario C700 + 1043 1045 L8400B or L3C/S notebook + 1043 8109 P5P800-MX Mainboard + 1071 8160 MIM2000 + 10bd 0320 EP-320X-R + 10ec 8139 RT8139 + 10f7 8338 Panasonic CF-Y5 laptop + 1113 ec01 FNC-0107TX + 1186 1300 DFE-538TX + 1186 1320 SN5200 + 1186 8139 DRN-32TX + 11f6 8139 FN22-3(A) LinxPRO Ethernet Adapter + 1259 2500 AT-2500TX + 1259 2503 AT-2500TX/ACPI + 1395 2100 AMB2100 + 1429 d010 ND010/ND012 + 1432 9130 EN-9130TX + 1436 8139 RT8139 + 144d c00c P30/P35 notebook + 1458 e000 GA-7VM400M/7VT600 Motherboard + 1462 217c Aspire L250 + 1462 788c 865PE Neo2-V Mainboard + 146c 1439 FE-1439TX + 1489 6001 GF100TXRII + 1489 6002 GF100TXRA + 149c 139a LFE-8139ATX + 149c 8139 LFE-8139TX + 14cb 0200 LNR-100 Family 10/100 Base-TX Ethernet + 1565 2300 P4TSV Onboard LAN (RTL8100B) + 1695 9001 Onboard RTL8101L 10/100 MBit + 1799 5000 F5D5000 PCI Card/Desktop Network PCI Card + 187e 3303 FN312 + 1904 8139 RTL8139D Fast Ethernet Adapter + 2646 0001 KNE120TX + 8e2e 7000 KF-230TX + 8e2e 7100 KF-230TX/2 + a0a0 0007 ALN-325C + 8167 RTL-8110SC/8169SC Gigabit Ethernet + 1462 235c P965 Neo MS-7235 mainboard + 1462 236c 945P Neo3-F motherboard + 8168 RTL8111/8168B PCI Express Gigabit Ethernet controller + 8169 RTL-8169 Gigabit Ethernet + 1025 0079 Aspire 5024WLMi + 1259 c107 CG-LAPCIGT + 1371 434e ProG-2000L + 1458 e000 GA-8I915ME-G Mainboard + 1462 030c K8N Neo-FSR v2.0 mainboard + 1462 702c K8T NEO 2 motherboard + 1462 7094 K8T Neo2-F V2.0 + 1734 1091 D2030-A1 + a0a0 0449 AK86-L motherboard + 8180 RTL8180L 802.11b MAC + 8185 RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller + 8197 SmartLAN56 56K Modem +10ed Ascii Corporation + 7310 V7310 +10ee Xilinx Corporation + 0205 Wildcard TE205P + 0210 Wildcard TE210P + 0314 Wildcard TE405P/TE410P (1st Gen) + 0405 Wildcard TE405P (2nd Gen) + 0410 Wildcard TE410P (2nd Gen) + 3fc0 RME Digi96 + 3fc1 RME Digi96/8 + 3fc2 RME Digi96/8 Pro + 3fc3 RME Digi96/8 Pad + 3fc4 RME Digi9652 (Hammerfall) + 3fc5 RME Hammerfall DSP + 3fc6 RME Hammerfall DSP MADI + 8380 Ellips ProfiXpress Profibus Master + 8381 Ellips Santos Frame Grabber + d154 Copley Controls CAN card (PCI-CAN-02) +# SED is assigned Xilinx PCI device IDs ebf0 through ebff + ebf0 SED Systems Modulator/Demodulator + ebf1 SED Systems Audio Interface Card + ebf2 SED Systems Common PCI Interface +10ef Racore Computer Products, Inc. + 8154 M815x Token Ring Adapter +10f0 Peritek Corporation +10f1 Tyan Computer + 2865 Tyan Thunder K8E S2865 +10f2 Achme Computer, Inc. +10f3 Alaris, Inc. +10f4 S-MOS Systems, Inc. +10f5 NKK Corporation + a001 NDR4000 [NR4600 Bridge] +10f6 Creative Electronic Systems SA +10f7 Matsushita Electric Industrial Co., Ltd. +10f8 Altos India Ltd +10f9 PC Direct +10fa Truevision + 000c TARGA 1000 +10fb Thesys Gesellschaft fuer Mikroelektronik mbH + 186f TH 6255 +10fc I-O Data Device, Inc. +# What's in the cardbus end of a Sony ACR-A01 card, comes with newer Vaio CD-RW drives + 0003 Cardbus IDE Controller + 0005 Cardbus SCSI CBSC II +10fd Soyo Computer, Inc +10fe Fast Multimedia AG +10ff NCube +1100 Jazz Multimedia +1101 Initio Corporation + 0002 INI-920 Ultra SCSI Adapter + 1060 INI-A100U2W + 1622 INI-1623 PCI SATA-II Controller + 9100 INI-9100/9100W + 9400 INI-940 Fast Wide SCSI Adapter + 9401 INI-935 Fast Wide SCSI Adapter + 9500 INI-950 SCSI Adapter + 9502 INI-950P Ultra Wide SCSI Adapter +1102 Creative Labs + 0002 SB Live! EMU10k1 + 100a 1102 SB Live! 5.1 Digital OEM SB0220 EMU10K1-JFF + 1102 0020 CT4850 SBLive! Value + 1102 0021 CT4620 SBLive! + 1102 002f SBLive! mainboard implementation + 1102 100a SB Live! 5.1 Digital OEM [SB0220] + 1102 4001 E-mu APS + 1102 8022 CT4780 SBLive! Value + 1102 8023 CT4790 SoundBlaster PCI512 + 1102 8024 CT4760 SBLive! + 1102 8025 SBLive! Mainboard Implementation + 1102 8026 CT4830 SBLive! Value + 1102 8027 CT4832 SBLive! Value + 1102 8028 CT4760 SBLive! OEM version + 1102 8031 CT4831 SBLive! Value + 1102 8040 CT4760 SBLive! + 1102 8051 CT4850 SBLive! Value + 1102 8061 SBLive! Player 5.1 + 1102 8064 SBLive! 5.1 Model SB0100 + 1102 8065 SBLive! 5.1 Digital Model SB0220 + 1102 8067 SBLive! 5.1 eMicro 28028 + 0004 SB Audigy + 1102 0051 SB0090 Audigy Player + 1102 0053 SB0090 Audigy Player/OEM + 1102 0058 SB0090 Audigy Player/OEM + 1102 1002 SB Audigy2 Platinum + 1102 1007 SB0240 Audigy 2 Platinum 6.1 + 1102 1009 SB Audigy2 OEM HP + 1102 2002 SB Audigy 2 ZS (SB0350) + 1102 4001 E-MU 1010 + 0005 SB X-Fi + 1102 0021 X-Fi Platinum + 1102 002c X-Fi XtremeGamer FATAL1TY PRO + 1102 1003 X-Fi XtremeMusic + 0006 [SB Live! Value] EMU10k1X + 0007 SB Audigy LS + 1102 0007 SBLive! 24bit + 1102 1001 SB0310 Audigy LS + 1102 1002 SB0312 Audigy LS + 1102 1006 SB0410 SBLive! 24-bit + 1102 1012 SB0790 X-Fi XA + 1102 1013 Soundblaster X-Fi Xtreme Audio + 1462 1009 K8N Diamond + 0008 SB0400 Audigy2 Value + 1102 0008 EMU0404 Digital Audio System + 0009 [SB X-Fi Xtreme Audio] CA0110-IBG + 1102 0010 [SB X-Fi Xtreme Audio] CA0110-IBG + 4001 SB Audigy FireWire Port + 1102 0010 SB Audigy FireWire Port + 7002 SB Live! Game Port + 1102 0020 Gameport Joystick + 7003 SB Audigy Game Port + 1102 0040 SB Audigy MIDI/Game Port + 1102 0060 SB Audigy2 MIDI/Game Port + 7004 [SB Live! Value] Input device controller + 7005 SB Audigy LS Game Port + 1102 1001 SB0310 Audigy LS MIDI/Game port + 1102 1002 SB0312 Audigy LS MIDI/Game port + 8064 SB0100 [SBLive! 5.1 OEM] + 8938 Ectiva EV1938 + 1033 80e5 SlimTower-Jim (NEC) + 1071 7150 Mitac 7150 + 110a 5938 Siemens Scenic Mobile 510PIII + 13bd 100c Ceres-C (Sharp, Intel BX) + 13bd 100d Sharp, Intel Banister + 13bd 100e TwinHead P09S/P09S3 (Sharp) + 13bd f6f1 Marlin (Sharp) + 14ff 0e70 P88TE (TWINHEAD INTERNATIONAL Corp) + 14ff c401 Notebook 9100/9200/2000 (TWINHEAD INTERNATIONAL Corp) + 156d b400 G400 - Geo (AlphaTop (Taiwan)) + 156d b550 G560 (AlphaTop (Taiwan)) + 156d b560 G560 (AlphaTop (Taiwan)) + 156d b700 G700/U700 (AlphaTop (Taiwan)) + 156d b795 G795 (AlphaTop (Taiwan)) + 156d b797 G797 (AlphaTop (Taiwan)) +# nee Triones Technologies, Inc. +1103 HighPoint Technologies, Inc. + 0003 HPT343/345/346/363 + 0004 HPT366/368/370/370A/372/372N + 1103 0001 HPT370A + 1103 0004 HPT366 UDMA66 (r1) / HPT368 UDMA66 (r2) / HPT370 UDMA100 (r3) / HPT370 UDMA100 RAID (r4) + 1103 0005 HPT370 UDMA100 + 1103 0006 HPT302/302N + 0005 HPT372A/372N + 0006 HPT302/302N + 0007 HPT371/371N + 0008 HPT374 + 0009 HPT372N + 1720 RocketRAID 1720 (2x SATA II RAID Controller) + 1740 RocketRAID 1740 + 1742 RocketRAID 1742 + 2300 RocketRAID 230x 4 Port SATA-II Controller + 2310 RocketRAID 2310 4 Port SATA-II Controller + 2320 RocketRAID 2320 SATA-II Controller + 2322 RocketRAID 2322 SATA-II Controller + 2340 RocketRAID 2340 16 Port SATA-II Controller + 2640 RocketRAID 2640 SAS/SATA Controller + 3220 RocketRAID 3220 + 3320 RocketRAID 3320 +1104 RasterOps Corp. +1105 Sigma Designs, Inc. + 1105 REALmagic Xcard MPEG 1/2/3/4 DVD Decoder + 8300 REALmagic Hollywood Plus DVD Decoder + 8400 EM840x REALmagic DVD/MPEG-2 Audio/Video Decoder + 8401 EM8401 REALmagic DVD/MPEG-2 A/V Decoder + 8470 EM8470 REALmagic DVD/MPEG-4 A/V Decoder + 8471 EM8471 REALmagic DVD/MPEG-4 A/V Decoder + 8475 EM8475 REALmagic DVD/MPEG-4 A/V Decoder + 1105 0001 REALmagic X-Card + 8476 EM8476 REALmagic DVD/MPEG-4 A/V Decoder + 127d 0000 CineView II + 8485 EM8485 REALmagic DVD/MPEG-4 A/V Decoder + 8486 EM8486 REALmagic DVD/MPEG-4 A/V Decoder + c622 EM8622L MPEG-4.10 (H.264) and SMPTE 421M (VC-1) A/V Decoder +1106 VIA Technologies, Inc. + 0102 Embedded VIA Ethernet Controller + 0130 VT6305 1394.A Controller + 0198 P4X600 Host Bridge + 0204 K8M800 Host Bridge + 0208 PT890 Host Bridge + 0238 K8T890 Host Bridge + 0258 PT880 Host Bridge + 0259 CN333/CN400/PM880 Host Bridge + 0269 KT880 Host Bridge + 0282 K8T800Pro Host Bridge + 1043 80a3 A8V Deluxe + 0290 K8M890 Host Bridge + 0293 PM896 Host Bridge + 0296 P4M800 Host Bridge + 0305 VT8363/8365 [KT133/KM133] + 1019 0987 K7VZA Mainboard + 1043 8033 A7V Mainboard + 1043 803e A7V-E Mainboard + 1043 8042 A7V133/A7V133-C Mainboard + 147b a401 KT7/KT7-RAID/KT7A/KT7A-RAID Mainboard + 0308 PT880 Ultra/PT894 Host Bridge + 1043 8199 P4V800D-X Mainboard + 0314 CN700/VN800/P4M800CE/Pro Host Bridge + 0324 CX700/VX700 Host Bridge + 0327 P4M890 Host Bridge + 0336 K8M890CE Host Bridge + 0340 PT900 Host Bridge + 0351 K8T890CF Host Bridge + 0353 VX800 Host Bridge + 0364 CN896/VN896/P4M900 Host Bridge + 1043 81ce P5VD2-VM mothervoard + 0391 VT8371 [KX133] + 0415 PATA IDE Host Controller + 0501 VT8501 [Apollo MVP4] + 0505 VT82C505 +# Shares chip with :0576. The VT82C576M has :1571 instead of :0561. + 0561 VT82C576MV + 0571 VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE + 1019 0985 P6VXA Motherboard + 1019 0a81 L7VTA v1.0 Motherboard (KT400-8235) + 1043 8052 VT8233A Bus Master ATA100/66/33 IDE + 1043 808c A7V8X / A7V333 motherboard + 1043 80a1 A7V8X-X motherboard rev. 1.01 + 1043 80ed A7V600/K8V-X/A8V Deluxe motherboard + 1106 0571 VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE + 1179 0001 Magnia Z310 + 1297 f641 FX41 motherboard + 1458 5002 GA-7VAX Mainboard + 1462 5901 KT6 Delta-FIS2R (MS-6590) + 1462 7020 K8T NEO 2 motherboard + 1462 7094 K8T Neo2-F V2.0 + 1462 7120 KT4AV motherboard + 1462 7181 K8MM3-V mainboard + 147b 1407 KV8-MAX3 motherboard + 1849 0571 K7VT2/K7VT6 motherboard + 0576 VT82C576 3V [Apollo Master] + 0581 CX700/VX700 RAID Controller +# Upgrade bios to get correct ID: 5324 instead of 0581 + 1106 0581 Wrong IDE ID + 0585 VT82C585VP [Apollo VP1/VPX] + 0586 VT82C586/A/B PCI-to-ISA [Apollo VP] + 1106 0000 MVP3 ISA Bridge + 0591 VT8237A SATA 2-Port Controller + 0595 VT82C595 [Apollo VP2] + 0596 VT82C596 ISA [Mobile South] + 1106 0000 VT82C596/A/B PCI to ISA Bridge + 1458 0596 VT82C596/A/B PCI to ISA Bridge + 0597 VT82C597 [Apollo VP3] + 0598 VT82C598 [Apollo MVP3] + 0601 VT8601 [Apollo ProMedia] + 0605 VT8605 [ProSavage PM133] + 1043 802c CUV4X mainboard + 0680 VT82C680 [Apollo P6] + 0686 VT82C686 [Apollo Super South] + 1019 0985 P6VXA Motherboard + 1043 802c CUV4X mainboard + 1043 8033 A7V Mainboard + 1043 803e A7V-E Mainboard + 1043 8040 A7M266 Mainboard + 1043 8042 A7V133/A7V133-C Mainboard + 1106 0000 VT82C686/A PCI to ISA Bridge + 1106 0686 VT82C686/A PCI to ISA Bridge + 1179 0001 Magnia Z310 + 147b a702 KG7-Lite Mainboard + 0691 VT82C693A/694x [Apollo PRO133x] + 1019 0985 P6VXA Motherboard + 1179 0001 Magnia Z310 + 1458 0691 VT82C691 Apollo Pro System Controller + 0693 VT82C693 [Apollo Pro Plus] + 0698 VT82C693A [Apollo Pro133 AGP] + 0926 VT82C926 [Amazon] + 1000 VT82C570MV + 1106 VT82C570MV + 1204 K8M800 Host Bridge + 1208 PT890 Host Bridge + 1238 K8T890 Host Bridge + 1258 PT880 Host Bridge + 1259 CN333/CN400/PM880 Host Bridge + 1269 KT880 Host Bridge + 1282 K8T800Pro Host Bridge + 1290 K8M890 Host Bridge + 1293 PM896 Host Bridge + 1296 P4M800 Host Bridge + 1308 PT894 Host Bridge + 1314 CN700/VN800/P4M800CE/Pro Host Bridge + 1324 CX700/VX700 Host Bridge + 1327 P4M890 Host Bridge + 1336 K8M890CE Host Bridge + 1340 PT900 Host Bridge + 1351 VT3351 Host Bridge + 1353 VX800/VX820 Error Reporting + 1364 CN896/VN896/P4M900 Host Bridge + 1571 VT82C576M/VT82C586 + 1595 VT82C595/97 [Apollo VP2/97] + 2106 VIA Rhine Family Fast Ethernet Adapter (VT6105) + 2204 K8M800 Host Bridge + 2208 PT890 Host Bridge + 2238 K8T890 Host Bridge + 2258 PT880 Host Bridge + 2259 CN333/CN400/PM880 CPU Host Bridge + 2269 KT880 Host Bridge + 2282 K8T800Pro Host Bridge + 2290 K8M890 Host Bridge + 2293 PM896 Host Bridge + 2296 P4M800 Host Bridge + 2308 PT894 Host Bridge + 2314 CN700/VN800/P4M800CE/Pro Host Bridge + 2324 CX700/VX700 Host Bridge + 2327 P4M890 Host Bridge + 2336 K8M890CE Host Bridge + 2340 PT900 Host Bridge + 2351 VT3351 Host Bridge + 2353 VX800/VX820 Host Bus Control + 2364 CN896/VN896/P4M900 Host Bridge + 287a VT8251 PCI to PCI Bridge + 287b VT8251 Host Bridge + 287c VT8251 PCIE Root Port + 287d VT8251 PCIE Root Port + 287e VT8251 Ultra VLINK Controller + 3022 CLE266 + 3038 VT82xxxxx UHCI USB 1.1 Controller + 0925 1234 VA-502 Mainboard + 1019 0985 P6VXA Motherboard + 1019 0a81 L7VTA v1.0 Motherboard (KT400-8235) + 1043 8080 A7V333 motherboard + 1043 808c VT6202 USB2.0 4 port controller + 1043 80a1 A7V8X-X motherboard + 1043 80ed A7V600/K8V-X/A8V Deluxe motherboard + 1179 0001 Magnia Z310 + 1458 5004 GA-7VAX Mainboard + 1462 5901 KT6 Delta-FIS2R (MS-6590) + 1462 7020 K8T NEO 2 motherboard + 1462 7094 K8T Neo2-F V2.0 + 1462 7120 KT4AV motherboard + 1462 7181 K8MM3-V mainboard + 147b 1407 KV8-MAX3 motherboard + 182d 201d CN-029 USB2.0 4 port PCI Card + 1849 3038 K7VT6 + 3040 VT82C586B ACPI + 3043 VT86C100A [Rhine] + 10bd 0000 VT86C100A Fast Ethernet Adapter + 1106 0100 VT86C100A Fast Ethernet Adapter + 1186 1400 DFE-530TX rev A + 3044 VT6306 Fire II IEEE 1394 OHCI Link Layer Controller + 0010 0001 IEEE 1394 4port DCST 1394-3+1B + 1025 005a TravelMate 290 + 1043 808a A8V/A8N/P4P800 series motherboard + 1458 1000 GA-7VT600-1394 Motherboard + 1462 207d K8NGM2 series motherboard + 1462 217d Aspire L250 + 1462 590d KT6 Delta-FIS2R (MS-6590) + 1462 702d K8T NEO 2 motherboard + 1462 971d MS-6917 + 3050 VT82C596 Power Management + 3051 VT82C596 Power Management + 3053 VT6105M [Rhine-III] + 3057 VT82C686 [Apollo Super ACPI] + 1019 0985 P6VXA Motherboard + 1019 0987 K7VZA Motherboard + 1043 8033 A7V Mainboard + 1043 803e A7V-E Mainboard + 1043 8040 A7M266 Mainboard + 1043 8042 A7V133/A7V133-C Mainboard + 1179 0001 Magnia Z310 + 3058 VT82C686 AC97 Audio Controller + 0e11 0097 SoundMax Digital Integrated Audio + 0e11 b194 Soundmax integrated digital audio + 1019 0985 P6VXA Motherboard + 1019 0987 K7VZA Motherboard + 1043 1106 A7V133/A7V133-C Mainboard + 1106 4511 Onboard Audio on EP7KXA + 1458 7600 Onboard Audio + 1462 3091 MS-6309 Onboard Audio + 1462 3300 MS-6330 Onboard Audio + 15dd 7609 Onboard Audio + 3059 VT8233/A/8235/8237 AC97 Audio Controller + 1019 0a81 L7VTA v1.0 Motherboard (KT400-8235) + 1019 1877 K8M800-M2 (V2.0) onboard audio + 1043 8095 A7V8X Motherboard (Realtek ALC650 codec) + 1043 80a1 A7V8X-X Motherboard + 1043 80b0 A7V600/K8V-X/K8V Deluxe motherboard (ADI AD1980 codec [SoundMAX]) + 1043 812a A8V Deluxe motherboard (Realtek ALC850 codec) + 10ec 8168 High Definition Audio + 1106 3059 L7VMM2 Motherboard + 1106 4161 K7VT2 motherboard + 1106 4170 PCPartner P4M800-8237R Motherboard + 1106 4552 Soyo KT-600 Dragon Plus (Realtek ALC 650) + 1297 c160 FX41 motherboard (Realtek ALC650 codec) + 1413 147b KV8 Pro motherboard onboard audio + 1458 a002 GA-7VAX Onboard Audio (Realtek ALC650) + 1462 0080 K8T NEO 2 motherboard + 1462 3800 KT266 onboard audio + 1462 5901 KT6 Delta-FIS2R (MS-6590) + 1462 7181 K8MM3-V mainboard + 147b 1407 KV8-MAX3 motherboard + 1695 300c EP-8KRA2+ Mainboard + 1849 0850 ASRock 775Dual-880 Pro onboard audio (Realtek ALC850) + 1849 9739 P4VT8 Mainboard (C-Media CMI9739A codec) + 1849 9761 K7VT6 motherboard + 4005 4710 MSI K7T266 Pro2-RU (MSI-6380 v2) onboard audio (Realtek/ALC 200/200P) + a0a0 01b6 AK77-8XN onboard audio + a0a0 0342 AK86-L motherboard + 3065 VT6102 [Rhine-II] + 1043 80a1 A7V8X-X Motherboard + 1043 80ed A7V600-X Motherboard + 1106 0102 VT6102 [Rhine II] Embeded Ethernet Controller on VT8235 + 1186 1400 DFE-530TX rev A + 1186 1401 DFE-530TX rev B + 13b9 1421 LD-10/100AL PCI Fast Ethernet Adapter (rev.B) + 1462 7061 MS-7061 + 1462 7181 K8MM3-V mainboard + 147b 1c09 NV7 Motherboard + 1695 3005 VT6103 + 1695 300c Realtek ALC655 sound chip + 1849 3065 K7VT6 motherboard +# This hosts more than just the Intel 537 codec, it also hosts PCtel (SIL33) and SmartLink (SIL34) codecs + 3068 AC'97 Modem Controller + 1462 309e MS-6309 Saturn Motherboard + 3074 VT8233 PCI to ISA Bridge + 1043 8052 VT8233A + 3091 VT8633 [Apollo Pro266] + 3099 VT8366/A/7 [Apollo KT266/A/333] + 1043 8064 A7V266-E Mainboard + 1043 807f A7V333 Mainboard + 1849 3099 K7VT2 motherboard + 3101 VT8653 Host Bridge + 3102 VT8662 Host Bridge + 3103 VT8615 Host Bridge + 3104 USB 2.0 + 1019 0a81 L7VTA v1.0 Motherboard (KT400-8235) + 1043 808c A7V8X motherboard + 1043 80a1 A7V8X-X motherboard rev 1.01 + 1043 80ed A7V600/K8V-X/A8V Deluxe motherboard + 1297 f641 FX41 motherboard + 1458 5004 GA-7VAX Mainboard + 1462 5901 KT6 Delta-FIS2R (MS-6590) + 1462 7020 K8T NEO 2 motherboard + 1462 7094 K8T Neo2-F V2.0 + 1462 7120 KT4AV motherboard + 1462 7181 K8MM3-V mainboard + 147b 1407 KV8-MAX3 motherboard + 182d 201d CN-029 USB 2.0 4 port PCI Card + 1849 3104 K7VT6 motherboard + 3106 VT6105/VT6106S [Rhine-III] + 1106 0105 VT6106S [Rhine-III] + 1186 1403 DFE-530TX rev C + 1186 1406 DFE-530TX+ rev F2 + 1186 1407 DFE-538TX + 3108 K8M800/K8N800/K8N800A [S3 UniChrome Pro] + 3109 VT8233C PCI to ISA Bridge + 3112 VT8361 [KLE133] Host Bridge + 3113 VPX/VPX2 PCI to PCI Bridge Controller + 3116 VT8375 [KM266/KL266] Host Bridge + 1297 f641 FX41 motherboard + 3118 CN400/PM800/PM880/PN800/PN880 [S3 UniChrome Pro] + 3119 VT6120/VT6121/VT6122 Gigabit Ethernet Adapter + 3122 VT8623 [Apollo CLE266] integrated CastleRock graphics + 3123 VT8623 [Apollo CLE266] + 3128 VT8753 [P4X266 AGP] + 3133 VT3133 Host Bridge + 3147 VT8233A ISA Bridge + 1043 808c A7V333 motherboard + 3148 P4M266 Host Bridge + 3149 VIA VT6420 SATA RAID Controller + 1043 80ed A7V600/K8V Deluxe/K8V-X/A8V Deluxe motherboard + 1458 b003 GA-7VM400AM(F) Motherboard + 1462 5901 KT6 Delta-FIS2R (MS-6590) + 1462 7020 K8T Neo 2 Motherboard + 1462 7094 K8T Neo2-F V2.0 + 1462 7181 K8MM3-V mainboard + 147b 1407 KV8-MAX3 motherboard + 147b 1408 KV7 + 1849 3149 K7VT6 motherboard + a0a0 04ad AK86-L motherboard + 3156 P/KN266 Host Bridge + 3157 CX700/VX700 [S3 UniChrome Pro] + 3164 VT6410 ATA133 RAID controller + 1043 80f4 P4P800 Mainboard Deluxe ATX + 1462 7028 915P/G Neo2 + 3168 P4X333/P4X400/PT800 AGP Bridge + 1849 3168 P4VT8 Mainboard + 3177 VT8235 ISA Bridge + 1019 0a81 L7VTA v1.0 Motherboard (KT400-8235) + 1043 808c A7V8X motherboard + 1043 80a1 A7V8X-X motherboard + 1106 0000 KT4AV motherboard + 1297 f641 FX41 motherboard + 1458 5001 GA-7VAX Mainboard + 1849 3177 K7VT2 motherboard + 3178 ProSavageDDR P4N333 Host Bridge + 3188 VT8385 [K8T800 AGP] Host Bridge + 1043 80a3 K8V Deluxe/K8V-X motherboard + 147b 1407 KV8-MAX3 motherboard + 3189 VT8377 [KT400/KT600 AGP] Host Bridge + 1043 807f A7V8X motherboard + 1106 0000 KT4AV motherboard (KT400A) + 1458 5000 GA-7VAX Mainboard + 1849 3189 K7VT6 motherboard + 3204 K8M800 Host Bridge + 3205 VT8378 [KM400/A] Chipset Host Bridge + 1458 5000 GA-7VM400M Motherboard + 3208 PT890 Host Bridge + 3213 VPX/VPX2 PCI to PCI Bridge Controller + 3218 K8T800M Host Bridge + 3227 VT8237 ISA bridge [KT600/K8T800/K8T890 South] + 1043 80ed A7V600/K8V-X/A8V Deluxe motherboard + 1106 3227 DFI KT600-AL / Soltek SL-B9D-FGR Motherboard + 1458 5001 GA-7VT600 Motherboard + 147b 1407 KV8-MAX3 motherboard + 1849 3227 K7VT4 motherboard + 3230 K8M890CE/K8N890CE [Chrome 9] + 3238 K8T890 Host Bridge + 3249 VT6421 IDE RAID Controller + 324a CX700/VX700 PCI to PCI Bridge + 324b CX700/VX700 Host Bridge + 324e CX700/VX700 Internal Module Bus + 3253 VIA VT6655 WiFi Adapter, 802.11a/b/g + 3258 PT880 Host Bridge + 3259 CN333/CN400/PM880 Host Bridge + 3260 VIA Chrome9 HC IGP + 3269 KT880 Host Bridge + 3282 K8T800Pro Host Bridge + 3287 VT8251 PCI to ISA Bridge + 3288 VT1708/A [Azalia HDAC] (VIA High Definition Audio Controller) + 3290 K8M890 Host Bridge + 3296 P4M800 Host Bridge + 3324 CX700/VX700 Host Bridge + 3327 P4M890 Host Bridge + 3336 K8M890CE Host Bridge + 3337 VT8237A PCI to ISA Bridge + 3340 PT900 Host Bridge + 3343 P4M890 [S3 UniChrome Pro] + 3344 CN700/P4M800 Pro/P4M800 CE/VN800 [S3 UniChrome Pro] + 3349 VT8251 AHCI/SATA 4-Port Controller + 3351 VT3351 Host Bridge + 3353 VX800 PCI to PCI Bridge + 3364 CN896/VN896/P4M900 Host Bridge + 3371 CN896/VN896/P4M900 [Chrome 9 HC] + 3372 VT8237S PCI to ISA Bridge + 337a VT8237A PCI to PCI Bridge + 337b VT8237A Host Bridge + 4149 VIA VT6420 (ATA133) Controller + 4204 K8M800 Host Bridge + 4208 PT890 Host Bridge + 4238 K8T890 Host Bridge + 4258 PT880 Host Bridge + 4259 CN333/CN400/PM880 Host Bridge + 4269 KT880 Host Bridge + 4282 K8T800Pro Host Bridge + 4290 K8M890 Host Bridge + 4293 PM896 Host Bridge + 4296 P4M800 Host Bridge + 4308 PT894 Host Bridge + 4314 CN700/VN800/P4M800CE/Pro Host Bridge + 4324 CX700/VX700 Host Bridge + 4327 P4M890 Host Bridge + 4336 K8M890CE Host Bridge + 4340 PT900 Host Bridge + 4351 VT3351 Host Bridge + 4353 VX800/VX820 Power Management Control + 4364 CN896/VN896/P4M900 Host Bridge + 5030 VT82C596 ACPI [Apollo PRO] + 5208 PT890 I/O APIC Interrupt Controller + 5238 K8T890 I/O APIC Interrupt Controller + 5290 K8M890 I/O APIC Interrupt Controller + 5308 PT894 I/O APIC Interrupt Controller + 5324 VX800 Serial ATA and EIDE Controller + 5327 P4M890 I/O APIC Interrupt Controller + 5336 K8M890CE I/O APIC Interrupt Controller + 5340 PT900 I/O APIC Interrupt Controller + 5351 VT3351 I/O APIC Interrupt Controller + 5353 VX800/VX820 APIC and Central Traffic Control + 5364 CN896/VN896/P4M900 I/O APIC Interrupt Controller + 6100 VT85C100A [Rhine II] + 6287 SATA RAID Controller + 6327 P4M890 Security Device + 6353 VX800/VX820 Scratch Registers + 6364 CN896/VN896/P4M900 Security Device + 7204 K8M800 Host Bridge + 7205 KM400/KN400/P4M800 [S3 UniChrome] + 1458 d000 Gigabyte GA-7VM400(A)M(F) Motherboard + 1462 7061 MS-7061 + 7208 PT890 Host Bridge + 7238 K8T890 Host Bridge + 7258 PT880 Host Bridge + 7259 CN333/CN400/PM880 Host Bridge + 7269 KT880 Host Bridge + 7282 K8T800Pro Host Bridge + 7290 K8M890 Host Bridge + 7293 PM896 Host Bridge + 7296 P4M800 Host Bridge + 7308 PT894 Host Bridge + 7314 CN700/VN800/P4M800CE/Pro Host Bridge + 7324 CX700/VX700 Host Bridge + 7327 P4M890 Host Bridge + 7336 K8M890CE Host Bridge + 7340 PT900 Host Bridge + 7351 VT3351 Host Bridge + 7353 VX800/VX820 North-South Module Interface Control + 7364 CN896/VN896/P4M900 Host Bridge + 8231 VT8231 [PCI-to-ISA Bridge] + 8235 VT8235 ACPI + 8305 VT8363/8365 [KT133/KM133 AGP] + 8324 CX700/VX700 PCI to ISA Bridge + 8353 VX800/VX820 Bus Control and Power Management + 8391 VT8371 [KX133 AGP] + 8400 MVP4 + 8500 KLE133/PLE133/PLE133T + 8501 VT8501 [Apollo MVP4 AGP] + 8596 VT82C596 [Apollo PRO AGP] + 8597 VT82C597 [Apollo VP3 AGP] + 8598 VT82C598/694x [Apollo MVP3/Pro133x AGP] + 1019 0985 P6VXA Motherboard + 8601 VT8601 [Apollo ProMedia AGP] + 8605 VT8605 [PM133 AGP] + 8691 VT82C691 [Apollo Pro] + 8693 VT82C693 [Apollo Pro Plus] PCI Bridge + 8a25 PL133/PL133T [S3 ProSavage] + 8a26 KL133/KL133A/KM133/KM133A [S3 ProSavage] + 8d01 PN133/PN133T [S3 Twister] + 8d04 KM266/P4M266/P4M266A/P4N266 [S3 ProSavageDDR] + 9530 Secure Digital Memory Card Controller + 95d0 SDIO Host Controller + a208 PT890 PCI to PCI Bridge Controller + a238 K8T890 PCI to PCI Bridge Controller + a327 P4M890 PCI to PCI Bridge Controller + a353 VX800/VX820 South-North Module Interface Control + a364 CN896/VN896/P4M900 PCI to PCI Bridge Controller + b091 VT8633 [Apollo Pro266 AGP] + b099 VT8366/A/7 [Apollo KT266/A/333 AGP] + b101 VT8653 AGP Bridge + b102 VT8362 AGP Bridge + b103 VT8615 AGP Bridge + b112 VT8361 [KLE133] AGP Bridge + b113 VPX/VPX2 I/O APIC Interrupt Controller + b115 VT8363/8365 [KT133/KM133] PCI Bridge + b168 VT8235 PCI Bridge + b188 VT8237 PCI bridge [K8T800/K8T890 South] + 147b 1407 KV8-MAX3 motherboard + b198 VT8237/VX700 PCI Bridge + b213 VPX/VPX2 I/O APIC Interrupt Controller + b999 [K8T890 North / VT8237 South] PCI Bridge + c208 PT890 PCI to PCI Bridge Controller + c238 K8T890 PCI to PCI Bridge Controller + c327 P4M890 PCI to PCI Bridge Controller + c340 PT900 PCI to PCI Bridge Controller + c353 VX800/VX820 PCI Express Root Port + c364 CN896/VN896/P4M900 PCI to PCI Bridge Controller + d104 VT8237R USB UDCI Controller + d208 PT890 PCI to PCI Bridge Controller + d213 VPX/VPX2 PCI to PCI Bridge Controller + d238 K8T890 PCI to PCI Bridge Controller + d340 PT900 PCI to PCI Bridge Controller + e208 PT890 PCI to PCI Bridge Controller + e238 K8T890 PCI to PCI Bridge Controller + e340 PT900 PCI to PCI Bridge Controller + e353 VX800/VX820 PCI Express Root Port + f208 PT890 PCI to PCI Bridge Controller + f238 K8T890 PCI to PCI Bridge Controller + f340 PT900 PCI to PCI Bridge Controller + f353 VX800/VX820 PCI Express Root Port +1107 Stratus Computers + 0576 VIA VT82C570MV [Apollo] (Wrong vendor ID!) +1108 Proteon, Inc. + 0100 p1690plus_AA + 0101 p1690plus_AB + 0105 P1690Plus + 0108 P1690Plus + 0138 P1690Plus + 0139 P1690Plus + 013c P1690Plus + 013d P1690Plus +1109 Cogent Data Technologies, Inc. + 1400 EM110TX [EX110TX] +110a Siemens Nixdorf AG + 0002 Pirahna 2-port + 0005 Tulip controller, power management, switch extender + 0006 FSC PINC (I/O-APIC) + 0015 FSC Multiprocessor Interrupt Controller + 001d FSC Copernicus Management Controller + 007b FSC Remote Service Controller, mailbox device + 007c FSC Remote Service Controller, shared memory device + 007d FSC Remote Service Controller, SMIC device + 2101 HST SAPHIR V Primary PCI (ISDN/PMx) +# Superfastcom-PCI (Commtech, Inc.) or DSCC4 WAN Adapter + 2102 DSCC4 PEB/PEF 20534 DMA Supported Serial Communication Controller with 4 Channels + 2104 Eicon Diva 2.02 compatible passive ISDN card + 3142 SIMATIC NET CP 5613A1 (Profibus Adapter) + 4021 SIMATIC NET CP 5512 (Profibus and MPI Cardbus Adapter) + 4029 SIMATIC NET CP 5613A2 (Profibus Adapter) + 4942 FPGA I-Bus Tracer for MBD + 6120 SZB6120 +110b Chromatic Research Inc. + 0001 Mpact Media Processor + 0004 Mpact 2 +110c Mini-Max Technology, Inc. +110d Znyx Advanced Systems +110e CPU Technology +110f Ross Technology +1110 Powerhouse Systems + 6037 Firepower Powerized SMP I/O ASIC + 6073 Firepower Powerized SMP I/O ASIC +1111 Santa Cruz Operation +# Also claimed to be RNS or Rockwell International, current PCISIG records list Osicom +1112 Osicom Technologies Inc + 2200 FDDI Adapter + 2300 Fast Ethernet Adapter + 2340 4 Port Fast Ethernet Adapter + 2400 ATM Adapter +1113 Accton Technology Corporation + 1211 SMC2-1211TX + 103c 1207 EN-1207D Fast Ethernet Adapter + 1113 1211 EN-1207D Fast Ethernet Adapter + 1216 EN-1216 Ethernet Adapter + 1113 1216 EN1207F series PCI Fast Ethernet Adapter + 1113 2220 EN2220A Cardbus Fast Ethernet Adapter + 1113 2242 EN2242 10/100 Ethernet Mini-PCI Card + 111a 1020 SpeedStream 1020 PCI 10/100 Ethernet Adaptor [EN-1207F-TX ?] + 1217 EN-1217 Ethernet Adapter + 5105 10Mbps Network card + 9211 EN-1207D Fast Ethernet Adapter + 1113 9211 EN-1207D Fast Ethernet Adapter + 9511 21x4x DEC-Tulip compatible Fast Ethernet + d301 CPWNA100 (Philips wireless PCMCIA) + ec02 SMC 1244TX v3 + ee23 SMCWPCIT-G 108Mbps Wireless PCI adapter +1114 Atmel Corporation + 0506 at76c506 802.11b Wireless Network Adaptor +1115 3D Labs +1116 Data Translation + 0022 DT3001 + 0023 DT3002 + 0024 DT3003 + 0025 DT3004 + 0026 DT3005 + 0027 DT3001-PGL + 0028 DT3003-PGL +1117 Datacube, Inc + 9500 Max-1C SVGA card + 9501 Max-1C image processing +1118 Berg Electronics +1119 ICP Vortex Computersysteme GmbH + 0000 GDT 6000/6020/6050 + 0001 GDT 6000B/6010 + 0002 GDT 6110/6510 + 0003 GDT 6120/6520 + 0004 GDT 6530 + 0005 GDT 6550 + 0006 GDT 6117/6517 + 0007 GDT 6127/6527 + 0008 GDT 6537 + 0009 GDT 6557/6557-ECC + 000a GDT 6115/6515 + 000b GDT 6125/6525 + 000c GDT 6535 + 000d GDT 6555/6555-ECC + 0100 GDT 6117RP/6517RP + 0101 GDT 6127RP/6527RP + 0102 GDT 6537RP + 0103 GDT 6557RP + 0104 GDT 6111RP/6511RP + 0105 GDT 6121RP/6521RP + 0110 GDT 6117RD/6517RD + 0111 GDT 6127RD/6527RD + 0112 GDT 6537RD + 0113 GDT 6557RD + 0114 GDT 6111RD/6511RD + 0115 GDT 6121RD/6521RD + 0118 GDT 6118RD/6518RD/6618RD + 0119 GDT 6128RD/6528RD/6628RD + 011a GDT 6538RD/6638RD + 011b GDT 6558RD/6658RD + 0120 GDT 6117RP2/6517RP2 + 0121 GDT 6127RP2/6527RP2 + 0122 GDT 6537RP2 + 0123 GDT 6557RP2 + 0124 GDT 6111RP2/6511RP2 + 0125 GDT 6121RP2/6521RP2 + 0136 GDT 6113RS/6513RS + 0137 GDT 6123RS/6523RS + 0138 GDT 6118RS/6518RS/6618RS + 0139 GDT 6128RS/6528RS/6628RS + 013a GDT 6538RS/6638RS + 013b GDT 6558RS/6658RS + 013c GDT 6533RS/6633RS + 013d GDT 6543RS/6643RS + 013e GDT 6553RS/6653RS + 013f GDT 6563RS/6663RS + 0166 GDT 7113RN/7513RN/7613RN + 0167 GDT 7123RN/7523RN/7623RN + 0168 GDT 7118RN/7518RN/7518RN + 0169 GDT 7128RN/7528RN/7628RN + 016a GDT 7538RN/7638RN + 016b GDT 7558RN/7658RN + 016c GDT 7533RN/7633RN + 016d GDT 7543RN/7643RN + 016e GDT 7553RN/7653RN + 016f GDT 7563RN/7663RN + 01d6 GDT 4x13RZ + 01d7 GDT 4x23RZ + 01f6 GDT 8x13RZ + 01f7 GDT 8x23RZ + 01fc GDT 8x33RZ + 01fd GDT 8x43RZ + 01fe GDT 8x53RZ + 01ff GDT 8x63RZ + 0210 GDT 6519RD/6619RD + 0211 GDT 6529RD/6629RD + 0260 GDT 7519RN/7619RN + 0261 GDT 7529RN/7629RN + 02ff GDT MAXRP + 0300 GDT NEWRX + 0301 GDT NEWRX2 +111a Efficient Networks, Inc + 0000 155P-MF1 (FPGA) + 0002 155P-MF1 (ASIC) + 0003 ENI-25P ATM + 111a 0000 ENI-25p Miniport ATM Adapter + 0005 SpeedStream (LANAI) + 111a 0001 ENI-3010 ATM + 111a 0009 ENI-3060 ADSL (VPI=0) + 111a 0101 ENI-3010 ATM + 111a 0109 ENI-3060CO ADSL (VPI=0) + 111a 0809 ENI-3060 ADSL (VPI=0 or 8) + 111a 0909 ENI-3060CO ADSL (VPI=0 or 8) + 111a 0a09 ENI-3060 ADSL (VPI=<0..15>) + 0007 SpeedStream ADSL + 111a 1001 ENI-3061 ADSL [ASIC] + 1203 SpeedStream 1023 Wireless PCI Adapter +111b Teledyne Electronic Systems +111c Tricord Systems Inc. + 0001 Powerbis Bridge +111d Integrated Device Technology, Inc. + 0001 IDT77201/77211 155Mbps ATM SAR Controller [NICStAR] + 0003 IDT77222/77252 155Mbps ATM MICRO ABR SAR Controller + 0004 IDT77V252 155Mbps ATM MICRO ABR SAR Controller + 0005 IDT77V222 155Mbps ATM MICRO ABR SAR Controller + 8018 PES12N3A PCI Express Switch + 801c PES24N3A PCI Express Switch + 8028 PES4T4 PCI Express Switch + 802b PES8T5A PCI Express Switch + 802c PES16T4 PCI Express Switch + 802d PES16T7 PCI Express Switch + 802e PES24T6 PCI Express Switch + 802f PES32T8 PCI Express Switch + 8032 PES48T12 PCI Express Switch + 8034 PES16/22/34H16 PCI Express Switch + 8035 PES32H8 PCI Express Switch + 8036 PES48H12 PCI Express Switch + 8037 PES64H16 PCI Express Switch + 8039 PES3T3 PCI Express Switch + 803a PES4T4 PCI Express Switch + 803c PES5T5 PCI Express Switch + 803d PES6T5 PCI Express Switch + 8048 PES8NT2 PCI Express Switch + 8049 PES8NT2 PCI Express Switch + 804a PES8NT2 PCI Express Internal NTB + 804b PES8NT2 PCI Express External NTB + 804c PES16NT2 PCI Express Switch + 804d PES16NT2 PCI Express Switch + 804e PES16NT2 PCI Express Internal NTB + 804f PES16NT2 PCI Express External NTB + 8058 PES12NT3 PCI Express Switch + 8059 PES12NT3 PCI Express Switch + 805a PES12NT3 PCI Express Internal NTB + 805b PES12NT3 PCI Express External NTB + 805c PES24NT3 PCI Express Switch + 805d PES24NT3 PCI Express Switch + 805e PES24NT3 PCI Express Internal NTB + 805f PES24NT3 PCI Express External NTB + 8060 PES16T4G2 PCI Express Gen2 Switch + 8061 PES12T3G2 PCI Express Gen2 Switch + 8068 PES6T6G2 PCI Express Gen2 Switch + 806a PES24T3G2 PCI Express Gen2 Switch + 806c PES16T4A/4T4G2 PCI Express Gen2 Switch + 806e PES24T6G2 PCI Express Gen2 Switch + 806f HIO524G2 PCI Express Gen2 Switch +111e Eldec +111f Precision Digital Images + 4a47 Precision MX Video engine interface + 5243 Frame capture bus interface +1120 EMC Corporation +1121 Zilog +1122 Multi-tech Systems, Inc. +1123 Excellent Design, Inc. +1124 Leutron Vision AG + 2581 Picport Monochrome +1125 Eurocore +1126 Vigra +1127 FORE Systems Inc + 0200 ForeRunner PCA-200 ATM + 0210 PCA-200PC + 0250 ATM + 0300 ForeRunner PCA-200EPC ATM + 0310 ATM + 0400 ForeRunnerHE ATM Adapter + 1127 0400 ForeRunnerHE ATM +1129 Firmworks +112a Hermes Electronics Company, Ltd. +112b Linotype - Hell AG +112c Zenith Data Systems +112d Ravicad +112e Infomedia Microelectronics Inc. +112f Imaging Technology Inc + 0000 MVC IC-PCI + 0001 MVC IM-PCI Video frame grabber/processor + 0008 PC-CamLink PCI framegrabber +1130 Computervision +1131 Philips Semiconductors + 1561 USB 1.1 Host Controller + 1775 c200 C2K onboard USB 1.1 host controller + 1562 USB 2.0 Host Controller + 1775 c200 C2K onboard USB 2.0 host controller + 3400 SmartPCI56(UCB1500) 56K Modem + 5400 TriMedia TM1000/1100 + 12ca 0000 BlueICE + 5402 TriMedia TM-1300 + 1244 0f00 Fritz!Card DSL + 5405 TriMedia TM1500 + 5406 TriMedia TM1700 + 7130 SAA7130 Video Broadcast Decoder + 102b 48d0 Matrox CronosPlus + 1048 226b ELSA EX-VISION 300TV + 107d 6655 WinFast DTV1000S + 1131 2001 10MOONS PCI TV CAPTURE CARD + 1131 2005 Techcom (India) TV Tuner Card (SSD-TV-670) + 1461 050c Nagase Sangyo TransGear 3000TV + 1461 10ff AVerMedia DVD EZMaker + 1461 2108 AverMedia AverTV/305 + 1461 2115 AverMedia AverTV Studio 305 + 153b 1152 Terratec Cinergy 200 TV + 185b c100 Compro VideoMate TV PVR/FM + 185b c901 Videomate DVB-T200 + 5168 0138 LifeView FlyVIDEO2000 + 7133 SAA7131/SAA7133/SAA7135 Video Broadcast Decoder + 0000 4091 Beholder BeholdTV 409 FM +# Deleting vendor name after rereading submit instructions + 0070 6701 WinTV HVR-1110 + 1019 4cb5 Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM) + 1043 0210 FlyTV mini Asus Digimatrix + 1043 4843 ASUS TV-FM 7133 + 1043 4845 TV-FM 7135 + 1043 4862 P7131 Dual + 1043 4876 My Cinema-P7131 Hybrid + 1131 0000 KWorld V-Stream Studio TV Terminator + 1131 2001 Proteus Pro [philips reference design] + 1131 2018 Tiger reference design + 1131 4ee9 MonsterTV Mobile + 11bd 002b PCTV Stereo + 11bd 002e PCTV 110i (saa7133) + 12ab 0800 PURPLE TV + 13c2 2804 Technotrend Budget T-3000 Hybrid + 1421 0335 Instant TV DVB-T Cardbus + 1421 1370 Instant TV (saa7135) + 1435 7330 VFG7330 + 1435 7350 VFG7350 + 1461 1044 AVerTVHD MCE A180 + 1461 4836 M10D Hybrid DVBT + 1461 a14b AVerTV Studio 509 + 1461 f01d DVB-T Super 007 + 1461 f31f Avermedia AVerTV GO 007 FM + 1461 f936 Hybrid+FM PCI (rev A16D) + 1462 6231 TV@nywhere Plus + 1489 0214 LifeView FlyTV Platinum FM + 14c0 1212 LifeView FlyTV Platinum Mini2 + 153b 1160 Cinergy 250 PCI TV + 153b 1162 Terratec Cinergy 400 mobile + 17de 7350 ATSC 110 Digital / Analog HDTV Tuner + 17de 7352 ATSC 115 Digital / Analog HDTV Tuner + 185b c100 VideoMate TV + 185b c900 VideoMate T750 + 5168 0306 LifeView FlyDVB-T DUO + 5168 0319 LifeView FlyDVB Trio + 5168 0502 LifeView FlyDVB-T Duo CardBus + 5168 0520 LifeView FlyDVB Trio CardBus + 5168 1502 LifeView FlyTV CardBus + 5168 2502 LifeView FlyDVB-T CardBus + 5168 2520 LifeView FlyDVB-S Duo CardBus + 5168 3502 LifeView FlyDVB-T Hybrid CardBus + 5168 3520 LifeView FlyDVB Trio N CardBus + 7134 SAA7134/SAA7135HL Video Broadcast Decoder + 1019 4cb4 Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM) + 1043 0210 Digimatrix TV + 1043 4840 ASUS TV-FM 7134 + 1043 4842 TV-FM 7134 + 1131 2004 EUROPA V3 reference design + 1131 4e85 SKNet Monster TV + 1131 6752 EMPRESS + 11bd 002b PCTV Stereo + 11bd 002d PCTV 300i DVB-T + PAL + 1461 2c00 AverTV Hybrid+FM PCI + 1461 9715 AVerTV Studio 307 + 1461 a70a Avermedia AVerTV 307 + 1461 a70b AverMedia M156 / Medion 2819 + 1461 d6ee Cardbus TV/Radio (E500) + 1471 b7e9 AVerTV Cardbus plus + 153b 1142 Terratec Cinergy 400 TV + 153b 1143 Terratec Cinergy 600 TV + 153b 1158 Terratec Cinergy 600 TV MK3 + 1540 9524 ProVideo PV952 + 16be 0003 Medion 7134 + 185b c200 Compro VideoMate Gold+ Pal + 185b c900 Videomate DVB-T300 + 1894 a006 KNC One TV-Station DVR + 1894 fe01 KNC One TV-Station RDS / Typhoon TV Tuner RDS + 5168 0138 FLY TV PRIME 34FM + 7145 SAA7145 + 7146 SAA7146 + 110a 0000 Fujitsu/Siemens DVB-C card rev1.5 + 110a ffff Fujitsu/Siemens DVB-C card rev1.5 + 1124 2581 Leutron Vision PicPort + 1131 4f56 KNC1 DVB-S Budget + 1131 4f60 Fujitsu-Siemens Activy DVB-S Budget Rev AL + 1131 4f61 Activy DVB-S Budget Rev GR + 1131 5f61 Activy DVB-T Budget + 114b 2003 DVRaptor Video Edit/Capture Card + 11bd 0006 DV500 Overlay + 11bd 000a DV500 Overlay + 11bd 000f DV500 Overlay + 13c2 0000 Siemens/Technotrend/Hauppauge DVB card rev1.3 or rev1.5 + 13c2 0001 Technotrend/Hauppauge DVB card rev1.3 or rev1.6 + 13c2 0002 Technotrend/Hauppauge DVB card rev2.1 + 13c2 0003 Technotrend/Hauppauge DVB card rev2.1 + 13c2 0004 Technotrend/Hauppauge DVB card rev2.1 + 13c2 0006 Technotrend/Hauppauge DVB card rev1.3 or rev1.6 + 13c2 0008 Technotrend/Hauppauge DVB-T + 13c2 000a Octal/Technotrend DVB-C for iTV + 13c2 000e Technotrend/Hauppauge DVB card rev2.3 + 13c2 1003 Technotrend-Budget/Hauppauge WinTV-NOVA-S DVB card + 13c2 1004 Technotrend-Budget/Hauppauge WinTV-NOVA-C DVB card + 13c2 1005 Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card + 13c2 100c Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card + 13c2 100f Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card + 13c2 1011 Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card + 13c2 1012 DVB T-1500 + 13c2 1013 SATELCO Multimedia DVB + 13c2 1016 WinTV-NOVA-SE DVB card + 13c2 1018 DVB S-1401 + 13c2 1019 S2-3200 + 13c2 1102 Technotrend/Hauppauge DVB card rev2.1 + 153b 1155 Cinergy 1200 DVB-S + 153b 1156 Terratec Cynergy 1200C + 153b 1157 Cinergy 1200 DVB-T + 1894 0020 KNC One DVB-C V1.0 + 9730 SAA9730 Integrated Multimedia and Peripheral Controller + 1131 0000 Integrated Multimedia and Peripheral Controller +1132 Mitel Corp. +1133 Dialogic Corporation + 7901 EiconCard S90 + 7902 EiconCard S90 + 7911 EiconCard S91 + 7912 EiconCard S91 + 7941 EiconCard S94 + 7942 EiconCard S94 + 7943 EiconCard S94 + 7944 EiconCard S94 + b921 EiconCard P92 + b922 EiconCard P92 + b923 EiconCard P92 + e001 Diva Pro 2.0 S/T + e002 Diva 2.0 S/T PCI + e003 Diva Pro 2.0 U + e004 Diva 2.0 U PCI + e005 Diva 2.01 S/T PCI + e006 Diva CT S/T PCI + e007 Diva CT U PCI + e008 Diva CT Lite S/T PCI + e009 Diva CT Lite U PCI + e00a Diva ISDN+V.90 PCI + e00b Diva ISDN PCI 2.02 + e00c Diva 2.02 PCI U + e00d Diva Pro 3.0 PCI + e00e Diva ISDN+CT S/T PCI Rev 2 + e010 Diva Server BRI-2M PCI + 110a 0021 Fujitsu Siemens ISDN S0 + e011 Diva Server BRI S/T Rev 2 + e012 Diva Server 4BRI-8M PCI + e013 4BRI + 1133 1300 Diva V-4BRI-8 PCI v2 + 1133 e013 Diva 4BRI-8 PCI v2 + e014 Diva Server PRI-30M PCI + e015 Diva PRI PCI v2 + e016 Diva Server Voice 4BRI PCI + e017 Diva Server Voice 4BRI Rev 2 + 1133 e017 Diva Server Voice 4BRI-8M 2.0 PCI + e018 BRI + 1133 1800 Diva V-BRI-2 PCI v2 + 1133 e018 Diva BRI-2 PCI v2 + e019 Diva Server Voice PRI Rev 2 + 1133 e019 Diva Server Voice PRI 2.0 PCI + e01a Diva BRI-2FX PCI v2 + e01b Diva Server Voice BRI-2M 2.0 PCI + 1133 e01b Diva Server Voice BRI-2M 2.0 PCI + e01c PRI + 1133 1c01 Diva PRI/E1/T1-8 PCI v3 + 1133 1c02 Diva PRI/T1-24 PCI(e) v3 + 1133 1c03 Diva PRI/E1-30 PCI(e) v3 + 1133 1c04 Diva PRI/E1/T1-CTI PCI(e) v3 + 1133 1c05 Diva V-PRI/T1-24 PCI(e) v3 + 1133 1c06 Diva V-PRI/E1-30 PCI(e) v3 + 1133 1c07 Diva Server PRI/E1/T1-8 Cornet NQ + 1133 1c08 Diva Server PRI/T1-24 Cornet NQ + 1133 1c09 Diva Server PRI/E1-30 Cornet NQ + 1133 1c0a Diva Server PRI/E1/T1 Cornet NQ + 1133 1c0b Diva Server V-PRI/T1-24 Cornet NQ + 1133 1c0c Diva Server V-PRI/E1-30 Cornet NQ + e01e 2PRI + 1133 1e01 Diva 2PRI/E1/T1-60 PCI v1 + 1133 e01e Diva V-2PRI/E1/T1-60 PCI v1 + e020 4PRI + 1133 2001 Diva 4PRI/E1/T1-120 PCI v1 + 1133 e020 Diva V-4PRI/E1/T1-120 PCI v1 + e022 Analog-2 + 1133 2200 Diva V-Analog-2 PCI v1 + 1133 e022 Diva Analog-2 PCI v1 + e024 Analog-4 + 1133 2400 Diva V-Analog-4 PCI v1 + 1133 e024 Diva Analog-4 PCI v1 + e028 Analog-8 + 1133 2800 Diva V-Analog-8 PCI v1 + 1133 e028 Diva Analog-8 PCI v1 + e02a Diva IPM-300 PCI v1 + e02c Diva IPM-600 PCI v1 + e02e 4BRI + 1133 2e01 Diva V-4BRI-8 PCIe v2 + 1133 e02e Diva 4BRI-8 PCIe v2 + e032 BRI + 1133 3201 Diva V-BRI-2 PCIe v2 + 1133 e032 Diva BRI-2 PCIe v2 + e034 Diva BRI-CTI PCI v2 +1134 Mercury Computer Systems + 0001 Raceway Bridge + 0002 Dual PCI to RapidIO Bridge +1135 Fuji Xerox Co Ltd + 0001 Printer controller +1136 Momentum Data Systems +1137 Cisco Systems Inc +1138 Ziatech Corporation + 8905 8905 [STD 32 Bridge] +1139 Dynamic Pictures, Inc + 0001 VGA Compatable 3D Graphics +113a FWB Inc +113b Network Computing Devices +113c Cyclone Microsystems, Inc. + 0000 PCI-9060 i960 Bridge + 0001 PCI-SDK [PCI i960 Evaluation Platform] + 0911 PCI-911 [i960Jx-based Intelligent I/O Controller] + 0912 PCI-912 [i960CF-based Intelligent I/O Controller] + 0913 PCI-913 + 0914 PCI-914 [I/O Controller w/ secondary PCI bus] +113d Leading Edge Products Inc +113e Sanyo Electric Co - Computer Engineering Dept +113f Equinox Systems, Inc. + 0808 SST-64P Adapter + 1010 SST-128P Adapter + 80c0 SST-16P DB Adapter + 80c4 SST-16P RJ Adapter + 80c8 SST-16P Adapter + 8888 SST-4P Adapter + 9090 SST-8P Adapter +1140 Intervoice Inc +1141 Crest Microsystem Inc +1142 Alliance Semiconductor Corporation + 3210 AP6410 + 6422 ProVideo 6422 + 6424 ProVideo 6424 + 6425 ProMotion AT25 + 643d ProMotion AT3D +1143 NetPower, Inc +1144 Cincinnati Milacron + 0001 Noservo controller +1145 Workbit Corporation + 8007 NinjaSCSI-32 Workbit + f007 NinjaSCSI-32 KME + f010 NinjaSCSI-32 Workbit + f012 NinjaSCSI-32 Logitec + f013 NinjaSCSI-32 Logitec + f015 NinjaSCSI-32 Melco + f020 NinjaSCSI-32 Sony PCGA-DVD51 +1146 Force Computers +1147 Interface Corp +# Nee Schneider & Koch +1148 SysKonnect + 4000 FDDI Adapter + 0e11 b03b Netelligent 100 FDDI DAS Fibre SC + 0e11 b03c Netelligent 100 FDDI SAS Fibre SC + 0e11 b03d Netelligent 100 FDDI DAS UTP + 0e11 b03e Netelligent 100 FDDI SAS UTP + 0e11 b03f Netelligent 100 FDDI SAS Fibre MIC + 1148 5521 FDDI SK-5521 (SK-NET FDDI-UP) + 1148 5522 FDDI SK-5522 (SK-NET FDDI-UP DAS) + 1148 5541 FDDI SK-5541 (SK-NET FDDI-FP) + 1148 5543 FDDI SK-5543 (SK-NET FDDI-LP) + 1148 5544 FDDI SK-5544 (SK-NET FDDI-LP DAS) + 1148 5821 FDDI SK-5821 (SK-NET FDDI-UP64) + 1148 5822 FDDI SK-5822 (SK-NET FDDI-UP64 DAS) + 1148 5841 FDDI SK-5841 (SK-NET FDDI-FP64) + 1148 5843 FDDI SK-5843 (SK-NET FDDI-LP64) + 1148 5844 FDDI SK-5844 (SK-NET FDDI-LP64 DAS) + 4200 Token Ring adapter + 4300 SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) + 1148 9821 SK-9821 Gigabit Ethernet Server Adapter (SK-NET GE-T) + 1148 9822 SK-9822 Gigabit Ethernet Server Adapter (SK-NET GE-T dual link) + 1148 9841 SK-9841 Gigabit Ethernet Server Adapter (SK-NET GE-LX) + 1148 9842 SK-9842 Gigabit Ethernet Server Adapter (SK-NET GE-LX dual link) + 1148 9843 SK-9843 Gigabit Ethernet Server Adapter (SK-NET GE-SX) + 1148 9844 SK-9844 Gigabit Ethernet Server Adapter (SK-NET GE-SX dual link) + 1148 9861 SK-9861 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition) + 1148 9862 SK-9862 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition dual link) + 1148 9871 SK-9871 Gigabit Ethernet Server Adapter (SK-NET GE-ZX) + 1148 9872 SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) + 1259 2970 AT-2970SX Gigabit Ethernet Adapter + 1259 2971 AT-2970LX Gigabit Ethernet Adapter + 1259 2972 AT-2970TX Gigabit Ethernet Adapter + 1259 2973 AT-2971SX Gigabit Ethernet Adapter + 1259 2974 AT-2971T Gigabit Ethernet Adapter + 1259 2975 AT-2970SX/2SC Gigabit Ethernet Adapter + 1259 2976 AT-2970LX/2SC Gigabit Ethernet Adapter + 1259 2977 AT-2970TX/2TX Gigabit Ethernet Adapter + 4320 SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter, PCI64, Fiber ZX/SC + 1148 0121 Marvell RDK-8001 Adapter + 1148 0221 Marvell RDK-8002 Adapter + 1148 0321 Marvell RDK-8003 Adapter + 1148 0421 Marvell RDK-8004 Adapter + 1148 0621 Marvell RDK-8006 Adapter + 1148 0721 Marvell RDK-8007 Adapter + 1148 0821 Marvell RDK-8008 Adapter + 1148 0921 Marvell RDK-8009 Adapter + 1148 1121 Marvell RDK-8011 Adapter + 1148 1221 Marvell RDK-8012 Adapter + 1148 3221 SK-9521 V2.0 10/100/1000Base-T Adapter + 1148 5021 SK-9821 V2.0 Gigabit Ethernet 10/100/1000Base-T Adapter + 1148 5041 SK-9841 V2.0 Gigabit Ethernet 1000Base-LX Adapter + 1148 5043 SK-9843 V2.0 Gigabit Ethernet 1000Base-SX Adapter + 1148 5051 SK-9851 V2.0 Gigabit Ethernet 1000Base-SX Adapter + 1148 5061 SK-9861 V2.0 Gigabit Ethernet 1000Base-SX Adapter + 1148 5071 SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter + 1148 9521 SK-9521 10/100/1000Base-T Adapter + 4400 SK-9Dxx Gigabit Ethernet Adapter + 4500 SK-9Mxx Gigabit Ethernet Adapter + 9000 SK-9S21 10/100/1000Base-T Server Adapter, PCI-X, Copper RJ-45 + 9843 [Fujitsu] Gigabit Ethernet + 9e00 SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 + 1148 2100 SK-9E21 Server Adapter + 1148 21d0 SK-9E21D 10/100/1000Base-T Adapter + 1148 2200 SK-9E22 Server Adapter + 1148 8100 SK-9E81 Server Adapter + 1148 8200 SK-9E82 Server Adapter + 1148 9100 SK-9E91 Server Adapter + 1148 9200 SK-9E92 Server Adapter +1149 Win System Corporation +114a VMIC + 5579 VMIPCI-5579 (Reflective Memory Card) + 5587 VMIPCI-5587 (Reflective Memory Card) + 6504 VMIC PCI 7755 FPGA + 7587 VMIVME-7587 +114b Canopus Co., Ltd +114c Annabooks +114d IC Corporation +114e Nikon Systems Inc +114f Digi International + 0002 AccelePort EPC + 0003 RightSwitch SE-6 + 0004 AccelePort Xem + 0005 AccelePort Xr + 0006 AccelePort Xr,C/X + 0009 AccelePort Xr/J + 000a AccelePort EPC/J + 000c DataFirePRIme T1 (1-port) + 000d SyncPort 2-Port (x.25/FR) + 0011 AccelePort 8r EIA-232 (IBM) + 0012 AccelePort 8r EIA-422 + 0013 AccelePort Xr + 0014 AccelePort 8r EIA-422 + 0015 AccelePort Xem + 0016 AccelePort EPC/X + 0017 AccelePort C/X + 001a DataFirePRIme E1 (1-port) + 001b AccelePort C/X (IBM) + 001d DataFire RAS T1/E1/PRI + 114f 0050 DataFire RAS E1 Adapter + 114f 0051 DataFire RAS Dual E1 Adapter + 114f 0052 DataFire RAS T1 Adapter + 114f 0053 DataFire RAS Dual T1 Adapter + 0023 AccelePort RAS + 0024 DataFire RAS B4 ST/U + 114f 0030 DataFire RAS BRI U Adapter + 114f 0031 DataFire RAS BRI S/T Adapter + 0026 AccelePort 4r 920 + 0027 AccelePort Xr 920 + 0028 ClassicBoard 4 + 0029 ClassicBoard 8 + 0034 AccelePort 2r 920 + 0035 DataFire DSP T1/E1/PRI cPCI + 0040 AccelePort Xp +# AccelePort Xp 2 ports + 114f 0042 AccelePort 2p PCI +# AccelePort Xp 4 ports + 114f 0043 AccelePort 4p PCI +# AccelePort Xp 8 ports + 114f 0044 AccelePort 8p PCI + 0042 AccelePort 2p + 0043 AccelePort 4p + 0044 AccelePort 8p + 0045 AccelePort 16p + 004e AccelePort 32p + 0070 Datafire Micro V IOM2 (Europe) + 0071 Datafire Micro V (Europe) + 0072 Datafire Micro V IOM2 (North America) + 0073 Datafire Micro V (North America) + 00b0 Digi Neo 4 + 00b1 Digi Neo 8 + 00c8 Digi Neo 2 DB9 + 00c9 Digi Neo 2 DB9 PRI + 00ca Digi Neo 2 RJ45 + 00cb Digi Neo 2 RJ45 PRI + 00cc Digi Neo 1 422 + 00cd Digi Neo 1 422 485 + 00ce Digi Neo 2 422 485 + 00d0 ClassicBoard 4 422 + 00d1 ClassicBoard 8 422 + 6001 Avanstar +1150 Thinking Machines Corp +1151 JAE Electronics Inc. +1152 Megatek +1153 Land Win Electronic Corp +1154 Melco Inc +1155 Pine Technology Ltd +1156 Periscope Engineering +1157 Avsys Corporation +1158 Voarx R & D Inc + 3011 Tokenet/vg 1001/10m anylan + 9050 Lanfleet/Truevalue + 9051 Lanfleet/Truevalue +1159 Mutech Corp + 0001 MV-1000 +115a Harlequin Ltd +115b Parallax Graphics +115c Photron Ltd. +115d Xircom + 0003 Cardbus Ethernet 10/100 + 1014 0181 10/100 EtherJet Cardbus Adapter + 1014 1181 10/100 EtherJet Cardbus Adapter + 1014 8181 10/100 EtherJet Cardbus Adapter + 1014 9181 10/100 EtherJet Cardbus Adapter + 115d 0181 Cardbus Ethernet 10/100 + 115d 0182 RealPort2 CardBus Ethernet 10/100 (R2BE-100) + 115d 1181 Cardbus Ethernet 10/100 + 1179 0181 Cardbus Ethernet 10/100 + 8086 8181 EtherExpress PRO/100 Mobile CardBus 32 Adapter + 8086 9181 EtherExpress PRO/100 Mobile CardBus 32 Adapter + 0005 Cardbus Ethernet 10/100 + 1014 0182 10/100 EtherJet Cardbus Adapter + 1014 1182 10/100 EtherJet Cardbus Adapter + 115d 0182 Cardbus Ethernet 10/100 + 115d 1182 Cardbus Ethernet 10/100 + 0007 Cardbus Ethernet 10/100 + 1014 0182 10/100 EtherJet Cardbus Adapter + 1014 1182 10/100 EtherJet Cardbus Adapter + 115d 0182 Cardbus Ethernet 10/100 + 115d 1182 Cardbus Ethernet 10/100 + 000b Cardbus Ethernet 10/100 + 1014 0183 10/100 EtherJet Cardbus Adapter + 115d 0183 Cardbus Ethernet 10/100 + 000c Mini-PCI V.90 56k Modem + 000f Cardbus Ethernet 10/100 + 1014 0183 10/100 EtherJet Cardbus Adapter + 115d 0183 Cardbus Ethernet 10/100 + 00d4 Mini-PCI K56Flex Modem + 0101 Cardbus 56k modem + 115d 1081 Cardbus 56k Modem + 0103 Cardbus Ethernet + 56k Modem + 1014 9181 Cardbus 56k Modem + 1115 1181 Cardbus Ethernet 100 + 56k Modem + 115d 1181 CBEM56G-100 Ethernet + 56k Modem + 8086 9181 PRO/100 LAN + Modem56 CardBus +115e Peer Protocols Inc +115f Maxtor Corporation +1160 Megasoft Inc +1161 PFU Limited +1162 OA Laboratory Co Ltd +1163 Rendition + 0001 Verite 1000 + 2000 Verite V2000/V2100/V2200 + 1092 2000 Stealth II S220 +1164 Advanced Peripherals Technologies +1165 Imagraph Corporation + 0001 Motion TPEG Recorder/Player with audio +# nee ServerWorks +1166 Broadcom + 0000 CMIC-LE + 0005 CNB20-LE Host Bridge + 0006 CNB20HE Host Bridge + 0007 CNB20-LE Host Bridge + 0008 CNB20HE Host Bridge + 0009 CNB20LE Host Bridge + 0010 CIOB30 + 0011 CMIC-HE + 0012 CMIC-WS Host Bridge (GC-LE chipset) + 0013 CNB20-HE Host Bridge + 0014 CMIC-LE Host Bridge (GC-LE chipset) + 0015 CMIC-GC Host Bridge + 0016 CMIC-GC Host Bridge + 0017 GCNB-LE Host Bridge + 0031 HT1100 HPX0 HT Host Bridge + 0036 BCM5785 [HT1000] PCI/PCI-X Bridge + 0101 CIOB-X2 PCI-X I/O Bridge + 0103 EPB PCI-Express to PCI-X Bridge + 0104 BCM5785 [HT1000] PCI/PCI-X Bridge + 0110 CIOB-E I/O Bridge with Gigabit Ethernet + 0130 BCM5780 [HT2000] PCI-X bridge + 0132 BCM5780 [HT2000] PCI-Express Bridge + 1166 0132 HT2000 PCI-Express bridge + 0140 HT2100 PCI-Express Bridge + 0141 HT2100 PCI-Express Bridge + 0142 HT2100 PCI-Express Bridge + 0144 HT2100 PCI-Express Bridge + 0200 OSB4 South Bridge + 0201 CSB5 South Bridge + 4c53 1080 CT8 mainboard + 0203 CSB6 South Bridge + 1734 1012 Primergy RX300 + 0205 BCM5785 [HT1000] Legacy South Bridge + 0211 OSB4 IDE Controller + 0212 CSB5 IDE Controller + 1028 810b PowerEdge 2550 + 4c53 1080 CT8 mainboard + 0213 CSB6 RAID/IDE Controller + 1028 4134 PowerEdge 600SC + 1028 c134 Poweredge SC600 + 1734 1012 Primergy RX300 + 0214 BCM5785 [HT1000] IDE + 0217 CSB6 IDE Controller + 1028 4134 Poweredge SC600 + 021b HT1100 HD Audio + 0220 OSB4/CSB5 OHCI USB Controller + 4c53 1080 CT8 mainboard + 0221 CSB6 OHCI USB Controller + 1734 1012 Primergy RX300 + 0223 BCM5785 [HT1000] USB + 0225 CSB5 LPC bridge + 0227 GCLE-2 Host Bridge + 1734 1012 Primergy RX300 + 0230 CSB5 LPC bridge + 4c53 1080 CT8 mainboard + 0234 BCM5785 [HT1000] LPC + 0235 BCM5785 [HT1000] XIOAPIC0-2 + 0238 BCM5785 [HT1000] WDTimer + 0240 K2 SATA + 0241 RAIDCore RC4000 + 0242 RAIDCore BC4000 + 024a BCM5785 [HT1000] SATA (Native SATA Mode) +# The device starts as 024A, and changes to 024B if set to PATA mode in BIOS + 024b BCM5785 [HT1000] SATA (PATA/IDE Mode) + 0406 HT1100 PCI-X Bridge + 0408 HT1100 Legacy Device + 040a HT1100 ISA-LPC Bridge + 0410 HT1100 SATA Controller (Native SATA Mode) + 0411 HT1100 SATA Controller (PATA / IDE Mode) + 0412 HT1100 USB OHCI Controller + 0414 HT1100 USB EHCI Controller + 0416 HT1100 USB EHCI Controller (with Debug Port) + 0420 HT1100 PCI-Express Bridge + 0421 HT1100 SAS/SATA Controller + 0422 HT1100 PCI-Express Bridge +1167 Mutoh Industries Inc +1168 Thine Electronics Inc +1169 Centre for Development of Advanced Computing +116a Polaris Communications + 6100 Bus/Tag Channel + 6800 Escon Channel + 7100 Bus/Tag Channel + 7800 Escon Channel +116b Connectware Inc +116c Intelligent Resources Integrated Systems +116d Martin-Marietta +116e Electronics for Imaging +116f Workstation Technology +1170 Inventec Corporation +1171 Loughborough Sound Images Plc +1172 Altera Corporation +1173 Adobe Systems, Inc +1174 Bridgeport Machines +1175 Mitron Computer Inc. +1176 SBE Incorporated +1177 Silicon Engineering +1178 Alfa, Inc. + afa1 Fast Ethernet Adapter +1179 Toshiba America Info Systems + 0102 Extended IDE Controller + 0103 EX-IDE Type-B + 0404 DVD Decoder card + 0406 Tecra Video Capture device + 0407 DVD Decoder card (Version 2) + 0601 CPU to PCI bridge + 1179 0001 Satellite Pro + 0603 ToPIC95 PCI to CardBus Bridge for Notebooks + 060a ToPIC95 + 1179 0001 Satellite Pro + 060f ToPIC97 + 0617 ToPIC100 PCI to Cardbus Bridge with ZV Support + 0618 CPU to PCI and PCI to ISA bridge +# Claimed to be Lucent DSP1645 [Mars], but that's apparently incorrect. Does anyone know the correct ID? + 0701 FIR Port + 0804 TC6371AF SmartMedia Controller + 0805 SD TypA Controller + 0d01 FIR Port Type-DO + 1179 0001 FIR Port Type-DO +117a A-Trend Technology +117b L G Electronics, Inc. +117c Atto Technology + 0030 Ultra320 SCSI Host Adapter + 117c 8013 ExpressPCI UL4D + 117c 8014 ExpressPCI UL4S +117d Becton & Dickinson +117e T/R Systems +117f Integrated Circuit Systems +1180 Ricoh Co Ltd + 0465 RL5c465 + 0466 RL5c466 + 0475 RL5c475 + 144d c006 vpr Matrix 170B4 CardBus bridge + 0476 RL5c476 II + 1014 0185 ThinkPad A/T/X Series + 1028 014f Latitude X300 laptop + 1028 0188 Inspiron 6000 laptop + 1043 1967 V6800V + 1043 1987 Asus A4K and Z81K notebooks, possibly others ( mid-2005 machines ) + 104d 80df Vaio PCG-FX403 + 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP + 104d 814e VAIO GRZ390Z + 10f7 8338 Panasonic CF-Y5 laptop + 144d c005 X10 Laptop + 144d c00c P30/P35 notebook + 14ef 0220 PCD-RP-220S + 17aa 201c Thinkpad X60s + 0477 RL5c477 + 0478 RL5c478 + 1014 0184 ThinkPad A30p (2653-64G) + 0511 R5C511 + 0522 R5C522 IEEE 1394 Controller + 1014 01cf ThinkPad A30p (2653-64G) + 1043 1967 V6800V + 0551 R5C551 IEEE 1394 Controller + 144d c006 vpr Matrix 170B4 + 0552 R5C552 IEEE 1394 Controller + 1014 0511 ThinkPad A/T/X Series + 1028 014f Latitude X300 laptop + 1028 0188 Inspiron 6000 laptop + 144d c005 X10 Laptop + 144d c00c P30/P35 notebook + 17aa 201e Thinkpad X60s + 0554 R5C554 + 0575 R5C575 SD Bus Host Adapter + 0576 R5C576 SD Bus Host Adapter + 0592 R5C592 Memory Stick Bus Host Adapter + 103c 30b7 Presario V6133CL + 1043 1967 V6800V + 144d c018 X20 IV + 0811 R5C811 + 0822 R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter + 1014 0556 Thinkpad X40 + 1014 0598 Thinkpad Z60m + 1028 0188 Inspiron 6000 laptop + 1028 01a2 Inspiron 9200 + 103c 30b7 Presario V6133CL + 1043 1967 ASUS V6800V + 10f7 8338 Panasonic CF-Y5 laptop + 144d c018 X20 IV + 17aa 201d Thinkpad X60s + 0832 R5C832 IEEE 1394 Controller + 103c 30b7 Presario V6133CL + 0841 R5C841 CardBus/SD/SDIO/MMC/MS/MSPro/xD/IEEE1394 + 0843 R5C843 MMC Host Controller + 103c 30b7 Presario V6133CL + 0852 xD-Picture Card Controller + 103c 30b7 Presario V6133CL + 1043 1967 V6800V +1181 Telmatics International +1183 Fujikura Ltd +1184 Forks Inc +1185 Dataworld International Ltd +1186 D-Link System Inc + 0100 DC21041 + 1002 DL10050 Sundance Ethernet + 1186 1002 DFE-550TX/FX + 1186 1012 DFE-580TX + 1025 AirPlus Xtreme G DWL-G650 Adapter + 1026 AirXpert DWL-AG650 Wireless Cardbus Adapter + 1043 AirXpert DWL-AG650 Wireless Cardbus Adapter + 1300 RTL8139 Ethernet + 1186 1300 DFE-538TX 10/100 Ethernet Adapter + 1186 1301 DFE-530TX+ 10/100 Ethernet Adapter + 1186 1303 DFE-528TX 10/100 Fast Ethernet PCI Adapter + 1340 DFE-690TXD CardBus PC Card + 1405 DFE-520TX Fast Ethernet PCI Adapter + 1541 DFE-680TXD CardBus PC Card + 1561 DRP-32TXD Cardbus PC Card + 2027 AirPlus Xtreme G DWL-G520 Adapter + 3203 AirPlus Xtreme G DWL-G520 Adapter + 3300 DWL-510 2.4GHz Wireless PCI Adapter + 3a03 AirPro DWL-A650 Wireless Cardbus Adapter(rev.B) + 3a04 AirPro DWL-AB650 Multimode Wireless Cardbus Adapter + 3a05 AirPro DWL-AB520 Multimode Wireless PCI Adapter + 3a07 AirXpert DWL-AG650 Wireless Cardbus Adapter + 3a08 AirXpert DWL-AG520 Wireless PCI Adapter + 3a10 AirXpert DWL-AG650 Wireless Cardbus Adapter(rev.B) + 3a11 AirXpert DWL-AG520 Wireless PCI Adapter(rev.B) + 3a12 AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C) + 3a13 AirPlus DWL-G520 Wireless PCI Adapter(rev.B) + 3a14 AirPremier DWL-AG530 Wireless PCI Adapter + 3a63 AirXpert DWL-AG660 Wireless Cardbus Adapter + 3c00 D-link DWL-G650X + 4000 DL2000-based Gigabit Ethernet + 4001 DGE-550SX PCI-X Gigabit Ethernet Adapter + 4300 DGE-528T Gigabit Ethernet Adapter +# There are at least 3 revisions of this adapter; 4800 is board revision A1 as far as I can tell, revision B1 is 4c00. + 4800 DGE-530T Gigabit Ethernet Adapter (rev 11) + 4b00 DGE-560T PCI Express Gigabit Ethernet Adapter + 4b01 DGE-530T Gigabit Ethernet Adapter (rev 11) + 4b02 DGE-560SX PCI Express Gigabit Ethernet Adapter + 4b03 DGE-550T Gigabit Ethernet Adapter V.B1 + 4c00 Gigabit Ethernet Adapter + 1186 4c00 DGE-530T Gigabit Ethernet Adapter + 8400 D-Link DWL-650+ CardBus PC Card +1187 Advanced Technology Laboratories, Inc. +1188 Shima Seiki Manufacturing Ltd. +1189 Matsushita Electronics Co Ltd +118a Hilevel Technology +118b Hypertec Pty Limited +118c Corollary, Inc + 0014 PCIB [C-bus II to PCI bus host bridge chip] + 1117 Intel 8-way XEON Profusion Chipset [Cache Coherency Filter] +118d BitFlow Inc + 0001 Raptor-PCI framegrabber + 0012 Model 12 Road Runner Frame Grabber + 0014 Model 14 Road Runner Frame Grabber + 0024 Model 24 Road Runner Frame Grabber + 0044 Model 44 Road Runner Frame Grabber + 0112 Model 12 Road Runner Frame Grabber + 0114 Model 14 Road Runner Frame Grabber + 0124 Model 24 Road Runner Frame Grabber + 0144 Model 44 Road Runner Frame Grabber + 0212 Model 12 Road Runner Frame Grabber + 0214 Model 14 Road Runner Frame Grabber + 0224 Model 24 Road Runner Frame Grabber + 0244 Model 44 Road Runner Frame Grabber + 0312 Model 12 Road Runner Frame Grabber + 0314 Model 14 Road Runner Frame Grabber + 0324 Model 24 Road Runner Frame Grabber + 0344 Model 44 Road Runner Frame Grabber +118e Hermstedt GmbH +118f Green Logic +1190 Tripace + c731 TP-910/920/940 PCI Ultra(Wide) SCSI Adapter +1191 Artop Electronic Corp + 0003 SCSI Cache Host Adapter + 0004 ATP8400 + 0005 ATP850UF + 0006 ATP860 NO-BIOS + 0007 ATP860 + 0008 ATP865 NO-ROM + 0009 ATP865 + 8002 AEC6710 SCSI-2 Host Adapter + 8010 AEC6712UW SCSI + 8020 AEC6712U SCSI + 8030 AEC6712S SCSI + 8040 AEC6712D SCSI + 8050 AEC6712SUW SCSI + 8060 AEC6712 SCSI + 8080 AEC67160 SCSI + 8081 AEC67160S SCSI + 808a AEC67162 2-ch. LVD SCSI +1192 Densan Company Ltd +1193 Zeitnet Inc. + 0001 1221 + 0002 1225 +1194 Toucan Technology +1195 Ratoc System Inc +1196 Hytec Electronics Ltd +1197 Gage Applied Sciences, Inc. + 010c CompuScope 82G 8bit 2GS/s Analog Input Card +1198 Lambda Systems Inc +1199 Attachmate Corporation +119a Mind Share, Inc. +119b Omega Micro Inc. + 1221 82C092G +119c Information Technology Inst. +119d Bug, Inc. Sapporo Japan +119e Fujitsu Microelectronics Ltd. + 0001 FireStream 155 + 0003 FireStream 50 +119f Bull HN Information Systems +11a0 Convex Computer Corporation +11a1 Hamamatsu Photonics K.K. +11a2 Sierra Research and Technology +11a3 Deuretzbacher GmbH & Co. Eng. KG +11a4 Barco Graphics NV +11a5 Microunity Systems Eng. Inc +11a6 Pure Data Ltd. +11a7 Power Computing Corp. +11a8 Systech Corp. +11a9 InnoSys Inc. + 4240 AMCC S933Q Intelligent Serial Card +11aa Actel +# Nee Galileo Technology, Inc. +11ab Marvell Technology Group Ltd. + 0146 GT-64010/64010A System Controller + 0f53 88E6318 Link Street network controller + 11ab MV88SE614x SATA II PCI-E controller + 138f W8300 802.11 Adapter (rev 07) + 1fa6 Marvell W8300 802.11 Adapter + 1fa7 88W8310 and 88W8000G [Libertas] 802.11g client chipset + 1faa 88w8335 [Libertas] 802.11b/g Wireless + 1385 4e00 WG511v2 54 Mbps Wireless PC Card + 1385 6b00 WG311v3 802.11g Wireless PCI Adapter + 2a01 88W8335 [Libertas] 802.11b/g Wireless + 2a02 88W8361 [TopDog] 802.11n Wireless + 4101 OLPC Cafe Controller Secure Digital Controller + 4320 88E8001 Gigabit Ethernet Controller + 1019 0f38 Marvell 88E8001 Gigabit Ethernet Controller (ECS) + 1019 8001 Marvell 88E8001 Gigabit Ethernet Controller (ECS) + 1043 173c Marvell 88E8001 Gigabit Ethernet Controller (Asus) + 1043 811a Marvell 88E8001 Gigabit Ethernet Controller (Asus) + 105b 0c19 Marvell 88E8001 Gigabit Ethernet Controller (Foxconn) + 10b8 b452 EZ Card 1000 (SMC9452TXV.2) + 11ab 0121 Marvell RDK-8001 + 11ab 0321 Marvell RDK-8003 + 11ab 1021 Marvell RDK-8010 + 11ab 4320 Marvell Yukon Gigabit Ethernet 10/100/1000Baset-T Constroller (Asus) + 11ab 5021 Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (64 bit) + 11ab 9521 Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (32 bit) + 1458 e000 Marvell 88E8001 Gigabit Ethernet Controller (Gigabyte) + 147b 1406 Marvell 88E8001 Gigabit Ethernet Controller (Abit) + 15d4 0047 Marvell 88E8001 Gigabit Ethernet Controller (Iwill) + 1695 9025 Marvell 88E8001 Gigabit Ethernet Controller (Epox) + 17f2 1c03 Marvell 88E8001 Gigabit Ethernet Controller (Albatron) + 270f 2803 Marvell 88E8001 Gigabit Ethernet Controller (Chaintech) + 4340 88E8021 PCI-X IPMI Gigabit Ethernet Controller + 4341 88E8022 PCI-X IPMI Gigabit Ethernet Controller + 4342 88E8061 PCI-E IPMI Gigabit Ethernet Controller + 4343 88E8062 PCI-E IPMI Gigabit Ethernet Controller + 4344 88E8021 PCI-X IPMI Gigabit Ethernet Controller + 4345 88E8022 PCI-X IPMI Gigabit Ethernet Controller + 4346 88E8061 PCI-E IPMI Gigabit Ethernet Controller + 4347 88E8062 PCI-E IPMI Gigabit Ethernet Controller + 4c53 10d0 Telum ASLP10 PrAMC Gigabit Ethernet + 4350 88E8035 PCI-E Fast Ethernet Controller + 1179 0001 Marvell 88E8035 Fast Ethernet Controller (Toshiba) + 11ab 3521 Marvell RDK-8035 + 1854 000d Marvell 88E8035 Fast Ethernet Controller (LGE) + 1854 000e Marvell 88E8035 Fast Ethernet Controller (LGE) + 1854 000f Marvell 88E8035 Fast Ethernet Controller (LGE) + 1854 0011 Marvell 88E8035 Fast Ethernet Controller (LGE) + 1854 0012 Marvell 88E8035 Fast Ethernet Controller (LGE) + 1854 0016 Marvell 88E8035 Fast Ethernet Controller (LGE) + 1854 0017 Marvell 88E8035 Fast Ethernet Controller (LGE) + 1854 0018 Marvell 88E8035 Fast Ethernet Controller (LGE) + 1854 0019 Marvell 88E8035 Fast Ethernet Controller (LGE) + 1854 001c Marvell 88E8035 Fast Ethernet Controller (LGE) + 1854 001e Marvell 88E8035 Fast Ethernet Controller (LGE) + 1854 0020 Marvell 88E8035 Fast Ethernet Controller (LGE) + 4351 88E8036 PCI-E Fast Ethernet Controller + 107b 4009 Marvell 88E8036 Fast Ethernet Controller (Wistron) + 10f7 8338 Marvell 88E8036 Fast Ethernet Controller (Panasonic) + 1179 0001 Marvell 88E8036 Fast Ethernet Controller (Toshiba) + 1179 ff00 Marvell 88E8036 Fast Ethernet Controller (Compal) + 1179 ff10 Marvell 88E8036 Fast Ethernet Controller (Inventec) + 11ab 3621 Marvell RDK-8036 + 13d1 ac12 Abocom EFE3K - 10/100 Ethernet Expresscard + 161f 203d Marvell 88E8036 Fast Ethernet Controller (Arima) + 1854 000d Marvell 88E8036 Fast Ethernet Controller (LGE) + 1854 000e Marvell 88E8036 Fast Ethernet Controller (LGE) + 1854 000f Marvell 88E8036 Fast Ethernet Controller (LGE) + 1854 0011 Marvell 88E8036 Fast Ethernet Controller (LGE) + 1854 0012 Marvell 88E8036 Fast Ethernet Controller (LGE) + 1854 0016 Marvell 88E8036 Fast Ethernet Controller (LGE) + 1854 0017 Marvell 88E8036 Fast Ethernet Controller (LGE) + 1854 0018 Marvell 88E8036 Fast Ethernet Controller (LGE) + 1854 0019 Marvell 88E8036 Fast Ethernet Controller (LGE) + 1854 001c Marvell 88E8036 Fast Ethernet Controller (LGE) + 1854 001e Marvell 88E8036 Fast Ethernet Controller (LGE) + 1854 0020 Marvell 88E8036 Fast Ethernet Controller (LGE) + 4352 88E8038 PCI-E Fast Ethernet Controller + 4353 88E8039 PCI-E Fast Ethernet Controller + 4354 88E8040 PCI-E Fast Ethernet Controller + 4356 88EC033 Ethernet Controller + 435a 88E8048 PCI-E Fast Ethernet Controller + 4360 88E8052 PCI-E ASF Gigabit Ethernet Controller + 1043 8134 Marvell 88E8052 Gigabit Ethernet Controller (Asus) + 107b 4009 Marvell 88E8052 Gigabit Ethernet Controller (Wistron) + 11ab 5221 Marvell RDK-8052 + 1458 e000 Marvell 88E8052 Gigabit Ethernet Controller (Gigabyte) + 1462 052c Marvell 88E8052 Gigabit Ethernet Controller (MSI) + 1849 8052 Marvell 88E8052 Gigabit Ethernet Controller (ASRock) + a0a0 0509 Marvell 88E8052 Gigabit Ethernet Controller (Aopen) + 4361 88E8050 PCI-E ASF Gigabit Ethernet Controller + 107b 3015 Marvell 88E8050 Gigabit Ethernet Controller (Gateway) + 11ab 5021 Marvell 88E8050 Gigabit Ethernet Controller (Intel) + 8086 3063 D925XCVLK mainboard + 8086 3439 Marvell 88E8050 Gigabit Ethernet Controller (Intel) + 4362 88E8053 PCI-E Gigabit Ethernet Controller + 103c 2a0d Marvell 88E8053 Gigabit Ethernet Controller (Asus) + 1043 8142 Marvell 88E8053 Gigabit Ethernet controller PCIe (Asus) + 109f 3197 Marvell 88E8053 Gigabit Ethernet Controller (Trigem) + 10f7 8338 Marvell 88E8053 Gigabit Ethernet Controller (Panasonic) + 10fd a430 Marvell 88E8053 Gigabit Ethernet Controller (SOYO) + 1179 0001 Marvell 88E8053 Gigabit Ethernet Controller (Toshiba) + 1179 ff00 Marvell 88E8053 Gigabit Ethernet Controller (Compal) + 1179 ff10 Marvell 88E8053 Gigabit Ethernet Controller (Inventec) + 11ab 5321 Marvell RDK-8053 + 1297 c240 Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) + 1297 c241 Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) + 1297 c242 Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) + 1297 c243 Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) + 1297 c244 Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) + 13d1 ac11 EGE5K - Giga Ethernet Expresscard + 1458 e000 Marvell 88E8053 Gigabit Ethernet Controller (Gigabyte) + 1462 058c Marvell 88E8053 Gigabit Ethernet Controller (MSI) + 14c0 0012 Marvell 88E8053 Gigabit Ethernet Controller (Compal) + 1558 04a0 Marvell 88E8053 Gigabit Ethernet Controller (Clevo) + 15bd 1003 Marvell 88E8053 Gigabit Ethernet Controller (DFI) + 161f 203c Marvell 88E8053 Gigabit Ethernet Controller (Arima) + 161f 203d Marvell 88E8053 Gigabit Ethernet Controller (Arima) + 1695 9029 Marvell 88E8053 Gigabit Ethernet Controller (Epox) + 17f2 2c08 Marvell 88E8053 Gigabit Ethernet Controller (Albatron) + 17ff 0585 Marvell 88E8053 Gigabit Ethernet Controller (Quanta) + 1849 8053 Marvell 88E8053 Gigabit Ethernet Controller (ASRock) + 1854 000b Marvell 88E8053 Gigabit Ethernet Controller (LGE) + 1854 000c Marvell 88E8053 Gigabit Ethernet Controller (LGE) + 1854 0010 Marvell 88E8053 Gigabit Ethernet Controller (LGE) + 1854 0013 Marvell 88E8053 Gigabit Ethernet Controller (LGE) + 1854 0014 Marvell 88E8053 Gigabit Ethernet Controller (LGE) + 1854 0015 Marvell 88E8053 Gigabit Ethernet Controller (LGE) + 1854 001a Marvell 88E8053 Gigabit Ethernet Controller (LGE) + 1854 001b Marvell 88E8053 Gigabit Ethernet Controller (LGE) + 1854 001d Marvell 88E8053 Gigabit Ethernet Controller (LGE) + 1854 001f Marvell 88E8053 Gigabit Ethernet Controller (LGE) + 1854 0021 Marvell 88E8053 Gigabit Ethernet Controller (LGE) + 1854 0022 Marvell 88E8053 Gigabit Ethernet Controller (LGE) + 270f 2801 Marvell 88E8053 Gigabit Ethernet Controller (Chaintech) + a0a0 0506 Marvell 88E8053 Gigabit Ethernet Controller (Aopen) + 4363 88E8055 PCI-E Gigabit Ethernet Controller + 4364 88E8056 PCI-E Gigabit Ethernet Controller + 4365 88E8070 based Ethernet Controller + 4366 88EC036 PCI-E Gigabit Ethernet Controller + 4367 88EC032 Ethernet Controller + 4368 88EC034 Ethernet Controller + 4369 88EC042 Ethernet Controller + 436a Marvell Yukon 88E8058 PCI-E Gigabit Ethernet Controller + 436b 88E8071 PCI-E Gigabit Ethernet Controller + 4611 GT-64115 System Controller + 4620 GT-64120/64120A/64121A System Controller + 4801 GT-48001 + 5005 Belkin F5D5005 Gigabit Desktop Network PCI Card + 5040 MV88SX5040 4-port SATA I PCI-X Controller + 5041 MV88SX5041 4-port SATA I PCI-X Controller + 5080 MV88SX5080 8-port SATA I PCI-X Controller + 5081 MV88SX5081 8-port SATA I PCI-X Controller + 6041 MV88SX6041 4-port SATA II PCI-X Controller + 6042 88SX6042 PCI-X 4-Port SATA-II + 6081 MV88SX6081 8-port SATA II PCI-X Controller + 6101 88SE6101 single-port PATA133 interface + 6121 88SE6121 SATA II Controller + 6141 88SE614x SATA II PCI-E controller + 6145 88SE6145 SATA II PCI-E controller + 6450 64560 System Controller + 6460 MV64360/64361/64362 System Controller + 6480 MV64460/64461/64462 System Controller + 1775 c200 C2K CompactPCI single board computer + 6485 MV64460/64461/64462 System Controller, Revision B + 7042 88SX7042 PCI-e 4-port SATA-II + f003 GT-64010 Primary Image Piranha Image Generator +11ac Canon Information Systems Research Aust. +11ad Lite-On Communications Inc + 0002 LNE100TX + 11ad 0002 LNE100TX + 11ad 0003 LNE100TX + 11ad f003 LNE100TX + 11ad ffff LNE100TX + 1385 f004 FA310TX + c115 LNE100TX [Linksys EtherFast 10/100] + 11ad c001 LNE100TX [ver 2.0] +11ae Aztech System Ltd +11af Avid Technology Inc. + 0001 Cinema + ee40 Digidesign Audiomedia III +11b0 V3 Semiconductor Inc. + 0002 V300PSC + 0292 V292PBC [Am29030/40 Bridge] + 0960 V96xPBC + c960 V96DPC +11b1 Apricot Computers +11b2 Eastman Kodak +11b3 Barr Systems Inc. +11b4 Leitch Technology International +11b5 Radstone Technology Plc +11b6 United Video Corp +11b7 Motorola +11b8 XPoint Technologies, Inc + 0001 Quad PeerMaster +11b9 Pathlight Technology Inc. + c0ed SSA Controller +11ba Videotron Corp +11bb Pyramid Technology +11bc Network Peripherals Inc + 0001 NP-PCI +11bd Pinnacle Systems Inc. + 002e PCTV 40i + 0040 Royal TS Function 1 + 11bd 0044 PCTV 2000i Dual DVB-T Pro PCI Tuner 1 + 0041 RoyalTS Function 2 + 11bd 0044 PCTV 2000i Dual DVB-T Pro PCI Tuner 2 + 0042 Royal TS Function 3 + 11bd 0044 PCTV 2000i Dual DVB-T Pro PCI Common + bede AV/DV Studio Capture Card +11be International Microcircuits Inc +11bf Astrodesign, Inc. +11c0 Hewlett Packard +# Nee Lucent Microelectronics +11c1 Agere Systems + 0440 56k WinModem + 1033 8015 LT WinModem 56k Data+Fax+Voice+Dsvd + 1033 8047 LT WinModem 56k Data+Fax+Voice+Dsvd + 1033 804f LT WinModem 56k Data+Fax+Voice+Dsvd + 10cf 102c LB LT Modem V.90 56k + 10cf 104a BIBLO LT Modem 56k + 10cf 105f LB2 LT Modem V.90 56k + 1179 0001 Internal V.90 Modem + 11c1 0440 LT WinModem 56k Data+Fax+Voice+Dsvd + 122d 4101 MDP7800-U Modem + 122d 4102 MDP7800SP-U Modem + 13e0 0040 LT WinModem 56k Data+Fax+Voice+Dsvd + 13e0 0440 LT WinModem 56k Data+Fax+Voice+Dsvd + 13e0 0441 LT WinModem 56k Data+Fax+Voice+Dsvd + 13e0 0450 LT WinModem 56k Data+Fax+Voice+Dsvd + 13e0 f100 LT WinModem 56k Data+Fax+Voice+Dsvd + 13e0 f101 LT WinModem 56k Data+Fax+Voice+Dsvd + 144d 2101 LT56PV Modem + 149f 0440 LT WinModem 56k Data+Fax+Voice+Dsvd + 0441 56k WinModem + 1033 804d LT WinModem 56k Data+Fax + 1033 8065 LT WinModem 56k Data+Fax + 1092 0440 Supra 56i + 1179 0001 Internal V.90 Modem + 11c1 0440 LT WinModem 56k Data+Fax + 11c1 0441 LT WinModem 56k Data+Fax + 122d 4100 MDP7800-U Modem + 13e0 0040 LT WinModem 56k Data+Fax + 13e0 0100 LT WinModem 56k Data+Fax + 13e0 0410 LT WinModem 56k Data+Fax + 13e0 0420 TelePath Internet 56k WinModem + 13e0 0440 LT WinModem 56k Data+Fax + 13e0 0443 LT WinModem 56k Data+Fax + 13e0 f102 LT WinModem 56k Data+Fax + 1416 9804 CommWave 56k Modem + 141d 0440 LT WinModem 56k Data+Fax + 144f 0441 Lucent 56k V.90 DF Modem + 144f 0449 Lucent 56k V.90 DF Modem + 144f 110d Lucent Win Modem + 1468 0441 Presario 56k V.90 DF Modem + 1668 0440 Lucent Win Modem + 0442 56k WinModem + 11c1 0440 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd + 11c1 0442 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd + 13e0 0412 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd + 13e0 0442 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd + 13fc 2471 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd + 144d 2104 LT56PT Modem + 144f 1104 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd + 149f 0440 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd + 1668 0440 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd + 0443 LT WinModem + 0444 LT WinModem + 0445 LT WinModem + 8086 2203 PRO/100+ MiniPCI (probably an Ambit U98.003.C.00 combo card) + 8086 2204 PRO/100+ MiniPCI on Armada E500 + 0446 LT WinModem + 0447 LT WinModem + 0448 WinModem 56k + 1014 0131 Lucent Win Modem + 1033 8066 LT WinModem 56k Data+Fax+Voice+Dsvd + 13e0 0030 56k Voice Modem + 13e0 0040 LT WinModem 56k Data+Fax+Voice+Dsvd +# Actiontech eth+modem card as used by Dell &c. + 1668 2400 LT WinModem 56k (MiniPCI Ethernet+Modem) + 0449 WinModem 56k + 0e11 b14d 56k V.90 Modem + 13e0 0020 LT WinModem 56k Data+Fax + 13e0 0041 TelePath Internet 56k WinModem + 1436 0440 Lucent Win Modem + 144f 0449 Lucent 56k V.90 DFi Modem + 1468 0410 IBM ThinkPad T23 (2647-4MG) + 1468 0440 Lucent Win Modem + 1468 0449 Presario 56k V.90 DFi Modem + 044a F-1156IV WinModem (V90, 56KFlex) + 10cf 1072 LB Global LT Modem + 13e0 0012 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd + 13e0 0042 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd + 144f 1005 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd + 044b LT WinModem + 044c LT WinModem + 044d LT WinModem + 044e LT WinModem + 044f V90 WildWire Modem + 0450 LT WinModem + 1033 80a8 Versa Note Vxi + 144f 4005 Magnia SG20 + 1468 0450 Evo N600c + 0451 LT WinModem + 0452 LT WinModem + 0453 LT WinModem + 0454 LT WinModem + 0455 LT WinModem + 0456 LT WinModem + 0457 LT WinModem + 0458 LT WinModem + 0459 LT WinModem + 045a LT WinModem + 045c LT WinModem + 0461 V90 WildWire Modem + 0462 V90 WildWire Modem + 0480 Venus Modem (V90, 56KFlex) + 048c V.92 56K WinModem +# InPorte Home Internal 56k Modem/fax/answering machine/SMS Features + 048f V.92 56k WinModem + 1040 HDA softmodem + 2600 StarPro26XX family (SP2601, SP2603, SP2612) DSP + 5801 USB + 5802 USS-312 USB Controller + 5803 USS-344S USB Controller + 5811 FW323 + 8086 524c D865PERL mainboard + dead 0800 FireWire Host Bus Adapter + 8110 T8110 H.100/H.110 TDM switch + 12d9 000c E1/T1 PMXc cPCI carrier card + ab10 WL60010 Wireless LAN MAC + ab11 WL60040 Multimode Wireles LAN MAC + 11c1 ab12 WaveLAN 11abg Cardbus card (Model 1102) + 11c1 ab13 WaveLAN 11abg MiniPCI card (Model 0512) + 11c1 ab15 WaveLAN 11abg Cardbus card (Model 1106) + 11c1 ab16 WaveLAN 11abg MiniPCI card (Model 0516) + ab20 ORiNOCO PCI Adapter + ab21 Agere Wireless PCI Adapter + ab30 Hermes2 Mini-PCI WaveLAN a/b/g + 14cd 2012 Hermes2 Mini-PCI WaveLAN a/b/g + ed00 ET-131x PCI-E Ethernet Controller + ed01 ET-131x PCI-E Ethernet Controller +11c2 Sand Microelectronics +11c3 NEC Corporation +11c4 Document Technologies, Inc +11c5 Shiva Corporation +11c6 Dainippon Screen Mfg. Co. Ltd +11c7 D.C.M. Data Systems +11c8 Dolphin Interconnect Solutions AS + 0658 PSB32 SCI-Adapter D31x + d665 PSB64 SCI-Adapter D32x + d667 PSB66 SCI-Adapter D33x +11c9 Magma + 0010 16-line serial port w/- DMA + 0011 4-line serial port w/- DMA +11ca LSI Systems, Inc +11cb Specialix Research Ltd. + 2000 PCI_9050 + 11cb 0200 SX + 11cb b008 I/O8+ + 4000 SUPI_1 + 8000 T225 +11cc Michels & Kleberhoff Computer GmbH +11cd HAL Computer Systems, Inc. +11ce Netaccess +11cf Pioneer Electronic Corporation +11d0 Lockheed Martin Federal Systems-Manassas +11d1 Auravision + 01f7 VxP524 +11d2 Intercom Inc. +11d3 Trancell Systems Inc +11d4 Analog Devices + 0078 AD1986HD sound chip + 1535 Blackfin BF535 processor + 1805 SM56 PCI modem + 1889 AD1889 sound chip + 1981 AD1981HD sound chip + 1983 AD1983HD sound chip + 1986 AD1986A sound chip + 11d4 1986 Lenovo N100 B9G + 198b AD1988B Sound Chip + 5340 AD1881 sound chip +11d5 Ikon Corporation + 0115 10115 + 0117 10117 +11d6 Tekelec Telecom +11d7 Trenton Technology, Inc. +11d8 Image Technologies Development +11d9 TEC Corporation +11da Novell +11db Sega Enterprises Ltd +11dc Questra Corporation +11dd Crosfield Electronics Limited +11de Zoran Corporation + 6057 ZR36057PQC Video cutting chipset + 1031 7efe DC10 Plus + 1031 fc00 MiroVIDEO DC50, Motion JPEG Capture/CODEC Board + 12f8 8a02 Tekram Video Kit + 13ca 4231 JPEG/TV Card + 6120 ZR36120 + 1328 f001 Cinemaster C DVD Decoder + 13c2 0000 MediaFocus Satellite TV Card + 1de1 9fff Video Kit C210 +11df New Wave PDG +11e0 Cray Communications A/S +11e1 GEC Plessey Semi Inc. +11e2 Samsung Information Systems America +11e3 Quicklogic Corporation + 0001 COM-ON-AIR Dosch&Amand DECT + 5030 PC Watchdog +11e4 Second Wave Inc +11e5 IIX Consulting +11e6 Mitsui-Zosen System Research +11e7 Toshiba America, Elec. Company +11e8 Digital Processing Systems Inc. +11e9 Highwater Designs Ltd. +11ea Elsag Bailey +11eb Formation Inc. +11ec Coreco Inc +11ed Mediamatics +11ee Dome Imaging Systems Inc +11ef Nicolet Technologies B.V. +11f0 Compu-Shack + 4231 FDDI + 4232 FASTline UTP Quattro + 4233 FASTline FO + 4234 FASTline UTP + 4235 FASTline-II UTP + 4236 FASTline-II FO + 4731 GIGAline +11f1 Symbios Logic Inc +11f2 Picture Tel Japan K.K. +11f3 Keithley Metrabyte +11f4 Kinetic Systems Corporation + 2915 CAMAC controller +11f5 Computing Devices International +11f6 Compex + 0112 ENet100VG4 + 0113 FreedomLine 100 + 1401 ReadyLink 2000 + 2011 RL100-ATX 10/100 + 11f6 2011 RL100-ATX + 2201 ReadyLink 100TX (Winbond W89C840) + 11f6 2011 ReadyLink 100TX + 9881 RL100TX Fast Ethernet +11f7 Scientific Atlanta +11f8 PMC-Sierra Inc. + 7364 PM7364 [FREEDM - 32 Frame Engine & Datalink Mgr] + 7375 PM7375 [LASAR-155 ATM SAR] + 7384 PM7384 [FREEDM - 84P672 Frm Engine & Datalink Mgr] + 8000 PM8000 [SPC - SAS Protocol Controller] +11f9 I-Cube Inc +11fa Kasan Electronics Company, Ltd. +11fb Datel Inc +11fc Silicon Magic +11fd High Street Consultants +11fe Comtrol Corporation + 0001 RocketPort 32 port w/external I/F + 0002 RocketPort 8 port w/external I/F + 0003 RocketPort 16 port w/external I/F + 0004 RocketPort 4 port w/quad cable + 0005 RocketPort 8 port w/octa cable + 0006 RocketPort 8 port w/RJ11 connectors + 0007 RocketPort 4 port w/RJ11 connectors + 0008 RocketPort 8 port w/ DB78 SNI (Siemens) connector + 0009 RocketPort 16 port w/ DB78 SNI (Siemens) connector + 000a RocketPort Plus 4 port + 000b RocketPort Plus 8 port + 000c RocketModem 6 port + 000d RocketModem 4-port + 000e RocketPort Plus 2 port RS232 + 000f RocketPort Plus 2 port RS422 + 0040 RocketPort Infinity Octa, 8port, RJ45 + 0041 RocketPort Infinity 32port, External Interface + 0042 RocketPort Infinity 8port, External Interface + 0043 RocketPort Infinity 16port, External Interface + 0044 RocketPort Infinity Quad, 4port, DB + 0045 RocketPort Infinity Octa, 8port, DB + 0047 RocketPort Infinity 4port, RJ45 + 004f RocketPort Infinity 2port, SMPTE + 0052 RocketPort Infinity Octa, 8port, SMPTE + 0801 RocketPort UPCI 32 port w/external I/F + 0802 RocketPort UPCI 8 port w/external I/F + 0803 RocketPort UPCI 16 port w/external I/F + 0805 RocketPort UPCI 8 port w/octa cable + 080c RocketModem III 8 port + 080d RocketModem III 4 port + 0812 RocketPort UPCI Plus 8 port RS422 + 0903 RocketPort Compact PCI 16 port w/external I/F + 8015 RocketPort 4-port UART 16954 +11ff Scion Corporation + 0003 AG-5 +1200 CSS Corporation +1201 Vista Controls Corp +1202 Network General Corp. + 4300 Gigabit Ethernet Adapter + 1202 9841 SK-9841 LX + 1202 9842 SK-9841 LX dual link + 1202 9843 SK-9843 SX + 1202 9844 SK-9843 SX dual link +1203 Bayer Corporation, Agfa Division +1204 Lattice Semiconductor Corporation +1205 Array Corporation +1206 Amdahl Corporation +1208 Parsytec GmbH + 4853 HS-Link Device +1209 SCI Systems Inc +120a Synaptel +120b Adaptive Solutions +120c Technical Corp. +120d Compression Labs, Inc. +120e Cyclades Corporation + 0100 Cyclom-Y below first megabyte + 0101 Cyclom-Y above first megabyte + 0102 Cyclom-4Y below first megabyte + 0103 Cyclom-4Y above first megabyte + 0104 Cyclom-8Y below first megabyte + 0105 Cyclom-8Y above first megabyte + 0200 Cyclades-Z below first megabyte + 0201 Cyclades-Z above first megabyte + 0300 PC300/RSV or /X21 (2 ports) + 0301 PC300/RSV or /X21 (1 port) + 0310 PC300/TE (2 ports) + 0311 PC300/TE (1 port) + 0320 PC300/TE-M (2 ports) + 0321 PC300/TE-M (1 port) + 0400 PC400 +120f Essential Communications + 0001 Roadrunner serial HIPPI +1210 Hyperparallel Technologies +1211 Braintech Inc +1212 Kingston Technology Corp. +1213 Applied Intelligent Systems, Inc. +1214 Performance Technologies, Inc. +1215 Interware Co., Ltd +1216 Purup Prepress A/S +1217 O2 Micro, Inc. + 00f7 Firewire (IEEE 1394) + 6729 OZ6729 + 673a OZ6730 + 6832 OZ6832/6833 CardBus Controller + 6836 OZ6836/6860 CardBus Controller + 6872 OZ6812 CardBus Controller + 6925 OZ6922 CardBus Controller + 6933 OZ6933/711E1 CardBus/SmartCardBus Controller + 1025 1016 Travelmate 612 TX + 6972 OZ601/6912/711E0 CardBus/SmartCardBus Controller + 1014 020c ThinkPad R30 + 1179 0001 Magnia Z310 + 7110 OZ711Mx 4-in-1 MemoryCardBus Accelerator + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 1734 106c Amilo A1645 + 7112 OZ711EC1/M1 SmartCardBus/MemoryCardBus Controller + 7113 OZ711EC1 SmartCardBus Controller + 7114 OZ711M1/MC1 4-in-1 MemoryCardBus Controller + 7120 Integrated MMC/SD Controller + 7130 Integrated MS/xD Controller + 7134 OZ711MP1/MS1 MemoryCardBus Controller + 7135 Cardbus bridge + 7136 OZ711SP1 Memory CardBus Controller + 71e2 OZ711E2 SmartCardBus Controller + 7212 OZ711M2 4-in-1 MemoryCardBus Controller + 7213 OZ6933E CardBus Controller + 7223 OZ711M3/MC3 4-in-1 MemoryCardBus Controller + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 10cf 11c4 Lifebook P5020D Laptop + 7233 OZ711MP3/MS3 4-in-1 MemoryCardBus Controller +1218 Hybricon Corp. +1219 First Virtual Corporation +121a 3Dfx Interactive, Inc. + 0001 Voodoo + 0002 Voodoo 2 + 0003 Voodoo Banshee + 1092 0003 Monster Fusion + 1092 4000 Monster Fusion + 1092 4002 Monster Fusion + 1092 4801 Monster Fusion AGP + 1092 4803 Monster Fusion AGP + 1092 8030 Monster Fusion + 1092 8035 Monster Fusion AGP + 10b0 0001 Dragon 4000 + 1102 1018 3D Blaster Banshee VE + 121a 0001 Voodoo Banshee AGP + 121a 0003 Voodoo Banshee AGP SGRAM + 121a 0004 Voodoo Banshee + 139c 0016 Raven + 139c 0017 Raven + 14af 0002 Maxi Gamer Phoenix + 0004 Voodoo Banshee [Velocity 100] + 0005 Voodoo 3 + 121a 0004 Voodoo3 AGP + 121a 0030 Voodoo3 AGP + 121a 0031 Voodoo3 AGP + 121a 0034 Voodoo3 AGP + 121a 0036 Voodoo3 2000 PCI + 121a 0037 Voodoo3 AGP + 121a 0038 Voodoo3 AGP + 121a 003a Voodoo3 AGP + 121a 0044 Voodoo3 + 121a 004b Velocity 100 + 121a 004c Velocity 200 + 121a 004d Voodoo3 AGP + 121a 004e Voodoo3 AGP + 121a 0051 Voodoo3 AGP + 121a 0052 Voodoo3 AGP + 121a 0057 Voodoo3 3000 PCI + 121a 0060 Voodoo3 3500 TV (NTSC) + 121a 0061 Voodoo3 3500 TV (PAL) + 121a 0062 Voodoo3 3500 TV (SECAM) + 0009 Voodoo 4 / Voodoo 5 + 121a 0003 Voodoo5 PCI 5500 + 121a 0009 Voodoo5 AGP 5500/6000 + 0057 Voodoo 3/3000 [Avenger] +121b Advanced Telecommunications Modules +121c Nippon Texaco., Ltd +121d Lippert Automationstechnik GmbH +121e CSPI + 0201 Myrinet 2000 Scalable Cluster Interconnect +121f Arcus Technology, Inc. +1220 Ariel Corporation + 1220 AMCC 5933 TMS320C80 DSP/Imaging board +1221 Contec Co., Ltd + 9172 PO-64L(PCI)H [Isolated Digital Output Board for PCI] + 91a2 PO-32L(PCI)H [Isolated Digital Output Board for PCI] + 91c3 DA16-16(LPCI)L [Un-insulated highly precise analog output board for Low Profile PCI] + b152 DIO-96D2-LPCI + c103 ADA16-32/2(PCI)F [High-Speed Analog I/O Board for PCI] +1222 Ancor Communications, Inc. +1223 Artesyn Communication Products + 0003 PM/Link + 0004 PM/T1 + 0005 PM/E1 + 0008 PM/SLS + 0009 BajaSpan Resource Target + 000a BajaSpan Section 0 + 000b BajaSpan Section 1 + 000c BajaSpan Section 2 + 000d BajaSpan Section 3 + 000e PM/PPC +1224 Interactive Images +1225 Power I/O, Inc. +1227 Tech-Source + 0006 Raptor GFX 8P + 0023 Raptor GFX [1100T] +1228 Norsk Elektro Optikk A/S +1229 Data Kinesis Inc. +122a Integrated Telecom +122b LG Industrial Systems Co., Ltd +122c Sican GmbH +122d Aztech System Ltd + 1206 368DSP + 1400 Trident PCI288-Q3DII (NX) + 50dc 3328 Audio + 122d 0001 3328 Audio + 80da 3328 Audio + 122d 0001 3328 Audio +122e Xyratex +122f Andrew Corporation +1230 Fishcamp Engineering +1231 Woodward McCoach, Inc. +1232 GPT Limited +1233 Bus-Tech, Inc. +# Also Bochs uses this for virtual VGA... +1234 Technical Corp. +1235 Risq Modular Systems, Inc. +1236 Sigma Designs Corporation + 0000 RealMagic64/GX + 6401 REALmagic 64/GX (SD 6425) +1237 Alta Technology Corporation +1238 Adtran +1239 3DO Company +123a Visicom Laboratories, Inc. +123b Seeq Technology, Inc. +123c Century Systems, Inc. +123d Engineering Design Team, Inc. + 0000 EasyConnect 8/32 + 0002 EasyConnect 8/64 + 0003 EasyIO +123e Simutech, Inc. +123f C-Cube Microsystems + 00e4 MPEG + 8120 E4? + 11bd 0006 DV500 E4 + 11bd 000a DV500 E4 + 11bd 000f DV500 E4 + 1809 0016 Emuzed MAUI-III PCI PVR FM TV + 8888 Cinemaster C 3.0 DVD Decoder + 1002 0001 Cinemaster C 3.0 DVD Decoder + 1002 0002 Cinemaster C 3.0 DVD Decoder + 1328 0001 Cinemaster C 3.0 DVD Decoder +1240 Marathon Technologies Corp. +1241 DSC Communications +# Formerly Jaycor Networks, Inc. +1242 JNI Corporation + 1560 JNIC-1560 PCI-X Fibre Channel Controller + 1242 6562 FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter + 1242 656a FCX-6562 PCI-X Fibre Channel Adapter + 4643 FCI-1063 Fibre Channel Adapter + 6562 FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter + 656a FCX-6562 PCI-X Fibre Channel Adapter +1243 Delphax +1244 AVM Audiovisuelles MKTG & Computer System GmbH + 0700 B1 ISDN + 0800 C4 ISDN + 0a00 A1 ISDN [Fritz] + 1244 0a00 FRITZ!Card ISDN Controller + 0e00 Fritz!PCI v2.0 ISDN + 1100 C2 ISDN + 1200 T1 ISDN + 2700 Fritz!Card DSL SL + 2900 Fritz!Card DSL v2.0 +1245 A.P.D., S.A. +1246 Dipix Technologies, Inc. +1247 Xylon Research, Inc. +1248 Central Data Corporation +1249 Samsung Electronics Co., Ltd. +124a AEG Electrocom GmbH +124b SBS/Greenspring Modular I/O + 0040 PCI-40A or cPCI-200 Quad IndustryPack carrier + 124b 9080 PCI9080 Bridge +124c Solitron Technologies, Inc. +124d Stallion Technologies, Inc. + 0000 EasyConnection 8/32 + 0002 EasyConnection 8/64 + 0003 EasyIO + 0004 EasyConnection/RA +124e Cylink +124f Infortrend Technology, Inc. + 0041 IFT-2000 Series RAID Controller +1250 Hitachi Microcomputer System Ltd +1251 VLSI Solutions Oy +1253 Guzik Technical Enterprises +1254 Linear Systems Ltd. +1255 Optibase Ltd + 1110 MPEG Forge + 1210 MPEG Fusion + 2110 VideoPlex + 2120 VideoPlex CC + 2130 VideoQuest +1256 Perceptive Solutions, Inc. + 4201 PCI-2220I + 4401 PCI-2240I + 5201 PCI-2000 +1257 Vertex Networks, Inc. +1258 Gilbarco, Inc. +1259 Allied Telesyn International + 2560 AT-2560 Fast Ethernet Adapter (i82557B) + a117 RTL81xx Fast Ethernet + a11e RTL81xx Fast Ethernet + a120 21x4x DEC-Tulip compatible 10/100 Ethernet +125a ABB Power Systems +125b Asix Electronics Corporation + 1400 ALFA GFC2204 Fast Ethernet + 1186 1100 AX8814X Based PCI Fast Ethernet Adapter +125c Aurora Technologies, Inc. + 0101 Saturn 4520P + 0640 Aries 16000P +125d ESS Technology + 0000 ES336H Fax Modem (Early Model) + 1948 ES1948 Maestro-1 + 1968 ES1968 Maestro 2 + 1028 0085 ES1968 Maestro-2 PCI + 1033 8051 ES1968 Maestro-2 Audiodrive + 1969 ES1969 Solo-1 Audiodrive + 1014 0166 ES1969 SOLO-1 AudioDrive on IBM Aptiva Mainboard + 125d 8888 Solo-1 Audio Adapter + 153b 111b Terratec 128i PCI + 1978 ES1978 Maestro 2E + 0e11 b112 Armada M700/E500 + 1033 803c ES1978 Maestro-2E Audiodrive + 1033 8058 ES1978 Maestro-2E Audiodrive + 1092 4000 Monster Sound MX400 + 1179 0001 ES1978 Maestro-2E Audiodrive + 1988 ES1988 Allegro-1 + 0e11 0098 Evo N600c + 1092 4100 Sonic Impact S100 + 125d 1988 ESS Allegro-1 Audiodrive + 1989 ESS Modem + 125d 1989 ESS Modem + 1998 ES1983S Maestro-3i PCI Audio Accelerator + 1028 00b1 Latitude C600 + 1028 00e6 ES1983S Maestro-3i (Dell Inspiron 8100) + 1999 ES1983S Maestro-3i PCI Modem Accelerator + 199a ES1983S Maestro-3i PCI Audio Accelerator + 199b ES1983S Maestro-3i PCI Modem Accelerator + 2808 ES336H Fax Modem (Later Model) + 2838 ES2838/2839 SuperLink Modem + 2898 ES2898 Modem + 125d 0424 ES56-PI Data Fax Modem + 125d 0425 ES56T-PI Data Fax Modem + 125d 0426 ES56V-PI Data Fax Modem + 125d 0427 VW-PI Data Fax Modem + 125d 0428 ES56ST-PI Data Fax Modem + 125d 0429 ES56SV-PI Data Fax Modem + 147a c001 ES56-PI Data Fax Modem + 148d 1030 HCF WV-PI56 [ESS ES56-PI Data Fax Modem] + 14fe 0428 ES56-PI Data Fax Modem + 14fe 0429 ES56-PI Data Fax Modem +125e Specialvideo Engineering SRL +125f Concurrent Technologies, Inc. +1260 Intersil Corporation + 3872 Prism 2.5 Wavelan chipset + 1468 0202 LAN-Express IEEE 802.11b Wireless LAN + 3873 Prism 2.5 Wavelan chipset + 1186 3501 DWL-520 Wireless PCI Adapter + 1186 3700 DWL-520 Wireless PCI Adapter, Rev E1 + 1385 4105 MA311 802.11b wireless adapter + 1668 0414 HWP01170-01 802.11b PCI Wireless Adapter + 16a5 1601 AIR.mate PC-400 PCI Wireless LAN Adapter + 1737 3874 WMP11 Wireless 802.11b PCI Adapter + 8086 2510 M3AWEB Wireless 802.11b MiniPCI Adapter + 8086 2513 Wireless 802.11b MiniPCI Adapter + 3886 ISL3886 [Prism Javelin/Prism Xbow] + 17cf 0037 XG-901 and clones Wireless Adapter + 3890 ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] + 10b8 2802 SMC2802W Wireless PCI Adapter + 10b8 2835 SMC2835W Wireless Cardbus Adapter + 10b8 a835 SMC2835W V2 Wireless Cardbus Adapter + 1113 4203 WN4201B + 1113 8201 T-Com T-Sinus 154pcicard Wireless PCI Adapter + 1113 b301 T-Sinus 154card Cardbus + 1113 ee03 SMC2802W V2 Wireless PCI Adapter [ISL3886] + 1113 ee08 SMC2835W V3 EU Wireless Cardbus Adapter + 1186 3202 DWL-G650 A1 Wireless Adapter + 1259 c104 CG-WLCB54GT Wireless Adapter + 1260 0000 WG511 Wireless Adapter + 1385 4800 WG511 Wireless Adapter + 16a5 1605 ALLNET ALL0271 Wireless PCI Adapter + 17cf 0014 XG-600 and clones Wireless Adapter + 17cf 0020 XG-900 and clones Wireless Adapter + 8130 HMP8130 NTSC/PAL Video Decoder + 8131 HMP8131 NTSC/PAL Video Decoder +# This is probably more likely a HW fault, but I am keeping it for now --mj + ffff ISL3886IK + 1260 0000 Senao 3054MP+ (J) mini-PCI WLAN 802.11g adapter +1261 Matsushita-Kotobuki Electronics Industries, Ltd. +1262 ES Computer Company, Ltd. +1263 Sonic Solutions +1264 Aval Nagasaki Corporation +1265 Casio Computer Co., Ltd. +1266 Microdyne Corporation + 0001 NE10/100 Adapter (i82557B) + 1910 NE2000Plus (RT8029) Ethernet Adapter + 1266 1910 NE2000Plus Ethernet Adapter +1267 S. A. Telecommunications + 5352 PCR2101 + 5a4b Telsat Turbo +1268 Tektronix +1269 Thomson-CSF/TTM +126a Lexmark International, Inc. +126b Adax, Inc. +126c Northern Telecom + 1211 10/100BaseTX [RTL81xx] + 126c 802.11b Wireless Ethernet Adapter +126d Splash Technology, Inc. +126e Sumitomo Metal Industries, Ltd. +126f Silicon Motion, Inc. + 0501 SM501 VoyagerGX Rev. AA + 0510 SM501 VoyagerGX Rev. B + 0710 SM710 LynxEM + 0712 SM712 LynxEM+ + 0720 SM720 Lynx3DM + 0730 SM731 Cougar3DR + 0810 SM810 LynxE + 0811 SM811 LynxE + 0820 SM820 Lynx3D + 0910 SM910 +1270 Olympus Optical Co., Ltd. +1271 GW Instruments +1272 Telematics International +1273 Hughes Network Systems + 0002 DirecPC +1274 Ensoniq + 1171 ES1373 [AudioPCI] (also Creative Labs CT5803) + 1371 ES1371 [AudioPCI-97] + 0e11 0024 AudioPCI on Motherboard Compaq Deskpro + 0e11 b1a7 ES1371, ES1373 AudioPCI + 1033 80ac ES1371, ES1373 AudioPCI + 1042 1854 Tazer + 107b 8054 Tabor2 + 1274 1371 Creative Sound Blaster AudioPCI64V, AudioPCI128 + 1274 8001 CT4751 board + 1462 6470 ES1371, ES1373 AudioPCI On Motherboard MS-6147 1.1A + 1462 6560 ES1371, ES1373 AudioPCI On Motherboard MS-6156 1.10 + 1462 6630 ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 1.0A + 1462 6631 ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 1.0A + 1462 6632 ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 2.0A + 1462 6633 ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 2.0A + 1462 6820 ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00 + 1462 6822 ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00A + 1462 6830 ES1371, ES1373 AudioPCI On Motherboard MS-6183 1.00 + 1462 6880 ES1371, ES1373 AudioPCI On Motherboard MS-6188 1.00 + 1462 6900 ES1371, ES1373 AudioPCI On Motherboard MS-6190 1.00 + 1462 6910 ES1371, ES1373 AudioPCI On Motherboard MS-6191 + 1462 6930 ES1371, ES1373 AudioPCI On Motherboard MS-6193 + 1462 6990 ES1371, ES1373 AudioPCI On Motherboard MS-6199BX 2.0A + 1462 6991 ES1371, ES1373 AudioPCI On Motherboard MS-6199VIA 2.0A + 14a4 2077 ES1371, ES1373 AudioPCI On Motherboard KR639 + 14a4 2105 ES1371, ES1373 AudioPCI On Motherboard MR800 + 14a4 2107 ES1371, ES1373 AudioPCI On Motherboard MR801 + 14a4 2172 ES1371, ES1373 AudioPCI On Motherboard DR739 + 1509 9902 ES1371, ES1373 AudioPCI On Motherboard KW11 + 1509 9903 ES1371, ES1373 AudioPCI On Motherboard KW31 + 1509 9904 ES1371, ES1373 AudioPCI On Motherboard KA11 + 1509 9905 ES1371, ES1373 AudioPCI On Motherboard KC13 + 152d 8801 ES1371, ES1373 AudioPCI On Motherboard CP810E + 152d 8802 ES1371, ES1373 AudioPCI On Motherboard CP810 + 152d 8803 ES1371, ES1373 AudioPCI On Motherboard P3810E + 152d 8804 ES1371, ES1373 AudioPCI On Motherboard P3810-S + 152d 8805 ES1371, ES1373 AudioPCI On Motherboard P3820-S + 270f 2001 ES1371, ES1373 AudioPCI On Motherboard 6CTR + 270f 2200 ES1371, ES1373 AudioPCI On Motherboard 6WTX + 270f 3000 ES1371, ES1373 AudioPCI On Motherboard 6WSV + 270f 3100 ES1371, ES1373 AudioPCI On Motherboard 6WIV2 + 270f 3102 ES1371, ES1373 AudioPCI On Motherboard 6WIV + 270f 7060 ES1371, ES1373 AudioPCI On Motherboard 6ASA2 + 8086 4249 ES1371, ES1373 AudioPCI On Motherboard BI440ZX + 8086 424c ES1371, ES1373 AudioPCI On Motherboard BL440ZX + 8086 425a ES1371, ES1373 AudioPCI On Motherboard BZ440ZX + 8086 4341 ES1371, ES1373 AudioPCI On Motherboard Cayman + 8086 4343 ES1371, ES1373 AudioPCI On Motherboard Cape Cod + 8086 4541 D815EEA Motherboard + 8086 4649 ES1371, ES1373 AudioPCI On Motherboard Fire Island + 8086 464a ES1371, ES1373 AudioPCI On Motherboard FJ440ZX + 8086 4d4f ES1371, ES1373 AudioPCI On Motherboard Montreal + 8086 4f43 ES1371, ES1373 AudioPCI On Motherboard OC440LX + 8086 5243 ES1371, ES1373 AudioPCI On Motherboard RC440BX + 8086 5352 ES1371, ES1373 AudioPCI On Motherboard SunRiver + 8086 5643 ES1371, ES1373 AudioPCI On Motherboard Vancouver + 8086 5753 ES1371, ES1373 AudioPCI On Motherboard WS440BX + 5000 ES1370 [AudioPCI] + 5880 5880 AudioPCI + 1274 2000 Creative Sound Blaster AudioPCI128 + 1274 2003 Creative SoundBlaster AudioPCI 128 + 1274 5880 Creative Sound Blaster AudioPCI128 + 1274 8001 Sound Blaster 16PCI 4.1ch + 1458 a000 5880 AudioPCI On Motherboard 6OXET + 1462 6880 5880 AudioPCI On Motherboard MS-6188 1.00 + 270f 2001 5880 AudioPCI On Motherboard 6CTR + 270f 2200 5880 AudioPCI On Motherboard 6WTX + 270f 7040 5880 AudioPCI On Motherboard 6ATA4 +1275 Network Appliance Corporation +1276 Switched Network Technologies, Inc. +1277 Comstream +1278 Transtech Parallel Systems Ltd. + 0701 TPE3/TM3 PowerPC Node + 0710 TPE5 PowerPC PCI board + 1101 TS-C43 card with 4 ADSP-TS101 processors +1279 Transmeta Corporation + 0060 TM8000 Northbridge + 0061 TM8000 AGP bridge + 0295 Northbridge + 0395 LongRun Northbridge + 0396 SDRAM controller + 0397 BIOS scratchpad +127a Rockwell International + 1002 HCF 56k Data/Fax Modem + 1092 094c SupraExpress 56i PRO [Diamond SUP2380] + 122d 4002 HPG / MDP3858-U + 122d 4005 MDP3858-E + 122d 4007 MDP3858-A/-NZ + 122d 4012 MDP3858-SA + 122d 4017 MDP3858-W + 122d 4018 MDP3858-W + 127a 1002 Rockwell 56K D/F HCF Modem + 1003 HCF 56k Data/Fax Modem + 0e11 b0bc 229-DF Zephyr + 0e11 b114 229-DF Cheetah + 1033 802b 229-DF + 13df 1003 PCI56RX Modem + 13e0 0117 IBM + 13e0 0147 IBM F-1156IV+/R3 Spain V.90 Modem + 13e0 0197 IBM + 13e0 01c7 IBM F-1156IV+/R3 WW V.90 Modem + 13e0 01f7 IBM + 1436 1003 IBM + 1436 1103 IBM 5614PM3G V.90 Modem + 1436 1602 Compaq 229-DF Ducati + 1004 HCF 56k Data/Fax/Voice Modem + 1048 1500 MicroLink 56k Modem + 10cf 1059 Fujitsu 229-DFRT + 1005 HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem + 1005 127a AOpen FM56-P + 1033 8029 229-DFSV + 1033 8054 Modem + 10cf 103c Fujitsu + 10cf 1055 Fujitsu 229-DFSV + 10cf 1056 Fujitsu 229-DFSV + 122d 4003 MDP3858SP-U + 122d 4006 Packard Bell MDP3858V-E + 122d 4008 MDP3858SP-A/SP-NZ + 122d 4009 MDP3858SP-E + 122d 4010 MDP3858V-U + 122d 4011 MDP3858SP-SA + 122d 4013 MDP3858V-A/V-NZ + 122d 4015 MDP3858SP-W + 122d 4016 MDP3858V-W + 122d 4019 MDP3858V-SA + 13df 1005 PCI56RVP Modem + 13e0 0187 IBM + 13e0 01a7 IBM + 13e0 01b7 IBM DF-1156IV+/R3 Spain V.90 Modem + 13e0 01d7 IBM DF-1156IV+/R3 WW V.90 Modem + 1436 1005 IBM + 1436 1105 IBM + 1437 1105 IBM 5614PS3G V.90 Modem + 1022 HCF 56k Modem + 1436 1303 M3-5614PM3G V.90 Modem + 1023 HCF 56k Data/Fax Modem + 122d 4020 Packard Bell MDP3858-WE + 122d 4023 MDP3858-UE + 13e0 0247 IBM F-1156IV+/R6 Spain V.90 Modem + 13e0 0297 IBM + 13e0 02c7 IBM F-1156IV+/R6 WW V.90 Modem + 1436 1203 IBM + 1436 1303 IBM + 1024 HCF 56k Data/Fax/Voice Modem + 1025 HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem + 10cf 106a Fujitsu 235-DFSV + 122d 4021 Packard Bell MDP3858V-WE + 122d 4022 MDP3858SP-WE + 122d 4024 MDP3858V-UE + 122d 4025 MDP3858SP-UE + 1026 HCF 56k PCI Speakerphone Modem + 1032 HCF 56k Modem + 1033 HCF 56k Modem + 1034 HCF 56k Modem + 1035 HCF 56k PCI Speakerphone Modem + 1036 HCF 56k Modem + 1085 HCF 56k Volcano PCI Modem + 2005 HCF 56k Data/Fax Modem + 104d 8044 229-DFSV + 104d 8045 229-DFSV + 104d 8055 PBE/Aztech 235W-DFSV + 104d 8056 235-DFSV + 104d 805a Modem + 104d 805f Modem + 104d 8074 Modem + 2013 HSF 56k Data/Fax Modem + 1179 0001 Modem + 1179 ff00 Modem + 2014 HSF 56k Data/Fax/Voice Modem + 10cf 1057 Fujitsu Citicorp III + 122d 4050 MSP3880-U + 122d 4055 MSP3880-W + 2015 HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem + 10cf 1063 Fujitsu + 10cf 1064 Fujitsu + 1468 2015 Fujitsu + 2016 HSF 56k Data/Fax/Voice/Spkp Modem + 122d 4051 MSP3880V-W + 122d 4052 MSP3880SP-W + 122d 4054 MSP3880V-U + 122d 4056 MSP3880SP-U + 122d 4057 MSP3880SP-A + 4311 Riptide HSF 56k PCI Modem + 127a 4311 Ring Modular? Riptide HSF RT HP Dom + 13e0 0210 HP-GVC + 4320 Riptide PCI Audio Controller + 1235 4320 Riptide PCI Audio Controller + 4321 Riptide HCF 56k PCI Modem + 1235 4321 Hewlett Packard DF + 1235 4324 Hewlett Packard DF + 13e0 0210 Hewlett Packard DF + 144d 2321 Riptide + 4322 Riptide PCI Game Controller + 1235 4322 Riptide PCI Game Controller + 8234 RapidFire 616X ATM155 Adapter + 108d 0022 RapidFire 616X ATM155 Adapter + 108d 0027 RapidFire 616X ATM155 Adapter +127b Pixera Corporation +127c Crosspoint Solutions, Inc. +127d Vela Research +127e Winnov, L.P. +127f Fujifilm +1280 Photoscript Group Ltd. +1281 Yokogawa Electric Corporation +1282 Davicom Semiconductor, Inc. + 9009 Ethernet 100/10 MBit + 9100 21x4x DEC-Tulip compatible 10/100 Ethernet + 9102 21x4x DEC-Tulip compatible 10/100 Ethernet + 9132 Ethernet 100/10 MBit +1283 Integrated Technology Express, Inc. + 673a IT8330G + 8152 IT8152F/G Advanced RISC-to-PCI Companion Chip + 8211 ITE 8211F Single Channel UDMA 133 + 1043 8138 P5GD1-VW Mainboard +# PCI version seems to be IT8212, embedded seems to be ITE8212 + 8212 IT/ITE8212 Dual channel ATA RAID controller + 1283 0001 IT/ITE8212 Dual channel ATA RAID controller + 8330 IT8330G + 8872 IT8874F PCI Dual Serial Port Controller + 8888 IT8888F PCI to ISA Bridge with SMB + 8889 IT8889F PCI to ISA Bridge + e886 IT8330G +1284 Sahara Networks, Inc. +1285 Platform Technologies, Inc. + 0100 AGOGO sound chip (aka ESS Maestro 1) +1286 Mazet GmbH +1287 M-Pact, Inc. + 001e LS220D DVD Decoder + 001f LS220C DVD Decoder +1288 Timestep Corporation +1289 AVC Technology, Inc. +128a Asante Technologies, Inc. +128b Transwitch Corporation +128c Retix Corporation +128d G2 Networks, Inc. + 0021 ATM155 Adapter +128e Hoontech Corporation/Samho Multi Tech Ltd. + 0008 ST128 WSS/SB + 0009 ST128 SAM9407 + 000a ST128 Game Port + 000b ST128 MPU Port + 000c ST128 Ctrl Port +128f Tateno Dennou, Inc. +1290 Sord Computer Corporation +1291 NCS Computer Italia +1292 Tritech Microelectronics Inc + fc02 Pyramid3D TR25202 +1293 Media Reality Technology +1294 Rhetorex, Inc. +1295 Imagenation Corporation +1296 Kofax Image Products +1297 Holco Enterprise Co, Ltd/Shuttle Computer +1298 Spellcaster Telecommunications Inc. +1299 Knowledge Technology Lab. +129a VMetro, inc. + 0615 PBT-615 PCI-X Bus Analyzer +129b Image Access +129c Jaycor +129d Compcore Multimedia, Inc. +129e Victor Company of Japan, Ltd. +129f OEC Medical Systems, Inc. +12a0 Allen-Bradley Company +12a1 Simpact Associates, Inc. +12a2 Newgen Systems Corporation +12a3 Lucent Technologies + 8105 T8105 H100 Digital Switch +12a4 NTT Electronics Technology Company +12a5 Vision Dynamics Ltd. +12a6 Scalable Networks, Inc. +12a7 AMO GmbH +12a8 News Datacom +12a9 Xiotech Corporation +12aa SDL Communications, Inc. +12ab Yuan Yuan Enterprise Co., Ltd. + 0000 MPG160/Kuroutoshikou ITVC15-STVLP + 0002 AU8830 [Vortex2] Based Sound Card With A3D Support + 2300 Club-3D Zap TV2100 + 3000 MPG-200C PCI DVD Decoder Card + fff3 MPG600/Kuroutoshikou ITVC16-STVLP + ffff MPG600/Kuroutoshikou ITVC16-STVLP +12ac Measurex Corporation +12ad Multidata GmbH +12ae Alteon Networks Inc. + 0001 AceNIC Gigabit Ethernet + 1014 0104 Gigabit Ethernet-SX PCI Adapter + 12ae 0001 Gigabit Ethernet-SX (Universal) + 1410 0104 Gigabit Ethernet-SX PCI Adapter + 0002 AceNIC Gigabit Ethernet (Copper) + 10a9 8002 Acenic Gigabit Ethernet + 12ae 0002 Gigabit Ethernet-T (3C986-T) + 00fa Farallon PN9100-T Gigabit Ethernet +12af TDK USA Corp +12b0 Jorge Scientific Corp +12b1 GammaLink +12b2 General Signal Networks +12b3 Inter-Face Co Ltd +12b4 FutureTel Inc +12b5 Granite Systems Inc. +12b6 Natural Microsystems +12b7 Cognex Modular Vision Systems Div. - Acumen Inc. +12b8 Korg +# Nee US Robotics +12b9 3Com Corp, Modem Division + 1006 WinModem + 12b9 005c USR 56k Internal Voice WinModem (Model 3472) + 12b9 005e USR 56k Internal WinModem (Models 662975) + 12b9 0062 USR 56k Internal Voice WinModem (Model 662978) + 12b9 0068 USR 56k Internal Voice WinModem (Model 5690) + 12b9 007a USR 56k Internal Voice WinModem (Model 662974) + 12b9 007f USR 56k Internal WinModem (Models 5698, 5699) + 12b9 0080 USR 56k Internal WinModem (Models 2975, 3528) + 12b9 0081 USR 56k Internal Voice WinModem (Models 2974, 3529) + 12b9 0091 USR 56k Internal Voice WinModem (Model 2978) + 1007 USR 56k Internal WinModem + 12b9 00a3 USR 56k Internal WinModem (Model 3595) + 12b9 00c4 U.S. Robotics 56K Voice Win Int (2884a) + 1008 56K FaxModem Model 5610 + 12b9 00a2 USR 56k Internal FAX Modem (Model 2977) + 12b9 00aa USR 56k Internal Voice Modem (Model 2976) + 12b9 00ab USR 56k Internal Voice Modem (Model 5609) + 12b9 00ac USR 56k Internal Voice Modem (Model 3298) + 12b9 00ad USR 56k Internal FAX Modem (Model 5610) + 12b9 baba USR 56K Internal Voice Modem 3CP3298-DEL (Model 5601) [Hawk] +12ba BittWare, Inc. +12bb Nippon Unisoft Corporation +12bc Array Microsystems +12bd Computerm Corp. +12be Anchor Chips Inc. + 3041 AN3041Q CO-MEM + 3042 AN3042Q CO-MEM Lite + 12be 3042 Anchor Chips Lite Evaluation Board +12bf Fujifilm Microdevices +12c0 Infimed +12c1 GMM Research Corp +12c2 Mentec Limited +12c3 Holtek Microelectronics Inc + 0058 PCI NE2K Ethernet + 5598 PCI NE2K Ethernet +12c4 Connect Tech Inc + 0001 Blue HEAT/PCI 8 (RS232/CL/RJ11) + 0002 Blue HEAT/PCI 4 (RS232) + 0003 Blue HEAT/PCI 2 (RS232) + 0004 Blue HEAT/PCI 8 (UNIV, RS485) + 0005 Blue HEAT/PCI 4+4/6+2 (UNIV, RS232/485) + 0006 Blue HEAT/PCI 4 (OPTO, RS485) + 0007 Blue HEAT/PCI 2+2 (RS232/485) + 0008 Blue HEAT/PCI 2 (OPTO, Tx, RS485) + 0009 Blue HEAT/PCI 2+6 (RS232/485) + 000a Blue HEAT/PCI 8 (Tx, RS485) + 000b Blue HEAT/PCI 4 (Tx, RS485) + 000c Blue HEAT/PCI 2 (20 MHz, RS485) + 000d Blue HEAT/PCI 2 PTM + 0100 NT960/PCI + 0201 cPCI Titan - 2 Port + 0202 cPCI Titan - 4 Port + 0300 CTI PCI UART 2 (RS232) + 0301 CTI PCI UART 4 (RS232) + 0302 CTI PCI UART 8 (RS232) + 0310 CTI PCI UART 1+1 (RS232/485) + 0311 CTI PCI UART 2+2 (RS232/485) + 0312 CTI PCI UART 4+4 (RS232/485) + 0320 CTI PCI UART 2 + 0321 CTI PCI UART 4 + 0322 CTI PCI UART 8 + 0330 CTI PCI UART 2 (RS485) + 0331 CTI PCI UART 4 (RS485) + 0332 CTI PCI UART 8 (RS485) +12c5 Picture Elements Incorporated + 007e Imaging/Scanning Subsystem Engine + 007f Imaging/Scanning Subsystem Engine + 0081 PCIVST [Grayscale Thresholding Engine] + 0085 Video Simulator/Sender + 0086 THR2 Multi-scale Thresholder +12c6 Mitani Corporation +12c7 Dialogic Corp +# 12 Line, 6 port, CT-BUS/SC-BUS, loopstart FXO adaptor. + 0546 Springware D/120JCT-LS +# 24 Channel, 1 Port, CT-BUS/SC-BUS, T1/PRI adaptor. + 0647 Springware D/240JCT-T1 +# 4 Line, 4 port, CT-BUS/SC-BUS, loopstart FXO adaptor. Revision 01 + 0676 Springware D/41JCT-LS +# 48 Channel, 2 Port, CT-BUS/SC-BUS, T1/PRI adaptor. + 0685 Springware D/480JCT-2T1 +12c8 G Force Co, Ltd +12c9 Gigi Operations +12ca Integrated Computing Engines +12cb Antex Electronics Corporation +12cc Pluto Technologies International +12cd Aims Lab +12ce Netspeed Inc. +12cf Prophet Systems, Inc. +12d0 GDE Systems, Inc. +12d1 PSITech +12d2 NVidia / SGS Thomson (Joint Venture) + 0008 NV1 + 0009 DAC64 + 0018 Riva128 + 1048 0c10 VICTORY Erazor + 107b 8030 STB Velocity 128 + 1092 0350 Viper V330 + 1092 1092 Viper V330 + 10b4 1b1b STB Velocity 128 + 10b4 1b1d STB Velocity 128 + 10b4 1b1e STB Velocity 128, PAL TV-Out + 10b4 1b20 STB Velocity 128 Sapphire + 10b4 1b21 STB Velocity 128 + 10b4 1b22 STB Velocity 128 AGP, NTSC TV-Out + 10b4 1b23 STB Velocity 128 AGP, PAL TV-Out + 10b4 1b27 STB Velocity 128 DVD + 10b4 1b88 MVP Pro 128 + 10b4 222a STB Velocity 128 AGP + 10b4 2230 STB Velocity 128 + 10b4 2232 STB Velocity 128 + 10b4 2235 STB Velocity 128 AGP + 2a15 54a3 3DVision-SAGP / 3DexPlorer 3000 + 0019 Riva128ZX + 0020 TNT + 0028 TNT2 + 0029 UTNT2 + 002c VTNT2 + 00a0 ITNT2 +12d3 Vingmed Sound A/S +12d4 Ulticom (Formerly DGM&S) + 0200 T1 Card +12d5 Equator Technologies Inc + 0003 BSP16 + 1000 BSP15 +12d6 Analogic Corp +12d7 Biotronic SRL +12d8 Pericom Semiconductor + 01a7 PI7C21P100 PCI to PCI Bridge + 8150 PCI to PCI Bridge +12d9 Aculab PLC + 0002 PCI Prosody + 0004 cPCI Prosody + 0005 Aculab E1/T1 PCI card + 1078 Prosody X class e1000 device + 12d9 000d Prosody X PCI + 12d9 000e Prosody X cPCI +12da True Time Inc. +12db Annapolis Micro Systems, Inc +12dc Symicron Computer Communication Ltd. +12dd Management Graphics +12de Rainbow Technologies + 0200 CryptoSwift CS200 +12df SBS Technologies Inc +12e0 Chase Research + 0010 ST16C654 Quad UART + 0020 ST16C654 Quad UART + 0030 ST16C654 Quad UART +12e1 Nintendo Co, Ltd +12e2 Datum Inc. Bancomm-Timing Division +12e3 Imation Corp - Medical Imaging Systems +12e4 Brooktrout Technology Inc +12e5 Apex Semiconductor Inc +12e6 Cirel Systems +12e7 Sunsgroup Corporation +12e8 Crisc Corp +12e9 GE Spacenet +12ea Zuken +12eb Aureal Semiconductor + 0001 Vortex 1 + 104d 8036 AU8820 Vortex Digital Audio Processor + 1092 2000 Sonic Impact A3D + 1092 2100 Sonic Impact A3D + 1092 2110 Sonic Impact A3D + 1092 2200 Sonic Impact A3D + 122d 1002 AU8820 Vortex Digital Audio Processor + 12eb 0001 AU8820 Vortex Digital Audio Processor + 5053 3355 Montego + 0002 Vortex 2 + 104d 8049 AU8830 Vortex 3D Digital Audio Processor + 104d 807b AU8830 Vortex 3D Digital Audio Processor + 1092 3000 Monster Sound II + 1092 3001 Monster Sound II + 1092 3002 Monster Sound II + 1092 3003 Monster Sound II + 1092 3004 Monster Sound II + 12eb 0002 AU8830 Vortex 3D Digital Audio Processor + 12eb 0088 AU8830 Vortex 3D Digital Audio Processor + 144d 3510 AU8830 Vortex 3D Digital Audio Processor + 5053 3356 Montego II + 0003 AU8810 Vortex Digital Audio Processor + 104d 8049 AU8810 Vortex Digital Audio Processor + 104d 8077 AU8810 Vortex Digital Audio Processor + 109f 1000 AU8810 Vortex Digital Audio Processor + 12eb 0003 AU8810 Vortex Digital Audio Processor + 1462 6780 AU8810 Vortex Digital Audio Processor + 14a4 2073 AU8810 Vortex Digital Audio Processor + 14a4 2091 AU8810 Vortex Digital Audio Processor + 14a4 2104 AU8810 Vortex Digital Audio Processor + 14a4 2106 AU8810 Vortex Digital Audio Processor + 8803 Vortex 56k Software Modem + 12eb 8803 Vortex 56k Software Modem +12ec 3A International, Inc. +12ed Optivision Inc. +12ee Orange Micro +12ef Vienna Systems +12f0 Pentek +12f1 Sorenson Vision Inc +12f2 Gammagraphx, Inc. +12f3 Radstone Technology +12f4 Megatel +12f5 Forks +12f6 Dawson France +12f7 Cognex +12f8 Electronic Design GmbH + 0002 VideoMaker +12f9 Four Fold Ltd +12fb Spectrum Signal Processing + 0001 PMC-MAI + 00f5 F5 Dakar + 02ad PMC-2MAI + 2adc ePMC-2ADC + 3100 PRO-3100 + 3500 PRO-3500 + 4d4f Modena + 8120 ePMC-8120 + da62 Daytona C6201 PCI (Hurricane) + db62 Ingliston XBIF + dc62 Ingliston PLX9054 + dd62 Ingliston JTAG/ISP + eddc ePMC-MSDDC + fa01 ePMC-FPGA +12fc Capital Equipment Corp +12fd I2S +12fe ESD Electronic System Design GmbH +12ff Lexicon +1300 Harman International Industries Inc +1302 Computer Sciences Corp +1303 Innovative Integration +1304 Juniper Networks +1305 Netphone, Inc +1306 Duet Technologies +# Nee ComputerBoards +1307 Measurement Computing + 0001 PCI-DAS1602/16 + 000b PCI-DIO48H + 000c PCI-PDISO8 + 000d PCI-PDISO16 + 000f PCI-DAS1200 + 0010 PCI-DAS1602/12 + 0014 PCI-DIO24H + 0015 PCI-DIO24H/CTR3 + 0016 PCI-DIO48H/CTR15 + 0017 PCI-DIO96H + 0018 PCI-CTR05 + 0019 PCI-DAS1200/JR + 001a PCI-DAS1001 + 001b PCI-DAS1002 + 001c PCI-DAS1602JR/16 + 001d PCI-DAS6402/16 + 001e PCI-DAS6402/12 + 001f PCI-DAS16/M1 + 0020 PCI-DDA02/12 + 0021 PCI-DDA04/12 + 0022 PCI-DDA08/12 + 0023 PCI-DDA02/16 + 0024 PCI-DDA04/16 + 0025 PCI-DDA08/16 + 0026 PCI-DAC04/12-HS + 0027 PCI-DAC04/16-HS + 0028 PCI-DIO24 + 0029 PCI-DAS08 + 002c PCI-INT32 + 0033 PCI-DUAL-AC5 + 0034 PCI-DAS-TC + 0035 PCI-DAS64/M1/16 + 0036 PCI-DAS64/M2/16 + 0037 PCI-DAS64/M3/16 + 004c PCI-DAS1000 + 004d PCI-QUAD04 + 0052 PCI-DAS4020/12 + 0054 PCI-DIO96 + 005d PCI-DAS6023 + 005e PCI-DAS6025 + 005f PCI-DAS6030 + 0060 PCI-DAS6031 + 0061 PCI-DAS6032 + 0062 PCI-DAS6033 + 0063 PCI-DAS6034 + 0064 PCI-DAS6035 + 0065 PCI-DAS6040 + 0066 PCI-DAS6052 + 0067 PCI-DAS6070 + 0068 PCI-DAS6071 + 006f PCI-DAS6036 + 0078 PCI-DAS6013 + 0079 PCI-DAS6014 +1308 Jato Technologies Inc. + 0001 NetCelerator Adapter + 1308 0001 NetCelerator Adapter +1309 AB Semiconductor Ltd +130a Mitsubishi Electric Microcomputer +130b Colorgraphic Communications Corp +130c Ambex Technologies, Inc +130d Accelerix Inc +130e Yamatake-Honeywell Co. Ltd +130f Advanet Inc +1310 Gespac +1311 Videoserver, Inc +1312 Acuity Imaging, Inc +1313 Yaskawa Electric Co. +1316 Teradyne Inc +1317 ADMtek + 0981 21x4x DEC-Tulip compatible 10/100 Ethernet + 0985 NC100 Network Everywhere Fast Ethernet 10/100 + 1734 100c Scenic N300 ADMtek AN983 10/100 Mbps PCI Adapter + 1985 21x4x DEC-Tulip compatible 10/100 Ethernet + 2850 HSP MicroModem 56 + 5120 ADM5120 OpenGate System-on-Chip + 8201 ADM8211 802.11b Wireless Interface + 10b8 2635 SMC2635W 802.11b (11Mbps) wireless lan pcmcia (cardbus) card + 1317 8201 SMC2635W 802.11b (11mbps) wireless lan pcmcia (cardbus) card + 8211 ADM8211 802.11b Wireless Interface + 9511 21x4x DEC-Tulip compatible 10/100 Ethernet +1318 Packet Engines Inc. + 0911 GNIC-II PCI Gigabit Ethernet [Hamachi] +1319 Fortemedia, Inc + 0801 Xwave QS3000A [FM801] + 1319 1319 FM801 PCI Audio + 0802 Xwave QS3000A [FM801 game port] + 1319 1319 FM801 PCI Joystick + 1000 FM801 PCI Audio + 1001 FM801 PCI Joystick +131a Finisar Corp. +131c Nippon Electro-Sensory Devices Corp +131d Sysmic, Inc. +131e Xinex Networks Inc +131f Siig Inc + 1000 CyberSerial (1-port) 16550 + 1001 CyberSerial (1-port) 16650 + 1002 CyberSerial (1-port) 16850 + 1010 Duet 1S(16550)+1P + 1011 Duet 1S(16650)+1P + 1012 Duet 1S(16850)+1P + 1020 CyberParallel (1-port) + 1021 CyberParallel (2-port) + 1030 CyberSerial (2-port) 16550 + 1031 CyberSerial (2-port) 16650 + 1032 CyberSerial (2-port) 16850 + 1034 Trio 2S(16550)+1P + 1035 Trio 2S(16650)+1P + 1036 Trio 2S(16850)+1P + 1050 CyberSerial (4-port) 16550 + 1051 CyberSerial (4-port) 16650 + 1052 CyberSerial (4-port) 16850 + 2000 CyberSerial (1-port) 16550 + 2001 CyberSerial (1-port) 16650 + 2002 CyberSerial (1-port) 16850 + 2010 Duet 1S(16550)+1P + 2011 Duet 1S(16650)+1P + 2012 Duet 1S(16850)+1P + 2020 CyberParallel (1-port) + 2021 CyberParallel (2-port) + 2030 CyberSerial (2-port) 16550 + 131f 2030 PCI Serial Card + 2031 CyberSerial (2-port) 16650 + 2032 CyberSerial (2-port) 16850 + 2040 Trio 1S(16550)+2P + 2041 Trio 1S(16650)+2P + 2042 Trio 1S(16850)+2P + 2050 CyberSerial (4-port) 16550 + 2051 CyberSerial (4-port) 16650 + 2052 CyberSerial (4-port) 16850 + 2060 Trio 2S(16550)+1P + 2061 Trio 2S(16650)+1P + 2062 Trio 2S(16850)+1P + 2081 CyberSerial (8-port) ST16654 +1320 Crypto AG +1321 Arcobel Graphics BV +1322 MTT Co., Ltd +1323 Dome Inc +1324 Sphere Communications +1325 Salix Technologies, Inc +1326 Seachange international +1327 Voss scientific +1328 quadrant international +1329 Productivity Enhancement +132a Microcom Inc. +132b Broadband Technologies +132c Micrel Inc +132d Integrated Silicon Solution, Inc. +1330 MMC Networks +1331 RadiSys Corporation + 0030 ENP-2611 + 8200 82600 Host Bridge + 8201 82600 IDE + 8202 82600 USB + 8210 82600 PCI Bridge +1332 Micro Memory + 5415 MM-5415CN PCI Memory Module with Battery Backup + 5425 MM-5425CN PCI 64/66 Memory Module with Battery Backup + 6140 MM-6140D +1334 Redcreek Communications, Inc +1335 Videomail, Inc +1337 Third Planet Publishing +1338 BT Electronics +133a Vtel Corp +133b Softcom Microsystems +133c Holontech Corp +133d SS Technologies +133e Virtual Computer Corp +133f SCM Microsystems +1340 Atalla Corp +1341 Kyoto Microcomputer Co +1342 Promax Systems Inc +1343 Phylon Communications Inc +1344 Crucial Technology +1345 Arescom Inc +1347 Odetics +1349 Sumitomo Electric Industries, Ltd. +134a DTC Technology Corp. + 0001 Domex 536 + 0002 Domex DMX3194UP SCSI Adapter +134b ARK Research Corp. +134c Chori Joho System Co. Ltd +134d PCTel Inc + 2189 HSP56 MicroModem + 2486 2304WT V.92 MDC Modem + 7890 HSP MicroModem 56 + 134d 0001 PCT789 adapter + 7891 HSP MicroModem 56 + 134d 0001 HSP MicroModem 56 + 7892 HSP MicroModem 56 + 7893 HSP MicroModem 56 + 7894 HSP MicroModem 56 + 7895 HSP MicroModem 56 + 7896 HSP MicroModem 56 + 7897 HSP MicroModem 56 +134e CSTI +134f Algo System Co Ltd +1350 Systec Co. Ltd +1351 Sonix Inc +1353 Thales Idatys + 0002 Proserver + 0003 PCI-FUT + 0004 PCI-S0 + 0005 PCI-FUT-S0 +1354 Dwave System Inc +1355 Kratos Analytical Ltd +1356 The Logical Co +1359 Prisa Networks +135a Brain Boxes +135b Giganet Inc +135c Quatech Inc + 0010 QSC-100 + 0020 DSC-100 + 0030 DSC-200/300 + 0040 QSC-200/300 + 0050 ESC-100D + 0060 ESC-100M + 00f0 MPAC-100 Syncronous Serial Card (Zilog 85230) + 0170 QSCLP-100 + 0180 DSCLP-100 + 0190 SSCLP-100 + 01a0 QSCLP-200/300 + 01b0 DSCLP-200/300 + 01c0 SSCLP-200/300 +135d ABB Network Partner AB +135e Sealevel Systems Inc + 5101 Route 56.PCI - Multi-Protocol Serial Interface (Zilog Z16C32) + 7101 Single Port RS-232/422/485/530 + 7201 Dual Port RS-232/422/485 Interface + 7202 Dual Port RS-232 Interface + 7401 Four Port RS-232 Interface + 7402 Four Port RS-422/485 Interface + 7801 Eight Port RS-232 Interface + 7804 Eight Port RS-232/422/485 Interface + 8001 8001 Digital I/O Adapter +135f I-Data International A-S +1360 Meinberg Funkuhren + 0101 PCI32 DCF77 Radio Clock + 0102 PCI509 DCF77 Radio Clock + 0103 PCI510 DCF77 Radio Clock + 0104 PCI511 DCF77 Radio Clock + 0105 PEX511 DCF77 Radio Clock (PCI Express) + 0201 GPS167PCI GPS Receiver + 0202 GPS168PCI GPS Receiver + 0203 GPS169PCI GPS Receiver + 0204 GPS170PCI GPS Receiver + 0205 GPS170PEX GPS Receiver (PCI Express) + 0301 TCR510PCI IRIG Timecode Reader + 0302 TCR167PCI IRIG Timecode Reader + 0303 TCR511PCI IRIG Timecode Reader + 0304 TCR511PEX IRIG Timecode Reader (PCI Express) +1361 Soliton Systems K.K. +1362 Fujifacom Corporation +1363 Phoenix Technology Ltd +1364 ATM Communications Inc +1365 Hypercope GmbH +1366 Teijin Seiki Co. Ltd +1367 Hitachi Zosen Corporation +1368 Skyware Corporation +1369 Digigram +136a High Soft Tech + 0004 HST Saphir VII mini PCI + 0007 HST Saphir III E MultiLink 4 + 0008 HST Saphir III E MultiLink 8 + 000a HST Saphir III E MultiLink 2 +136b Kawasaki Steel Corporation + ff01 KL5A72002 Motion JPEG +136c Adtek System Science Co Ltd +136d Gigalabs Inc +136f Applied Magic Inc +1370 ATL Products +1371 CNet Technology Inc + 434e GigaCard Network Adapter + 1371 434e N-Way PCI-Bus Giga-Card 1000/100/10Mbps(L) +1373 Silicon Vision Inc +1374 Silicom Ltd. + 0024 Silicom Dual port Giga Ethernet BGE Bypass Server Adapter + 0025 Silicom Quad port Giga Ethernet BGE Bypass Server Adapter + 0026 Silicom Dual port Fiber Giga Ethernet 546 Bypass Server Adapter + 0027 Silicom Dual port Fiber LX Giga Ethernet 546 Bypass Server Adapter + 0029 Silicom Dual port Copper Giga Ethernet 546GB Bypass Server Adapter + 002a Silicom Dual port Fiber Giga Ethernet 546 TAP/Bypass Server Adapter + 002b Silicom Dual port Copper Fast Ethernet 546 TAP/Bypass Server Adapter (PXE2TBI) + 002c Silicom Quad port Copper Giga Ethernet 546GB Bypass Server Adapter (PXG4BPI) + 002d Silicom Quad port Fiber-SX Giga Ethernet 546GB Bypass Server Adapter (PXG4BPFI) + 002e Silicom Quad port Fiber-LX Giga Ethernet 546GB Bypass Server Adapter (PXG4BPFI-LX) + 002f Silicom Dual port Fiber-SX Giga Ethernet 546GB Low profile Bypass Server Adapter (PXG2BPFIL) + 0030 Silicom Dual port Fiber-LX Giga Ethernet 546GB Low profile Bypass Server Adapter + 0031 Silicom Quad port Copper Giga Ethernet PCI-E Bypass Server Adapter + 0032 Silicom Dual port Copper Fast Ethernet 546 TAP/Bypass Server Adapter + 0034 Silicom Dual port Copper Giga Ethernet PCI-E BGE Bypass Server Adapter + 0035 Silicom Quad port Copper Giga Ethernet PCI-E BGE Bypass Server Adapter + 0036 Silicom Dual port Fiber Giga Ethernet PCI-E BGE Bypass Server Adapter + 0037 Silicom Quad port Copper Ethernet PCI-E Intel based Bypass Server Adapter + 0038 Silicom Quad port Copper Ethernet PCI-E Intel based Bypass Server Adapter + 0039 Silicom Dual port Fiber-SX Ethernet PCI-E Intel based Bypass Server Adapter + 003a Silicom Dual port Fiber-LX Ethernet PCI-E Intel based Bypass Server Adapter + 003b Silicom Dual port Fiber Ethernet PMC Intel based Bypass Server Adapter (PMCX2BPFI) + 003c Silicom Dual port Copper Ethernet PCI-X BGE based Bypass Server Adapter (PXG2BPRB) +1375 Argosystems Inc +1376 LMC +1377 Electronic Equipment Production & Distribution GmbH +1378 Telemann Co. Ltd +1379 Asahi Kasei Microsystems Co Ltd +137a Mark of the Unicorn Inc + 0001 PCI-324 Audiowire Interface +137b PPT Vision +137c Iwatsu Electric Co Ltd +137d Dynachip Corporation +137e Patriot Scientific Corporation +137f Japan Satellite Systems Inc +1380 Sanritz Automation Co Ltd +1381 Brains Co. Ltd +1382 Marian - Electronic & Software + 0001 ARC88 audio recording card + 2008 Prodif 96 Pro sound system + 2048 Prodif Plus sound system + 2088 Marc 8 Midi sound system + 20c8 Marc A sound system + 4008 Marc 2 sound system + 4010 Marc 2 Pro sound system + 4048 Marc 4 MIDI sound system + 4088 Marc 4 Digi sound system + 4248 Marc X sound system + 4424 TRACE D4 Sound System +1383 Controlnet Inc +1384 Reality Simulation Systems Inc +1385 Netgear + 0013 WG311T 108 Mbps Wireless PCI Adapter + 006b WA301 802.11b Wireless PCI Adapter + 311a GA311 Gigabit Ethernet PCI Adapter + 4100 MA301 802.11b Wireless PCI Adapter + 4105 MA311 802.11b Wireless PCI Adapter + 4251 WG111T 108 Mbps Wireless USB 2.0 Adapter + 4400 WAG511 802.11a/b/g Dual Band Wireless PC Card + 4600 WAG511 802.11a/b/g Dual Band Wireless PC Card + 4601 WAG511 802.11a/b/g Dual Band Wireless PC Card + 4610 WAG511 802.11a/b/g Dual Band Wireless PC Card + 4800 WG511(v1) 54 Mbps Wireless PC Card + 4900 WG311v1 54 Mbps Wireless PCI Adapter + 4a00 WAG311 802.11a/g Wireless PCI Adapter + 4b00 WG511T 108 Mbps Wireless PC Card + 4c00 WG311v2 54 Mbps Wireless-G PCI Adapter + 4d00 WG311T 108 Mbps Wireless PCI Adapter + 4e00 WG511v2 54 Mbps Wireless PC Card + 4f00 WG511U Double 108 Mbps Wireless PC Card + 5200 GA511 Gigabit PC Card + 620a GA620 Gigabit Ethernet + 622a GA622 + 630a GA630 Gigabit Ethernet + 6b00 WG311v3 54 Mbps Wireless PCI Adapter + 6d00 WPNT511 RangeMax 240 Mbps Wireless PC Card + 7b00 WN511B RangeMax Next 270 Mbps Wireless PC Card + 7c00 WN511T RangeMax Next 300 Mbps Wireless PC Card + 7d00 WN311B RangeMax Next 270 Mbps Wireless PCI Adapter + 7e00 WN311T RangeMax Next 300 Mbps Wireless PCI Adapter + f004 FA310TX +1386 Video Domain Technologies +1387 Systran Corp +1388 Hitachi Information Technology Co Ltd +1389 Applicom International + 0001 PCI1500PFB [Intelligent fieldbus adaptor] +138a Fusion Micromedia Corp +138b Tokimec Inc +138c Silicon Reality +138d Future Techno Designs pte Ltd +138e Basler GmbH +138f Patapsco Designs Inc +1390 Concept Development Inc +1391 Development Concepts Inc +1392 Medialight Inc +1393 Moxa Technologies Co Ltd + 0001 UC7000 Serial + 1020 CP102 (2-port RS-232 PCI) + 1021 CP102UL (2-port RS-232 Universal PCI) + 1022 CP102U (2-port RS-232 Universal PCI) + 1040 Smartio C104H/PCI + 1041 CP104U (4-port RS-232 Universal PCI) + 1042 CP104JU (4-port RS-232 Universal PCI) + 1043 CP104EL (4-port RS-232 Smart PCI Express) + 1044 POS104UL (4-port RS-232 Universal PCI) + 1080 CB108 (8-port RS-232 PC/104-plus Module) + 1140 CT-114 series + 1141 Industrio CP-114 + 1142 CB114 (4-port RS-232/422/485 PC/104-plus Module) + 1180 CP118U (8-port RS-232/422/485 Smart Universal PCI) + 1181 CP118EL (8-port RS-232/422/485 Smart PCI Express) + 1320 CP132 (2-port RS-422/485 PCI) + 1321 CP132U (2-Port RS-422/485 Universal PCI) + 1340 CP134U (4-Port RS-422/485 Universal PCI) + 1341 CB134I (4-port RS-422/485 PC/104-plus Module) + 1380 CP138U (8-port RS-232/422/485 Smart Universal PCI) + 1680 Smartio C168H/PCI + 1681 CP-168U V2 Smart Serial Board (8-port RS-232) + 1682 CP168EL (8-port RS-232 Smart PCI Express) + 2040 Intellio CP-204J + 2180 Intellio C218 Turbo PCI + 3200 Intellio C320 Turbo PCI +1394 Level One Communications + 0001 LXT1001 Gigabit Ethernet + 1394 0001 NetCelerator Adapter +1395 Ambicom Inc +1396 Cipher Systems Inc +1397 Cologne Chip Designs GmbH + 08b4 ISDN network Controller [HFC-4S] + 1397 b520 HFC-4S [IOB4ST] + 1397 b540 HFC-4S [Swyx 4xS0 SX2 QuadBri] + 1397 b556 HFC-4S [Junghanns DuoDBRI] + 16b8 ISDN network Controller [HFC-8S] + 2bd0 ISDN network controller [HFC-PCI] + 0675 1704 ISDN Adapter (PCI Bus, D, C) + 0675 1708 ISDN Adapter (PCI Bus, D, C, ACPI) + 1397 2bd0 ISDN Board + e4bf 1000 CI1-1-Harp + 30b1 ISDN network Controller [HFC-E1] + b700 ISDN network controller PrimuX S0 [HFC-PCI] + f001 GSM Network Controller [HFC-4GSM] +1398 Clarion co. Ltd +1399 Rios systems Co Ltd +139a Alacritech Inc + 0001 Quad Port 10/100 Server Accelerator + 0003 Single Port 10/100 Server Accelerator + 0005 Single Port Gigabit Server Accelerator +139b Mediasonic Multimedia Systems Ltd +139c Quantum 3d Inc +139d EPL limited +139e Media4 +139f Aethra s.r.l. +13a0 Crystal Group Inc +13a1 Kawasaki Heavy Industries Ltd +13a2 Ositech Communications Inc +13a3 Hifn Inc. + 0005 7751 Security Processor + 0006 6500 Public Key Processor + 0007 7811 Security Processor + 0012 7951 Security Processor + 0014 78XX Security Processor + 0016 8065 Security Processor + 0017 8165 Security Processor + 0018 8154 Security Processor + 001d 7956 Security Processor + 0020 7955 Security Processor + 0026 8155 Security Processor + 002e 9630 Compression Processor +13a4 Rascom Inc +13a5 Audio Digital Imaging Inc +13a6 Videonics Inc +13a7 Teles AG +13a8 Exar Corp. + 0152 XR17C/D152 Dual PCI UART + 0154 XR17C154 Quad UART + 0158 XR17C158 Octal UART +13a9 Siemens Medical Systems, Ultrasound Group +13aa Broadband Networks Inc +13ab Arcom Control Systems Ltd +13ac Motion Media Technology Ltd +13ad Nexus Inc +13ae ALD Technology Ltd +13af T.Sqware +13b0 Maxspeed Corp +13b1 Tamura corporation +13b2 Techno Chips Co. Ltd +13b3 Lanart Corporation +13b4 Wellbean Co Inc +13b5 ARM +13b6 Dlog GmbH +13b7 Logic Devices Inc +13b8 Nokia Telecommunications oy +13b9 Elecom Co Ltd +13ba Oxford Instruments +13bb Sanyo Technosound Co Ltd +13bc Bitran Corporation +13bd Sharp corporation +13be Miroku Jyoho Service Co. Ltd +13bf Sharewave Inc +13c0 Microgate Corporation + 0010 SyncLink Adapter v1 + 0020 SyncLink SCC Adapter + 0030 SyncLink Multiport Adapter + 0210 SyncLink Adapter v2 +13c1 3ware Inc + 1000 5xxx/6xxx-series PATA-RAID + 1001 7xxx/8xxx-series PATA/SATA-RAID + 13c1 1001 7xxx/8xxx-series PATA/SATA-RAID + 1002 9xxx-series SATA-RAID + 1003 9550SX SATA-RAID + 1004 9650SE SATA-II RAID +13c2 Technotrend Systemtechnik GmbH + 000e Technotrend/Hauppauge DVB card rev2.3 + 1019 TTechnoTrend-budget DVB S2-3200 +13c3 Janz Computer AG +13c4 Phase Metrics +13c5 Alphi Technology Corp +13c6 Condor Engineering Inc + 0520 CEI-520 A429 Card + 0620 CEI-620 A429 Card + 0820 CEI-820 A429 Card +13c7 Blue Chip Technology Ltd +13c8 Apptech Inc +13c9 Eaton Corporation +13ca Iomega Corporation +13cb Yano Electric Co Ltd +13cc Metheus Corporation +13cd Compatible Systems Corporation +13ce Cocom A/S +13cf Studio Audio & Video Ltd +13d0 Techsan Electronics Co Ltd + 2103 B2C2 FlexCopII DVB chip / Technisat SkyStar2 DVB card + 2200 B2C2 FlexCopIII DVB chip / Technisat SkyStar2 DVB card +13d1 Abocom Systems Inc + ab02 ADMtek Centaur-C rev 17 [D-Link DFE-680TX] CardBus Fast Ethernet Adapter + ab03 21x4x DEC-Tulip compatible 10/100 Ethernet + ab06 RTL8139 [FE2000VX] CardBus Fast Ethernet Attached Port Adapter + ab08 21x4x DEC-Tulip compatible 10/100 Ethernet +13d2 Shark Multimedia Inc +13d3 IMC Networks + 3219 DTV-DVB 7049A DVB-T USB Stick +13d4 Graphics Microsystems Inc +13d5 Media 100 Inc +13d6 K.I. Technology Co Ltd +13d7 Toshiba Engineering Corporation +13d8 Phobos corporation +13d9 Apex PC Solutions Inc +13da Intresource Systems pte Ltd +13db Janich & Klass Computertechnik GmbH +13dc Netboost Corporation +13dd Multimedia Bundle Inc +13de ABB Robotics Products AB +13df E-Tech Inc + 0001 PCI56RVP Modem + 13df 0001 PCI56RVP Modem +13e0 GVC Corporation +13e1 Silicom Multimedia Systems Inc +13e2 Dynamics Research Corporation +13e3 Nest Inc +13e4 Calculex Inc +13e5 Telesoft Design Ltd +13e6 Argosy research Inc +13e7 NAC Incorporated +13e8 Chip Express Corporation +13e9 Intraserver Technology Inc +13ea Dallas Semiconductor +13eb Hauppauge Computer Works Inc +13ec Zydacron Inc + 000a NPC-RC01 Remote control receiver +13ed Raytheion E-Systems +13ee Hayes Microcomputer Products Inc +13ef Coppercom Inc +13f0 Sundance Technology Inc / IC Plus Corp + 0200 IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY + 0201 ST201 Sundance Ethernet + 1021 TC9020 Gigabit Ethernet + 1023 IP1000 Family Gigabit Ethernet +13f1 Oce' - Technologies B.V. +13f2 Ford Microelectronics Inc +13f3 Mcdata Corporation +13f4 Troika Networks, Inc. + 1401 Zentai Fibre Channel Adapter +13f5 Kansai Electric Co. Ltd +13f6 C-Media Electronics Inc + 0011 CMI8738 + 0100 CM8338A + 13f6 ffff CMI8338/C3DX PCI Audio Device + 0101 CM8338B + 13f6 0101 CMI8338-031 PCI Audio Device + 0111 CM8738 + 1019 0970 P6STP-FL motherboard + 1043 8035 CUSI-FX motherboard + 1043 8077 CMI8738 6-channel audio controller + 1043 80e2 CMI8738 6ch-MX + 13f6 0111 CMI8738/C3DX PCI Audio Device + 13f6 9761 Theatron Agrippa + 153b 1144 Aureon 5.1 + 153b 1170 Aureon 7.1 + 1681 a000 Gamesurround MUSE XL + 270f 1103 CT-7NJS Ultra motherboard + 584d 3731 Digital X-Mystique + 584d 3741 X-Plosion 7.1 + 584d 3751 X-Raider 7.1 + 584d 3761 X-Mystique 7.1 LP + 584d 3771 X-Mystique 7.1 LP Value + 7284 8384 Striker 7.1 + 0211 CM8738 + 8788 CMI8788 [Oxygen HD Audio] + 1043 8269 Virtuoso 200 (Xonar D2) + 14c3 1710 HIFIER + 1a58 0910 Barracuda AC-1 + 415a 5431 X-Meridian 7.1 + 584d 3781 HDA X-Purity 7.1 Platinum + 7284 9761 CLARO + 9880 CM9880 +13f7 Wildfire Communications +13f8 Ad Lib Multimedia Inc +13f9 NTT Advanced Technology Corp. +13fa Pentland Systems Ltd +13fb Aydin Corp +13fc Computer Peripherals International +13fd Micro Science Inc +13fe Advantech Co. Ltd + 1240 PCI-1240 4-channel stepper motor controller card + 1600 PCI-16xx series PCI multiport serial board (function 0) +# This board has two PCI functions, appears as two PCI devices + 1601 0002 PCI-1601 2-port unisolated RS-422/485 +# This board has two PCI functions, appears as two PCI devices + 1602 0002 PCI-1602 2-port isolated RS-422/485 + 1612 0004 PCI-1612 4-port RS-232/422/485 + 1603 PCI-1603 2-port isolated RS-232/current loop + 1604 PCI-1604 2-port RS-232 + 16ff PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) + 1601 0000 PCI-1601 2-port unisolated RS-422/485 PCI communications card + 1602 0000 PCI-1602 2-port isolated RS-422/485 + 1612 0000 PCI-1612 4-port RS-232/422/485 + 1733 PCI-1733 32-channel isolated digital input card + 1752 PCI-1752 + 1754 PCI-1754 + 1756 PCI-1756 +13ff Silicon Spice Inc +1400 Artx Inc + 1401 9432 TX +1401 CR-Systems A/S +1402 Meilhaus Electronic GmbH +1403 Ascor Inc +1404 Fundamental Software Inc +1405 Excalibur Systems Inc +1406 Oce' Printing Systems GmbH +1407 Lava Computer mfg Inc + 0100 Lava Dual Serial + 0101 Lava Quatro A + 0102 Lava Quatro B + 0110 Lava DSerial-PCI Port A + 0111 Lava DSerial-PCI Port B + 0120 Quattro-PCI A + 0121 Quattro-PCI B + 0180 Lava Octo A + 0181 Lava Octo B + 0200 Lava Port Plus + 0201 Lava Quad A + 0202 Lava Quad B + 0220 Lava Quattro PCI Ports A/B + 0221 Lava Quattro PCI Ports C/D + 0500 Lava Single Serial + 0600 Lava Port 650 + 8000 Lava Parallel + 8001 Dual parallel port controller A + 8002 Lava Dual Parallel port A + 8003 Lava Dual Parallel port B + 8800 BOCA Research IOPPAR +1408 Aloka Co. Ltd +1409 Timedia Technology Co Ltd + 7168 PCI2S550 (Dual 16550 UART) +140a DSP Research Inc +140b Ramix Inc +140c Elmic Systems Inc +140d Matsushita Electric Works Ltd +140e Goepel Electronic GmbH +140f Salient Systems Corp +1410 Midas lab Inc +1411 Ikos Systems Inc +# Nee IC Ensemble Inc. +1412 VIA Technologies Inc. + 1712 ICE1712 [Envy24] PCI Multi-Channel I/O Controller + 1412 1712 Hoontech ST Audio DSP 24 + 1412 d630 M-Audio Delta 1010 + 1412 d631 M-Audio Delta DiO + 1412 d632 M-Audio Delta 66 + 1412 d633 M-Audio Delta 44 + 1412 d634 M-Audio Delta Audiophile + 1412 d635 M-Audio Delta TDIF + 1412 d637 M-Audio Delta RBUS + 1412 d638 M-Audio Delta 410 + 1412 d63b M-Audio Delta 1010LT + 1412 d63c Digigram VX442 + 1416 1712 Hoontech ST Audio DSP 24 Media 7.1 + 153b 1115 EWS88 MT + 153b 1125 EWS88 MT (Master) + 153b 112b EWS88 D + 153b 112c EWS88 D (Master) + 153b 1130 EWX 24/96 + 153b 1138 DMX 6fire 24/96 + 153b 1151 PHASE88 + 16ce 1040 Edirol DA-2496 + 1724 VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller + 1412 1724 Albatron PX865PE 7.1 + 1412 3630 M-Audio Revolution 7.1 + 1412 3631 M-Audio Revolution 5.1 + 153b 1145 Aureon 7.1 Space + 153b 1147 Aureon 5.1 Sky + 153b 1153 Aureon 7.1 Universe + 270f f641 ZNF3-150 + 270f f645 ZNF3-250 +1413 Addonics +1414 Microsoft Corporation + 5801 XMA Decoder (Xenon) + 5802 SATA Controller - CdRom (Xenon) + 5803 SATA Controller - Disk (Xenon) + 5804 OHCI Controller 0 (Xenon) + 5805 EHCI Controller 0 (Xenon) + 5806 OHCI Controller 1 (Xenon) + 5807 EHCI Controller 1 (Xenon) + 580a Fast Ethernet Adapter (Xenon) + 580b Secure Flash Controller (Xenon) + 580d System Management Controller (Xenon) + 5811 Xenos GPU (Xenon) +1415 Oxford Semiconductor Ltd + 8403 VScom 011H-EP1 1 port parallel adaptor + 9500 OX16PCI954 (Quad 16950 UART) function 0 (Disabled) + 9501 OX16PCI954 (Quad 16950 UART) function 0 (Uart) + 12c4 0201 Titan/cPCI (2 port) + 12c4 0202 Titan/cPCI (4 port) + 12c4 0203 Titan/cPCI (8 port) + 12c4 0210 Titan/104-Plus (8 port, p1-4) + 131f 2050 CyberPro (4-port) +# Model IO1085, Part No: JJ-P46012 + 131f 2051 CyberSerial 4S Plus + 15ed 2000 MCCR Serial p0-3 of 8 + 15ed 2001 MCCR Serial p0-3 of 16 + 950a EXSYS EX-41092 Dual 16950 Serial adapter + 950b OXCB950 Cardbus 16950 UART + 9510 OX16PCI954 (Quad 16950 UART) function 1 (Disabled) + 12c4 0200 Titan/cPCI (Unused) + 9511 OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) + 12c4 0211 Titan/104-Plus (8 port, p5-8) + 15ed 2000 MCCR Serial p4-7 of 8 + 15ed 2001 MCCR Serial p4-15 of 16 + 9512 OX16PCI954 (Quad 16950 UART) function 1 (32bit bus) + 9513 OX16PCI954 (Quad 16950 UART) function 1 (parallel port) + 9521 OX16PCI952 (Dual 16950 UART) + 9523 OX16PCI952 Integrated Parallel Port +1416 Multiwave Innovation pte Ltd +1417 Convergenet Technologies Inc +1418 Kyushu electronics systems Inc +1419 Excel Switching Corp +141a Apache Micro Peripherals Inc +141b Zoom Telephonics Inc +141d Digitan Systems Inc +141e Fanuc Ltd +141f Visiontech Ltd +1420 Psion Dacom plc + 8002 Gold Card NetGlobal 56k+10/100Mb CardBus (Ethernet part) + 8003 Gold Card NetGlobal 56k+10/100Mb CardBus (Modem part) +1421 Ads Technologies Inc +1422 Ygrec Systems Co Ltd +1423 Custom Technology Corp. +1424 Videoserver Connections +1425 Chelsio Communications Inc + 000b T210 Protocol Engine + 000c T204 Protocol Engine + 0030 T310 10GbE Single Port Protocol Engine Ethernet Adapter + 103c 705e PCIe 10GBase-SR [AD386A] + 0031 T320 10GbE Dual Port Protocol Engine Ethernet Adapter + 0032 T302 1GbE Dual Port Protocol Engine Ethernet adapter + 0033 T304 1GbE Quad Port Protocol Engine Ethernet adapter +1426 Storage Technology Corp. +1427 Better On-Line Solutions +1428 Edec Co Ltd +1429 Unex Technology Corp. +142a Kingmax Technology Inc +142b Radiolan +142c Minton Optic Industry Co Ltd +142d Pix stream Inc +142e Vitec Multimedia + 4020 VM2-2 [Video Maker 2] MPEG1/2 Encoder + 4337 VM2-2-C7 [Video Maker 2 rev. C7] MPEG1/2 Encoder +142f Radicom Research Inc +1430 ITT Aerospace/Communications Division +1431 Gilat Satellite Networks +1432 Edimax Computer Co. + 9130 RTL81xx Fast Ethernet +1433 Eltec Elektronik GmbH +# Nee Real Time Devices US Inc. +1435 RTD Embedded Technologies, Inc. + 4520 PCI4520 + 6020 SPM6020 + 6030 SPM6030 + 6420 SPM186420 + 6430 SPM176430 + 7520 DM7520 + 7820 DM7820 +1436 CIS Technology Inc +1437 Nissin Inc Co +1438 Atmel-dream +1439 Outsource Engineering & Mfg. Inc +143a Stargate Solutions Inc +143b Canon Research Center, America +143c Amlogic Inc +143d Tamarack Microelectronics Inc +143e Jones Futurex Inc +143f Lightwell Co Ltd - Zax Division +1440 ALGOL Corp. +1441 AGIE Ltd +1442 Phoenix Contact GmbH & Co. +1443 Unibrain S.A. +1444 TRW +1445 Logical DO Ltd +1446 Graphin Co Ltd +1447 AIM GmBH +1448 Alesis Studio Electronics +1449 TUT Systems Inc +144a Adlink Technology + 7296 PCI-7296 + 7432 PCI-7432 + 7433 PCI-7433 + 7434 PCI-7434 + 7841 PCI-7841 + 8133 PCI-8133 + 8164 PCI-8164 + 8554 PCI-8554 + 9111 PCI-9111 + 9113 PCI-9113 + 9114 PCI-9114 +144b Loronix Information Systems Inc +144c Catalina Research Inc +144d Samsung Electronics Co Ltd + c00c P35 laptop +144e OLITEC +144f Askey Computer Corp. +1450 Octave Communications Ind. +1451 SP3D Chip Design GmBH +1453 MYCOM Inc +1454 Altiga Networks +1455 Logic Plus Plus Inc +1456 Advanced Hardware Architectures +1457 Nuera Communications Inc +1458 Giga-byte Technology + 0c11 K8NS Pro Mainboard + 9001 GC-PTV-TAF Hybrid TV card + e911 GN-WIAG02 +1459 DOOIN Electronics +145a Escalate Networks Inc +145b PRAIM SRL +145c Cryptek +145d Gallant Computer Inc +145e Aashima Technology B.V. +145f Baldor Electric Company + 0001 NextMove PCI +1460 DYNARC INC +1461 Avermedia Technologies Inc + a3ce M179 + a3cf M179 + a836 M115 DVB-T, PAL/SECAM/NTSC Tuner + f436 AVerTV Hybrid+FM +1462 Micro-Star International Co., Ltd. + 5501 nVidia NV15DDR [GeForce2 Ti] + 6819 Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller [MSI CB54G] + 6825 PCI Card wireless 11g [PC54G] + 6834 RaLink RT2500 802.11g [PC54G2] + 7125 MS-7125 [K8N Neo4 Platinum] + 7235 P965 Neo MS-7235 mainboard + 7242 K9AGM RS485 Motherboard + 7250 MS-7250 Motherboard [K9N Platinum SLI/non-SLI] + 7327 K9AGM2-FIH Motherboard + 8725 NVIDIA NV25 [GeForce4 Ti 4600] VGA Adapter + 9000 NVIDIA NV28 [GeForce4 Ti 4800] VGA Adapter + 9110 GeFORCE FX5200 + 9119 NVIDIA NV31 [GeForce FX 5600XT] VGA Adapter + 9123 NVIDIA NV31 [GeForce FX 5600] FX5600-VTDR128 [MS-8912] + 9510 Radeon 9600XT + 9511 Radeon 9600XT + 9591 nVidia Corporation NV36 [GeForce FX 5700LE] + b834 Wireless 11g Turbo G PCI card [MSI PC60G] +1463 Fast Corporation +1464 Interactive Circuits & Systems Ltd +1465 GN NETTEST Telecom DIV. +1466 Designpro Inc. +1467 DIGICOM SPA +1468 AMBIT Microsystem Corp. +1469 Cleveland Motion Controls +146a IFR +146b Parascan Technologies Ltd +146c Ruby Tech Corp. + 1430 FE-1430TX Fast Ethernet PCI Adapter +146d Tachyon, INC. +146e Williams Electronics Games, Inc. +146f Multi Dimensional Consulting Inc +1470 Bay Networks +1471 Integrated Telecom Express Inc +1472 DAIKIN Industries, Ltd +1473 ZAPEX Technologies Inc +1474 Doug Carson & Associates +1475 PICAZO Communications +1476 MORTARA Instrument Inc +1477 Net Insight +1478 DIATREND Corporation +1479 TORAY Industries Inc +147a FORMOSA Industrial Computing +147b ABIT Computer Corp. +147c AWARE, Inc. +147d Interworks Computer Products +147e Matsushita Graphic Communication Systems, Inc. +147f NIHON UNISYS, Ltd. +1480 SCII Telecom +1481 BIOPAC Systems Inc +1482 ISYTEC - Integrierte Systemtechnik GmBH +1483 LABWAY Corporation +1484 Logic Corporation +1485 ERMA - Electronic GmBH +1486 L3 Communications Telemetry & Instrumentation +1487 MARQUETTE Medical Systems +1488 KONTRON Electronik GmBH +1489 KYE Systems Corporation +148a OPTO +148b INNOMEDIALOGIC Inc. +148c C.P. Technology Co. Ltd +148d DIGICOM Systems, Inc. + 1003 HCF 56k Data/Fax Modem +148e OSI Plus Corporation +148f Plant Equipment, Inc. +1490 Stone Microsystems PTY Ltd. +1491 ZEAL Corporation +1492 Time Logic Corporation +1493 MAKER Communications +1494 WINTOP Technology, Inc. +1495 TOKAI Communications Industry Co. Ltd +1496 JOYTECH Computer Co., Ltd. +1497 SMA Regelsysteme GmBH + 1497 SMA Technologie AG +1498 TEWS Technologies GmbH + 0330 TPMC816 2 Channel CAN bus controller. + 0385 TPMC901 Extended CAN bus with 2/4/6 CAN controller + 21cc TCP460 CompactPCI 16 Channel Serial Interface RS232/RS422 + 21cd TCP461 CompactPCI 8 Channel Serial Interface RS232/RS422 + 30c8 TPCI200 +1499 EMTEC CO., Ltd +149a ANDOR Technology Ltd +149b SEIKO Instruments Inc +149c OVISLINK Corp. +149d NEWTEK Inc + 0001 Video Toaster for PC +149e Mapletree Networks Inc. +149f LECTRON Co Ltd +14a0 SOFTING GmBH +14a1 Systembase Co Ltd +14a2 Millennium Engineering Inc +14a3 Maverick Networks +14a4 GVC/BCM Advanced Research +14a5 XIONICS Document Technologies Inc +14a6 INOVA Computers GmBH & Co KG +14a7 MYTHOS Systems Inc +14a8 FEATRON Technologies Corporation +14a9 HIVERTEC Inc +14aa Advanced MOS Technology Inc +14ab Mentor Graphics Corp. +14ac Novaweb Technologies Inc +14ad Time Space Radio AB +14ae CTI, Inc +14af Guillemot Corporation + 7102 3D Prophet II MX +14b0 BST Communication Technology Ltd +14b1 Nextcom K.K. +14b2 ENNOVATE Networks Inc +14b3 XPEED Inc + 0000 DSL NIC +14b4 PHILIPS Business Electronics B.V. +14b5 Creamware GmBH + 0200 Scope + 0300 Pulsar + 0400 PulsarSRB + 0600 Pulsar2 + 0800 DSP-Board + 0900 DSP-Board + 0a00 DSP-Board + 0b00 DSP-Board +14b6 Quantum Data Corp. +14b7 PROXIM Inc + 0001 Symphony 4110 +14b8 Techsoft Technology Co Ltd +14b9 AIRONET Wireless Communications + 0001 PC4800 + 0340 PC4800 + 0350 PC4800 + 4500 PC4500 + 4800 Cisco Aironet 340 802.11b Wireless LAN Adapter/Aironet PC4800 + a504 Cisco Aironet Wireless 802.11b + a505 Cisco Aironet CB20a 802.11a Wireless LAN Adapter + a506 Cisco Aironet Mini PCI b/g +14ba INTERNIX Inc. +14bb SEMTECH Corporation +14bc Globespan Semiconductor Inc. + d002 Pulsar [PCI ADSL Card] + d00f Pulsar [PCI ADSL Card] +14bd CARDIO Control N.V. +14be L3 Communications +14bf SPIDER Communications Inc. +14c0 COMPAL Electronics Inc +14c1 MYRICOM Inc. + 0008 Myri-10G Dual-Protocol NIC (10G-PCIE-8A) + 8043 Myrinet 2000 Scalable Cluster Interconnect + 103c 1240 Myrinet M2L-PCI64/2-3.0 LANai 7.4 (HP OEM) +14c2 DTK Computer +14c3 MEDIATEK Corp. +14c4 IWASAKI Information Systems Co Ltd +14c5 Automation Products AB +14c6 Data Race Inc +14c7 Modular Technology Holdings Ltd +14c8 Turbocomm Tech. Inc. +14c9 ODIN Telesystems Inc +14ca PE Logic Corp. +14cb Billionton Systems Inc +14cc NAKAYO Telecommunications Inc +14cd Universal Scientific Ind. +14ce Whistle Communications +14cf TEK Microsystems Inc. +14d0 Ericsson Axe R & D +14d1 Computer Hi-Tech Co Ltd +14d2 Titan Electronics Inc + 8001 VScom 010L 1 port parallel adaptor + 8002 VScom 020L 2 port parallel adaptor + 8010 VScom 100L 1 port serial adaptor + 8011 VScom 110L 1 port serial and 1 port parallel adaptor + 8020 VScom 200L 1 port serial adaptor + 8021 VScom 210L 2 port serial and 1 port parallel adaptor + 8040 VScom 400L 4 port serial adaptor + 8080 VScom 800L 8 port serial adaptor + a000 VScom 010H 1 port parallel adaptor + a001 VScom 100H 1 port serial adaptor + a003 VScom 400H 4 port serial adaptor + a004 VScom 400HF1 4 port serial adaptor + a005 VScom 200H 2 port serial adaptor + e001 VScom 010HV2 1 port parallel adaptor + e010 VScom 100HV2 1 port serial adaptor + e020 VScom 200HV2 2 port serial adaptor +14d3 CIRTECH (UK) Ltd +14d4 Panacom Technology Corp +14d5 Nitsuko Corporation +14d6 Accusys Inc + 6101 ACS-61xxx, PCIe to SAS/SATA RAID HBA + 6201 ACS-62xxx, External PCIe to SAS/SATA RAID controller +14d7 Hirakawa Hewtech Corp +14d8 HOPF Elektronik GmBH +# Formerly SiPackets, Inc., formerly API NetWorks, Inc., formerly Alpha Processor, Inc. +14d9 Alliance Semiconductor Corporation + 0010 AP1011/SP1011 HyperTransport-PCI Bridge [Sturgeon] + 9000 AS90L10204/10208 HyperTransport to PCI-X Bridge +14da National Aerospace Laboratories +14db AFAVLAB Technology Inc + 2120 TK9902 + 2182 AFAVLAB Technology Inc. 8-port serial card +14dc Amplicon Liveline Ltd + 0000 PCI230 + 0001 PCI242 + 0002 PCI244 + 0003 PCI247 + 0004 PCI248 + 0005 PCI249 + 0006 PCI260 + 0007 PCI224 + 0008 PCI234 + 0009 PCI236 + 000a PCI272 + 000b PCI215 +14dd Boulder Design Labs Inc +14de Applied Integration Corporation +14df ASIC Communications Corp +14e1 INVERTEX +14e2 INFOLIBRIA +14e3 AMTELCO +14e4 Broadcom Corporation + 0800 Sentry5 Chipcommon I/O Controller + 0804 Sentry5 PCI Bridge + 0805 Sentry5 MIPS32 CPU + 0806 Sentry5 Ethernet Controller + 080b Sentry5 Crypto Accelerator + 080f Sentry5 DDR/SDR RAM Controller + 0811 Sentry5 External Interface Core + 0816 BCM3302 Sentry5 MIPS32 CPU + 1600 NetXtreme BCM5752 Gigabit Ethernet PCI Express + 103c 3015 PCIe LAN on Motherboard + 107b 5048 E4500 Onboard + 1601 NetXtreme BCM5752M Gigabit Ethernet PCI Express + 1639 NetXtreme II BCM5709 Gigabit Ethernet + 103c 7055 NC382i Integrated Quad Port PCI Express Gigabit Server Adapter + 103c 7059 NC382T PCI Express Dual Port Multifunction Gigabit Server Adapter + 163a NetXtreme II BCM5709S Gigabit Ethernet +# ice + 103c 171d NC382m Dual Port 1GbE Multifunction BL-c Adapter + 103c 7056 NC382i Integrated Quad Port PCI Express Gigabit Server Adapter + 163b NetXtreme II BCM5716 Gigabit Ethernet + 1644 NetXtreme BCM5700 Gigabit Ethernet + 1014 0277 Broadcom Vigil B5700 1000Base-T + 1028 00d1 Broadcom BCM5700 + 1028 0106 Broadcom BCM5700 + 1028 0109 Broadcom BCM5700 1000Base-T + 1028 010a Broadcom BCM5700 1000BaseTX + 10b7 1000 3C996-T 1000Base-T + 10b7 1001 3C996B-T 1000Base-T + 10b7 1002 3C996C-T 1000Base-T + 10b7 1003 3C997-T 1000Base-T Dual Port + 10b7 1004 3C996-SX 1000Base-SX + 10b7 1005 3C997-SX 1000Base-SX Dual Port + 10b7 1008 3C942 Gigabit LOM (31X31) + 14e4 0002 NetXtreme 1000Base-SX + 14e4 0003 NetXtreme 1000Base-SX + 14e4 0004 NetXtreme 1000Base-T + 14e4 1028 NetXtreme 1000BaseTX + 14e4 1644 BCM5700 1000Base-T + 1645 NetXtreme BCM5701 Gigabit Ethernet + 0e11 007c NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T) + 0e11 007d NC6770 Gigabit Server Adapter (PCI-X, 1000-SX) + 0e11 0085 NC7780 Gigabit Server Adapter (embedded, WOL) + 0e11 0099 NC7780 Gigabit Server Adapter (embedded, WOL) + 0e11 009a NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T) + 0e11 00c1 NC6770 Gigabit Server Adapter (PCI-X, 1000-SX) + 1028 0121 Broadcom BCM5701 1000Base-T + 103c 128a BCM5701 1000Base-T (HP, OEM 3COM) + 103c 128b 1000Base-SX (PCI) [A7073A] + 103c 12a4 Core Lan 1000Base-T + 103c 12c1 IOX Core Lan 1000Base-T [A7109AX] + 103c 1300 Core LAN/SCSI Combo [A6794A] + 10a9 8010 IO9/IO10 Gigabit Ethernet (Copper) + 10a9 8011 Gigabit Ethernet (Copper) + 10a9 8012 Gigabit Ethernet (Fiber) + 10b7 1004 3C996-SX 1000Base-SX + 10b7 1006 3C996B-T 1000Base-T + 10b7 1007 3C1000-T 1000Base-T + 10b7 1008 3C940-BR01 1000Base-T + 14e4 0001 BCM5701 1000Base-T + 14e4 0005 BCM5701 1000Base-T + 14e4 0006 BCM5701 1000Base-T + 14e4 0007 BCM5701 1000Base-SX + 14e4 0008 BCM5701 1000Base-T + 14e4 1645 NetXtreme BCM5701 Gigabit Ethernet + 14e4 8008 BCM5701 1000Base-T + 1646 NetXtreme BCM5702 Gigabit Ethernet + 0e11 00bb NC7760 1000BaseTX + 1028 0126 Broadcom BCM5702 1000BaseTX + 14e4 8009 BCM5702 1000BaseTX + 1647 NetXtreme BCM5703 Gigabit Ethernet + 0e11 0099 NC7780 1000BaseTX + 0e11 009a NC7770 1000BaseTX + 10a9 8010 SGI IO9 Gigabit Ethernet (Copper) + 14e4 0009 BCM5703 1000BaseTX + 14e4 000a BCM5703 1000BaseSX + 14e4 000b BCM5703 1000BaseTX + 14e4 8009 BCM5703 1000BaseTX + 14e4 800a BCM5703 1000BaseTX + 1648 NetXtreme BCM5704 Gigabit Ethernet + 0e11 00cf NC7772 Gigabit Server Adapter (PCI-X, 10,100,1000-T) + 0e11 00d0 NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T) + 0e11 00d1 NC7783 Gigabit Server Adapter (PCI-X, 10,100,1000-T) + 1028 014a PowerEdge 1750 + 103c 310f NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T) + 10a9 8013 Dual Port Gigabit Ethernet (PCI-X,Copper) + 10a9 8018 Dual Port Gigabit Ethernet (A330) + 10a9 801a Dual Port Gigabit Ethernet (IA-blade) + 10a9 801b Quad Port Gigabit Ethernet (PCI-E,Copper) + 10b7 2000 3C998-T Dual Port 10/100/1000 PCI-X + 10b7 3000 3C999-T Quad Port 10/100/1000 PCI-X + 1166 1648 NetXtreme CIOB-E 1000Base-T + 1734 100b PRIMERGY RX/TX series onboard LAN + 1649 NetXtreme BCM5704S_2 Gigabit Ethernet + 164a NetXtreme II BCM5706 Gigabit Ethernet + 103c 3070 NC380T PCI Express Dual Port Multifunction Gigabit Server Adapter + 103c 3101 NC370T MultifuNCtion Gigabit Server Adapter + 164c NetXtreme II BCM5708 Gigabit Ethernet + 1028 0205 Broadcom NetXtreme II BCM5708 1000Base-T (rev 12) + 103c 7037 NC373T PCI Express Multifunction Gigabit Server Adapter + 103c 7038 NC373i Integrated Multifunction Gigabit Server Adapter + 164d NetXtreme BCM5702FE Gigabit Ethernet + 164e NetXtreme II BCM57710 10Gigabit PCIe [Everest] + 103c 171c NC532m Dual Port 10GbE Multifunction BL-C Adapter + 103c 7058 NC532i Dual Port 10GbE Multifunction BL-C Adapter + 164f NetXtreme II BCM57711 10Gigabit PCIe + 1650 NetXtreme II BCM57711E 10Gigabit PCIe + 103c 171c NC532m Dual Port 10GbE Multifunction BL-C Adapter + 103c 7058 NC532i Dual Port 10GbE Multifunction BL-C Adapter + 1653 NetXtreme BCM5705 Gigabit Ethernet + 0e11 00e3 NC7761 Gigabit Server Adapter + 1654 NetXtreme BCM5705_2 Gigabit Ethernet + 0e11 00e3 NC7761 Gigabit Server Adapter + 103c 3100 NC1020 ProLiant Gigabit Server Adapter 32 PCI + 103c 3226 NC150T 4-port Gigabit Combo Switch & Adapter + 1658 NetXtreme BCM5720 Gigabit Ethernet + 1659 NetXtreme BCM5721 Gigabit Ethernet PCI Express + 1014 02c6 eServer xSeries server mainboard + 1028 01e6 PowerEdge 860 + 103c 7031 NC320T PCIe Gigabit Server Adapter + 103c 7032 NC320i PCIe Gigabit Server Adapter + 1734 1061 PRIMERGY RX/TX S2 series onboard LAN + 165a NetXtreme BCM5722 Gigabit Ethernet PCI Express +# Dual NIC server + 1014 0378 IBM System x3350 (Machine type 4192) + 1028 020f PowerEdge R300 + 1028 0210 PowerEdge T300 + 1028 0225 PWA-Pandora Motherboard [PowerEdge T105] + 103c 7051 NC105i PCIe Gigabit Server Adapter + 103c 7052 NC105T PCIe Gigabit Server Adapter + 165b NetXtreme BCM5723 Gigabit Ethernet PCIe + 103c 705d NC107i Integrated PCI Express Gigabit Server Adapter + 165d NetXtreme BCM5705M Gigabit Ethernet + 1028 865d Latitude D400 + 14e4 165d Dell Latitude D600 + 165e NetXtreme BCM5705M_2 Gigabit Ethernet + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 099c NX6110/NC6120 + 10cf 1279 LifeBook E8010D + 1668 NetXtreme BCM5714 Gigabit Ethernet + 103c 7039 NC324i PCIe Dual Port Gigabit Server Adapter + 1669 NetXtreme 5714S Gigabit Ethernet + 166a NetXtreme BCM5780 Gigabit Ethernet + 166b NetXtreme BCM5780S Gigabit Ethernet + 166e 570x 10/100 Integrated Controller + 1672 NetXtreme BCM5754M Gigabit Ethernet PCI Express + 1673 NetXtreme BCM5755M Gigabit Ethernet PCI Express + 1674 NetXtreme BCM5756ME Gigabit Ethernet PCI Express + 1676 NetXtreme BCM5750 Gigabit Ethernet + 1677 NetXtreme BCM5751 Gigabit Ethernet PCI Express + 1028 0177 Dimension 8400 + 1028 0179 Optiplex GX280 + 1028 0182 Latitude D610 + 1028 0187 Precision M70 + 1028 01ad OptiPlex GX620 + 103c 3006 DC7100 SFF(DX878AV) + 1462 028c 915P/G Neo2 + 1734 105d Scenic W620 + 1678 NetXtreme BCM5715 Gigabit Ethernet + 103c 703e NC326i PCIe Dual Port Gigabit Server Adapter + 1679 NetXtreme BCM5715S Gigabit Ethernet + 103c 1707 NC326m PCIe Dual Port Adapter + 103c 170c NC325m PCIe Quad Port Adapter + 103c 703c NC326i PCIe Dual Port Gigabit Server Adapter + 167a NetXtreme BCM5754 Gigabit Ethernet PCI Express + 1028 01da OptiPlex 745 + 1028 01de Precision 390 + 1028 01df PowerEdge SC440 + 167b NetXtreme BCM5755 Gigabit Ethernet PCI Express + 103c 280a DC5750 Microtower + 167c NetXtreme BCM5750M Gigabit Ethernet + 167d NetXtreme BCM5751M Gigabit Ethernet PCI Express + 1014 0577 ThinkPad Z60t + 103c 0940 HP Compaq nw8240 Mobile Workstation + 17aa 2081 ThinkPad R60e + 167e NetXtreme BCM5751F Fast Ethernet PCI Express + 167f NetLink BCM5787F Fast Ethernet PCI Express + 1680 NetXtreme BCM5761e Gigabit Ethernet PCIe + 1681 NetXtreme BCM5761 Gigabit Ethernet PCIe + 1684 NetXtreme BCM5764M Gigabit Ethernet PCIe + 1693 NetLink BCM5787M Gigabit Ethernet PCI Express + 1025 0121 Aspire 5920G + 103c 30c0 6710b + 1696 NetXtreme BCM5782 Gigabit Ethernet + 103c 12bc d530 CMT (DG746A) + 14e4 000d NetXtreme BCM5782 1000Base-T + 1698 NetLink BCM5784M Gigabit Ethernet PCIe + 1699 NetLink BCM5785 Gigabit Ethernet + 169a NetLink BCM5786 Gigabit Ethernet PCI Express + 169b NetLink BCM5787 Gigabit Ethernet PCI Express + 169c NetXtreme BCM5788 Gigabit Ethernet + 103c 308b MX6125 + 103c 30a1 NC2400 + 144d c018 X20 + 1462 590c KT6 Delta-FIS2R (MS-6590) + 169d NetLink BCM5789 Gigabit Ethernet PCI Express + 16a6 NetXtreme BCM5702X Gigabit Ethernet + 0e11 00bb NC7760 Gigabit Server Adapter (PCI-X, 10/100/1000-T) + 1028 0126 BCM5702 1000Base-T + 14e4 000c BCM5702 1000Base-T + 14e4 8009 BCM5702 1000Base-T + 16a7 NetXtreme BCM5703X Gigabit Ethernet + 0e11 00ca NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T) + 0e11 00cb NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T) + 14e4 0009 NetXtreme BCM5703 1000Base-T + 14e4 000a NetXtreme BCM5703 1000Base-SX + 14e4 000b NetXtreme BCM5703 1000Base-T + 14e4 800a NetXtreme BCM5703 1000Base-T + 16a8 NetXtreme BCM5704S Gigabit Ethernet + 10a9 8014 Dual Port Gigabit Ethernet (PCI-X,Fiber) + 10a9 801c Quad Port Gigabit Ethernet (PCI-E,Fiber) + 10b7 2001 3C998-SX Dual Port 1000-SX PCI-X + 16aa NetXtreme II BCM5706S Gigabit Ethernet + 103c 3102 NC370F MultifuNCtion Gigabit Server Adapter + 16ac NetXtreme II BCM5708S Gigabit Ethernet + 1014 0304 NetXtreme II BCM5708S Gigabit Ethernet + 103c 1706 NC373m Multifunction Gigabit Server Adapter + 103c 7038 NC373i PCI Express Multifunction Gigabit Server Adapter + 103c 703b NC373i Integrated Multifunction Gigabit Server Adapter + 103c 703d NC373F PCI Express Multifunction Gigabit Server Adapter + 16c6 NetXtreme BCM5702A3 Gigabit Ethernet + 10b7 1100 3C1000B-T 10/100/1000 PCI + 14e4 000c BCM5702 1000Base-T + 14e4 8009 BCM5702 1000Base-T + 16c7 NetXtreme BCM5703 Gigabit Ethernet + 0e11 00ca NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T) + 0e11 00cb NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T) + 103c 12c3 Combo FC/GigE-SX [A9782A] + 103c 12ca Combo FC/GigE-T [A9784A] + 14e4 0009 NetXtreme BCM5703 1000Base-T + 14e4 000a NetXtreme BCM5703 1000Base-SX + 16dd NetLink BCM5781 Gigabit Ethernet PCI Express + 16f7 NetXtreme BCM5753 Gigabit Ethernet PCI Express + 16fd NetXtreme BCM5753M Gigabit Ethernet PCI Express + 103c 30a3 Compaq nw8440 + 16fe NetXtreme BCM5753F Fast Ethernet PCI Express + 170c BCM4401-B0 100Base-TX + 1028 0188 Inspiron 6000 laptop + 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 + 1028 01af Inspiron 6400 + 1028 01cd Inspiron 9400 Laptop + 1028 01d7 XPS M1210 + 1028 01d8 Inspiron E1405 + 103c 099c NX6110/NC6120 + 103c 30a2 NX7300 laptop + 14e4 170c HP Compaq 6720t Mobile Thin Client + 170d NetXtreme BCM5901 100Base-TX + 1014 0545 ThinkPad R40e + 170e NetXtreme BCM5901 100Base-TX + 1712 NetLink BCM5906 Fast Ethernet PCI Express + 1713 NetLink BCM5906M Fast Ethernet PCI Express + 1028 01f3 Inspiron 1420 + 1028 0209 XPS M1330 + 3352 BCM3352 + 3360 BCM3360 + 4210 BCM4210 iLine10 HomePNA 2.0 + 4211 BCM4211 iLine10 HomePNA 2.0 + V.90 56k modem + 4212 BCM4212 v.90 56k modem + 4220 802-11b/g Wireless PCI controller, packaged as a Linksys WPC54G ver 1.2 PCMCIA card + 4222 NetXtreme BCM5753M Gigabit Ethernet PCI Express + 4301 BCM4303 802.11b Wireless LAN Controller + 1028 0407 TrueMobile 1180 Onboard WLAN + 1043 0120 WL-103b Wireless LAN PC Card + 4305 BCM4307 V.90 56k Modem + 4306 BCM4307 Ethernet Controller + 4307 BCM4307 802.11b Wireless LAN Controller + 4310 BCM4310 Chipcommon I/OController + 4311 BCM4311 802.11b/g WLAN + 1028 0007 Wireless 1390 WLAN Mini-Card + 1028 0008 Wireless 1390 WLAN ExpressCard + 103c 1363 BCM4311 802.11b/g Wireless LAN Controller + 103c 1364 BCM4311 802.11b/g Wireless LAN Controller + 103c 1365 BCM4311 802.11b/g Wireless LAN Controller + 103c 1374 BCM4311 802.11b/g Wireless LAN Controller + 103c 1375 BCM4311 802.11b/g Wireless LAN Controller + 103c 1376 BCM4311 802.11b/g Wireless LAN Controller + 103c 1377 BCM4311 802.11b/g Wireless LAN Controller + 103c 137f BCM4322 802.11a/b/g/n Wireless LAN Controller + 103c 1380 BCM4322 802.11a/b/g/n Wireless LAN Controller + 14e4 4311 BCM94311MCG + 4312 BCM4312 802.11a/b/g + 1028 0007 Wireless 1490 Dual Band WLAN Mini-Card + 1028 0008 Wireless 1490 Dual Band WLAN ExpressCard + 103c 135a Broadcom 802.11a/b/g WLAN + 103c 135f Broadcom 802.11a/b/g WLAN + 103c 1360 Broadcom 802.11a/b/g WLAN + 103c 1361 Broadcom 802.11a/b/g WLAN + 103c 1362 Broadcom 802.11a/b/g WLAN + 103c 1370 Broadcom 802.11a/b/g WLAN + 103c 1371 Broadcom 802.11a/b/g WLAN + 103c 1372 Broadcom 802.11a/b/g WLAN + 103c 1373 Broadcom 802.11a/b/g WLAN + 103c 30b5 Presario V3242AU + 1371 103c Broadcom 802.11 Multiband-netwerkadapter(6715s) + 4313 BCM4310 Ethernet Controller + 4315 BCM4312 802.11b/g + 1028 000b Wireless 1395 WLAN Mini-Card + 1028 000c Wireless 1397 WLAN Mini-Card + 103c 137c BCM4312 802.11b/g Wireless LAN Controller + 103c 137d BCM4312 802.11b/g Wireless LAN Controller + 4318 BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller + 1028 0005 Wireless 1370 WLAN Mini-PCI Card + 1028 0006 Wireless 1370 WLAN PC Card + 103c 1355 Broadcom 802.11b/g WLAN + 103c 1356 Broadcom 802.11b/g WLAN + 103c 1357 Broadcom 802.11b/g WLAN + 1043 120f A6U notebook embedded card + 1154 0355 Buffalo WLI2-PCI-G54S High Speed Mode Wireless Adapter + 1468 0311 Aspire 3022WLMi, 5024WLMi, 5020 + 1468 0312 TravelMate 2410 + 14e4 0449 Gateway 7510GX + 14e4 4318 WPC54G version 3 [Wireless-G Notebook Adapter] 802.11g Wireless Lan Controller + 16ec 0119 U.S.Robotics Wireless MAXg PC Card + 1737 0042 WMP54GS version 1.1 [Wireless-G PCI Adapter] 802.11g w/SpeedBooster + 1737 0048 WPC54G-EU version 3 [Wireless-G Notebook Adapter] + 4319 BCM4311 [AirForce 54g] 802.11a/b/g PCI Express Transceiver + 1028 0005 Wireless 1470 Dual Band WLAN Mini-PCI Card + 1028 0006 Wireless 1470 Dual Band WLAN PC Card + 103c 1358 Broadcom 802.11a/b/g WLAN + 103c 1359 Broadcom 802.11a/b/g WLAN + 103c 135a Broadcom 802.11a/b/g WLAN + 4320 BCM4306 802.11b/g Wireless LAN Controller + 1028 0001 TrueMobile 1300 WLAN Mini-PCI Card + 1028 0002 TrueMobile 1300 WLAN PC Card + 1028 0003 Wireless 1350 WLAN Mini-PCI Card + 1028 0004 Wireless 1350 WLAN PC Card + 103c 12f4 Broadcom 802.11b/g WLAN + 103c 12f8 Broadcom 802.11b/g WLAN + 103c 12fa Broadcom 802.11b/g WLAN + 103c 12fb Broadcom 802.11b/g WLAN + 1043 100f WL-100G + 1057 7025 WN825G + 106b 004e AirPort Extreme + 1154 0330 Buffalo WLI2-PCI-G54S High Speed Mode Wireless Desktop Adapter + 144f 7050 eMachines M6805 802.11g Built-in Wireless + 144f 7051 Sonnet Aria Extreme PCI + 14e4 4320 Linksys WMP54G PCI + 1737 4320 WPC54G + 1799 7000 F5D7000uk 54G Wireless Network Card + 1799 7001 Belkin F5D7001 High-Speed Mode Wireless G Network Card + 1799 7010 Belkin F5D7010 54g Wireless Network card + 1799 7011 F5D7011 54g+ Wireless Network card + 185f 1220 TravelMate 290E WLAN Mini-PCI Card + 4321 BCM4306 802.11a Wireless LAN Controller + 4322 BCM4306 UART + 4324 BCM4309 802.11a/b/g + 1028 0001 Truemobile 1400 + 1028 0002 TrueMobile 1400 Dual Band WLAN PC Card + 1028 0003 Truemobile 1450 MiniPCI + 1028 0004 Wireless 1450 Dual Band WLAN PC Card + 103c 12f9 Broadcom 802.11a/b/g WLAN + 103c 12fc Broadcom 802.11a/b/g WLAN + 4325 BCM43xG 802.11b/g + 1414 0003 Wireless Notebook Adapter MN-720 + 1414 0004 Wireless PCI Adapter MN-730 + 4326 BCM4307 Chipcommon I/O Controller? +# This should be the correct naming + 4328 BCM4328 802.11a/b/g/n + 1028 0009 Wireless 1500 Draft 802.11n WLAN Mini-Card + 1028 000a Wireless 1500 Draft 802.11n WLAN Mini-card + 103c 1366 BCM4321 802.11a/b/g/n Wireless LAN Controller + 103c 1367 BCM4321 802.11a/b/g/n Wireless LAN Controller + 103c 1368 BCM4321 802.11a/b/g/n Wireless LAN Controller + 103c 1369 BCM4321 802.11a/b/g/n Wireless LAN Controller + 14e4 4328 BCM4328 802.11a/b/g/n + 4329 BCM43XG + 432b BCM4322 802.11a/b/g/n Wireless LAN Controller + 1028 000d Wireless 1510 Wireless-N WLAN Mini-Card + 4344 EDGE/GPRS data and 802.11b/g combo cardbus [GC89] + 4401 BCM4401 100Base-T + 1025 0035 TravelMate 660 + 103c 08b0 tc1100 tablet + 1043 80a8 A7V8X motherboard + 4402 BCM4402 Integrated 10/100BaseT + 4403 BCM4402 V.90 56k Modem + 4410 BCM4413 iLine32 HomePNA 2.0 + 4411 BCM4413 V.90 56k modem + 4412 BCM4412 10/100BaseT + 4430 BCM44xx CardBus iLine32 HomePNA 2.0 + 4432 BCM4432 CardBus 10/100BaseT + 4610 BCM4610 Sentry5 PCI to SB Bridge + 4611 BCM4610 Sentry5 iLine32 HomePNA 1.0 + 4612 BCM4610 Sentry5 V.90 56k Modem + 4613 BCM4610 Sentry5 Ethernet Controller + 4614 BCM4610 Sentry5 External Interface + 4615 BCM4610 Sentry5 USB Controller + 4704 BCM4704 PCI to SB Bridge + 4705 BCM4704 Sentry5 802.11b Wireless LAN Controller + 4706 BCM4704 Sentry5 Ethernet Controller + 4707 BCM4704 Sentry5 USB Controller + 4708 BCM4704 Crypto Accelerator + 4710 BCM4710 Sentry5 PCI to SB Bridge + 4711 BCM47xx Sentry5 iLine32 HomePNA 2.0 + 4712 BCM47xx V.92 56k modem + 4713 Sentry5 Ethernet Controller + 4714 BCM47xx Sentry5 External Interface + 4715 Sentry5 USB Controller + 4716 BCM47xx Sentry5 USB Host Controller + 4717 BCM47xx Sentry5 USB Device Controller + 4718 Sentry5 Crypto Accelerator + 4719 BCM47xx/53xx RoboSwitch Core + 4720 BCM4712 MIPS CPU + 5365 BCM5365P Sentry5 Host Bridge + 5600 BCM5600 StrataSwitch 24+2 Ethernet Switch Controller + 5605 BCM5605 StrataSwitch 24+2 Ethernet Switch Controller + 5615 BCM5615 StrataSwitch 24+2 Ethernet Switch Controller + 5625 BCM5625 StrataSwitch 24+2 Ethernet Switch Controller + 5645 BCM5645 StrataSwitch 24+2 Ethernet Switch Controller + 5670 BCM5670 8-Port 10GE Ethernet Switch Fabric + 5680 BCM5680 G-Switch 8 Port Gigabit Ethernet Switch Controller + 5690 BCM5690 12-port Multi-Layer Gigabit Ethernet Switch + 5691 BCM5691 GE/10GE 8+2 Gigabit Ethernet Switch Controller + 5692 BCM5692 12-port Multi-Layer Gigabit Ethernet Switch + 5695 BCM5695 12-port + HiGig Multi-Layer Gigabit Ethernet Switch + 5698 BCM5698 12-port Multi-Layer Gigabit Ethernet Switch + 5820 BCM5820 Crypto Accelerator + 5821 BCM5821 Crypto Accelerator + 5822 BCM5822 Crypto Accelerator + 5823 BCM5823 Crypto Accelerator + 5824 BCM5824 Crypto Accelerator + 5840 BCM5840 Crypto Accelerator + 5841 BCM5841 Crypto Accelerator + 5850 BCM5850 Crypto Accelerator + b800 BCM56800 StrataXGS 10GE Switch Controller +14e5 Pixelfusion Ltd +14e6 SHINING Technology Inc +14e7 3CX +14e8 RAYCER Inc +14e9 GARNETS System CO Ltd +14ea Planex Communications, Inc + ab06 FNW-3603-TX CardBus Fast Ethernet + ab07 RTL81xx RealTek Ethernet + ab08 FNW-3602-TX CardBus Fast Ethernet +14eb SEIKO EPSON Corp +14ec ACQIRIS +14ed DATAKINETICS Ltd +14ee MASPRO KENKOH Corp +14ef CARRY Computer ENG. CO Ltd +14f0 CANON RESEACH CENTRE FRANCE +14f1 Conexant + 1002 HCF 56k Modem + 1003 HCF 56k Modem + 1004 HCF 56k Modem + 1005 HCF 56k Modem + 1006 HCF 56k Modem + 1022 HCF 56k Modem + 1023 HCF 56k Modem + 1024 HCF 56k Modem + 1025 HCF 56k Modem + 1026 HCF 56k Modem + 1032 HCF 56k Modem + 1033 HCF 56k Data/Fax Modem + 1033 8077 NEC + 122d 4027 Dell Zeus - MDP3880-W(B) Data Fax Modem + 122d 4030 Dell Mercury - MDP3880-U(B) Data Fax Modem + 122d 4034 Dell Thor - MDP3880-W(U) Data Fax Modem + 13e0 020d Dell Copper + 13e0 020e Dell Silver + 13e0 0261 IBM + 13e0 0290 Compaq Goldwing + 13e0 02a0 IBM + 13e0 02b0 IBM + 13e0 02c0 Compaq Scooter + 13e0 02d0 IBM + 144f 1500 IBM P85-DF (1) + 144f 1501 IBM P85-DF (2) + 144f 150a IBM P85-DF (3) + 144f 150b IBM P85-DF Low Profile (1) + 144f 1510 IBM P85-DF Low Profile (2) + 1034 HCF 56k Data/Fax/Voice Modem + 1035 HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem + 10cf 1098 Fujitsu P85-DFSV + 1036 HCF 56k Data/Fax/Voice/Spkp Modem + 104d 8067 HCF 56k Modem + 122d 4029 MDP3880SP-W + 122d 4031 MDP3880SP-U + 13e0 0209 Dell Titanium + 13e0 020a Dell Graphite + 13e0 0260 Gateway Red Owl + 13e0 0270 Gateway White Horse + 1052 HCF 56k Data/Fax Modem (Worldwide) + 1053 HCF 56k Data/Fax Modem (Worldwide) + 1054 HCF 56k Data/Fax/Voice Modem (Worldwide) + 1055 HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Worldwide) + 1056 HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide) + 1057 HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide) + 1059 HCF 56k Data/Fax/Voice Modem (Worldwide) + 1063 HCF 56k Data/Fax Modem + 1064 HCF 56k Data/Fax/Voice Modem + 1065 HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem + 1066 HCF 56k Data/Fax/Voice/Spkp Modem + 122d 4033 Dell Athena - MDP3900V-U + 1085 HCF V90 56k Data/Fax/Voice/Spkp PCI Modem + 10b6 CX06834-11 HCF V.92 56k Data/Fax/Voice/Spkp Modem + 1433 HCF 56k Data/Fax Modem + 1434 HCF 56k Data/Fax/Voice Modem + 1435 HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem + 1436 HCF 56k Data/Fax Modem + 1453 HCF 56k Data/Fax Modem + 13e0 0240 IBM + 13e0 0250 IBM + 144f 1502 IBM P95-DF (1) + 144f 1503 IBM P95-DF (2) + 1454 HCF 56k Data/Fax/Voice Modem + 1455 HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem + 1456 HCF 56k Data/Fax/Voice/Spkp Modem + 122d 4035 Dell Europa - MDP3900V-W + 122d 4302 Dell MP3930V-W(C) MiniPCI + 1610 ADSL AccessRunner PCI Arbitration Device + 1611 AccessRunner PCI ADSL Interface Device + 1620 AccessRunner V2 PCI ADSL Arbitration Device + 1621 AccessRunner V2 PCI ADSL Interface Device + 1622 AccessRunner V2 PCI ADSL Yukon WAN Adapter + 1803 HCF 56k Modem + 0e11 0023 623-LAN Grizzly + 0e11 0043 623-LAN Yogi + 1811 Conextant MiniPCI Network Adapter + 1815 HCF 56k Modem + 0e11 0022 Grizzly + 0e11 0042 Yogi + 2003 HSF 56k Data/Fax Modem + 2004 HSF 56k Data/Fax/Voice Modem + 2005 HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem + 2006 HSF 56k Data/Fax/Voice/Spkp Modem + 2013 HSF 56k Data/Fax Modem + 0e11 b195 Bear + 0e11 b196 Seminole 1 + 0e11 b1be Seminole 2 + 1025 8013 Acer + 1033 809d NEC + 1033 80bc NEC + 155d 6793 HP + 155d 8850 E Machines + 2014 HSF 56k Data/Fax/Voice Modem + 2015 HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem + 2016 HSF 56k Data/Fax/Voice/Spkp Modem + 2043 HSF 56k Data/Fax Modem (WorldW SmartDAA) + 2044 HSF 56k Data/Fax/Voice Modem (WorldW SmartDAA) + 2045 HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (WorldW SmartDAA) + 14f1 2045 Generic SoftK56 + 2046 HSF 56k Data/Fax/Voice/Spkp Modem (WorldW SmartDAA) + 2063 HSF 56k Data/Fax Modem (SmartDAA) + 2064 HSF 56k Data/Fax/Voice Modem (SmartDAA) + 2065 HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (SmartDAA) + 2066 HSF 56k Data/Fax/Voice/Spkp Modem (SmartDAA) + 2093 HSF 56k Modem + 155d 2f07 Legend + 2143 HSF 56k Data/Fax/Cell Modem (Mob WorldW SmartDAA) + 2144 HSF 56k Data/Fax/Voice/Cell Modem (Mob WorldW SmartDAA) + 2145 HSF 56k Data/Fax/Voice/Spkp (w/HS)/Cell Modem (Mob WorldW SmartDAA) + 2146 HSF 56k Data/Fax/Voice/Spkp/Cell Modem (Mob WorldW SmartDAA) + 2163 HSF 56k Data/Fax/Cell Modem (Mob SmartDAA) + 2164 HSF 56k Data/Fax/Voice/Cell Modem (Mob SmartDAA) + 2165 HSF 56k Data/Fax/Voice/Spkp (w/HS)/Cell Modem (Mob SmartDAA) + 2166 HSF 56k Data/Fax/Voice/Spkp/Cell Modem (Mob SmartDAA) + 2343 HSF 56k Data/Fax CardBus Modem (Mob WorldW SmartDAA) + 2344 HSF 56k Data/Fax/Voice CardBus Modem (Mob WorldW SmartDAA) + 2345 HSF 56k Data/Fax/Voice/Spkp (w/HS) CardBus Modem (Mob WorldW SmartDAA) + 2346 HSF 56k Data/Fax/Voice/Spkp CardBus Modem (Mob WorldW SmartDAA) + 2363 HSF 56k Data/Fax CardBus Modem (Mob SmartDAA) + 2364 HSF 56k Data/Fax/Voice CardBus Modem (Mob SmartDAA) + 2365 HSF 56k Data/Fax/Voice/Spkp (w/HS) CardBus Modem (Mob SmartDAA) + 2366 HSF 56k Data/Fax/Voice/Spkp CardBus Modem (Mob SmartDAA) + 2443 HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) + 104d 8075 Modem + 104d 8083 Modem + 104d 8097 Modem + 2444 HSF 56k Data/Fax/Voice Modem (Mob WorldW SmartDAA) + 2445 HSF 56k Data/Fax/Voice/Spkp (w/HS) Modem (Mob WorldW SmartDAA) + 2446 HSF 56k Data/Fax/Voice/Spkp Modem (Mob WorldW SmartDAA) + 2463 HSF 56k Data/Fax Modem (Mob SmartDAA) + 2464 HSF 56k Data/Fax/Voice Modem (Mob SmartDAA) + 2465 HSF 56k Data/Fax/Voice/Spkp (w/HS) Modem (Mob SmartDAA) + 2466 HSF 56k Data/Fax/Voice/Spkp Modem (Mob SmartDAA) + 2bfa HDAudio Soft Data Fax Modem with SmartCP + 1025 0009 Aspire 5622WLMi + 2f00 HSF 56k HSFi Modem + 13e0 8d84 IBM HSFi V.90 + 13e0 8d85 Compaq Stinger + 14f1 2004 Dynalink 56PMi + 2f02 HSF 56k HSFi Data/Fax + 2f11 HSF 56k HSFi Modem + 2f20 HSF 56k Data/Fax Modem + 2f30 HSF 56k Data/Fax Modem + 5045 CX20549 (Venice) + 5047 High Definition Audio [Waikiki] + 5b7a CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder + 8234 RS8234 ATM SAR Controller [ServiceSAR Plus] + 8800 CX23880/1/2/3 PCI Video and Audio Decoder + 0070 2801 Hauppauge WinTV 28xxx (Roslyn) models + 0070 3401 Hauppauge WinTV 34xxx models + 0070 9001 Nova-T DVB-T + 0070 9200 Nova-SE2 DVB-S + 0070 9202 Nova-S-Plus DVB-S + 0070 9402 WinTV-HVR1100 DVB-T/Hybrid + 0070 9802 WinTV-HVR1100 DVB-T/Hybrid (Low Profile) + 1002 00f8 ATI TV Wonder Pro + 1002 a101 HDTV Wonder + 1043 4823 ASUS PVR-416 + 107d 6613 Leadtek Winfast 2000XP Expert + 107d 6620 Leadtek Winfast DV2000 + 107d 663c Leadtek PVR 2000 + 107d 665f WinFast DTV1000-T + 10fc d003 IODATA GV-VCP3/PCI + 10fc d035 IODATA GV/BCTV7E + 1421 0334 Instant TV DVB-T PCI + 1461 000a AVerTV 303 (M126) + 1461 000b AverTV Studio 303 (M126) + 1461 8011 UltraTV Media Center PCI 550 + 1462 8606 MSI TV-@nywhere Master + 14c7 0107 GDI Black Gold + 14f1 0187 Conexant DVB-T reference design + 14f1 0342 Digital-Logic MICROSPACE Entertainment Center (MEC) + 153b 1166 Cinergy 1400 DVB-T + 1540 2580 Provideo PV259 + 1554 4811 PixelView + 1554 4813 Club 3D ZAP1000 MCE Edition + 17de 08a1 KWorld/VStream XPert DVB-T with cx22702 + 17de 08a6 KWorld/VStream XPert DVB-T + 17de 08b2 KWorld DVB-S 100 + 17de a8a6 digitalnow DNTV Live! DVB-T + 1822 0025 digitalnow DNTV Live! DVB-T Pro + 18ac d500 FusionHDTV 5 Gold + 18ac d810 FusionHDTV 3 Gold-Q + 18ac d820 FusionHDTV 3 Gold-T + 18ac db00 FusionHDTV DVB-T1 + 18ac db11 FusionHDTV DVB-T Plus + 18ac db50 FusionHDTV DVB-T Dual Digital + 7063 3000 pcHDTV HD3000 HDTV + 7063 5500 pcHDTV HD-5500 + 8801 CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] + 0070 2801 Hauppauge WinTV 28xxx (Roslyn) models + 7063 5500 pcHDTV HD-5500 + 8802 CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] + 0070 2801 Hauppauge WinTV 28xxx (Roslyn) models + 0070 9002 Nova-T DVB-T Model 909 + 1043 4823 ASUS PVR-416 + 107d 663c Leadtek PVR 2000 + 107d 665f WinFast DTV1000-T + 14f1 0187 Conexant DVB-T reference design + 17de 08a1 XPert DVB-T PCI BDA DVBT 23880 Transport Stream Capture + 17de 08a6 KWorld/VStream XPert DVB-T + 18ac d500 DViCO FusionHDTV5 Gold + 18ac d810 DViCO FusionHDTV3 Gold-Q + 18ac d820 DViCO FusionHDTV3 Gold-T + 18ac db00 DVICO FusionHDTV DVB-T1 + 18ac db10 DVICO FusionHDTV DVB-T Plus + 7063 3000 pcHDTV HD3000 HDTV + 7063 5500 pcHDTV HD-5500 + 8804 CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] + 0070 9002 Nova-T DVB-T Model 909 + 7063 5500 pcHDTV HD-5500 + 8811 CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] + 0070 3401 Hauppauge WinTV 34xxx models + 1462 8606 MSI TV-@nywhere Master + 18ac d500 DViCO FusionHDTV5 Gold + 18ac d810 DViCO FusionHDTV3 Gold-Q + 18ac d820 DViCO FusionHDTV3 Gold-T + 18ac db00 DVICO FusionHDTV DVB-T1 +14f2 MOBILITY Electronics + 0120 EV1000 bridge + 0121 EV1000 Parallel port + 0122 EV1000 Serial port + 0123 EV1000 Keyboard controller + 0124 EV1000 Mouse controller +14f3 BroadLogic + 2030 2030 DVB-S Satellite Reciever + 2050 2050 DVB-T Terrestrial (Cable) Reciever + 2060 2060 ATSC Terrestrial (Cable) Reciever +14f4 TOKYO Electronic Industry CO Ltd +14f5 SOPAC Ltd +14f6 COYOTE Technologies LLC +14f7 WOLF Technology Inc +14f8 AUDIOCODES Inc + 2077 TP-240 dual span E1 VoIP PCI card +14f9 AG COMMUNICATIONS +14fa WANDEL & GOLTERMANN +14fb TRANSAS MARINE (UK) Ltd +14fc Quadrics Ltd + 0000 QsNet Elan3 Network Adapter + 0001 QsNetII Elan4 Network Adapter + 0002 QsNetIII Elan5 Network Adapter +14fd JAPAN Computer Industry Inc +14fe ARCHTEK TELECOM Corp +14ff TWINHEAD INTERNATIONAL Corp +1500 DELTA Electronics, Inc + 1360 RTL81xx RealTek Ethernet +1501 BANKSOFT CANADA Ltd +1502 MITSUBISHI ELECTRIC LOGISTICS SUPPORT Co Ltd +1503 KAWASAKI LSI USA Inc +1504 KAISER Electronics +1505 ITA INGENIEURBURO FUR TESTAUFGABEN GmbH +1506 CHAMELEON Systems Inc +# Should be HTEC Ltd, but there are no known HTEC chips and 1507 is already used by mistake by Motorola (see vendor ID 1057). +1507 Motorola ?? / HTEC + 0001 MPC105 [Eagle] + 0002 MPC106 [Grackle] + 0003 MPC8240 [Kahlua] + 0100 MC145575 [HFC-PCI] + 0431 KTI829c 100VG + 4801 Raven + 4802 Falcon + 4803 Hawk + 4806 CPX8216 +1508 HONDA CONNECTORS/MHOTRONICS Inc +1509 FIRST INTERNATIONAL Computer Inc +150a FORVUS RESEARCH Inc +150b YAMASHITA Systems Corp +150c KYOPAL CO Ltd +150d WARPSPPED Inc +150e C-PORT Corp +150f INTEC GmbH +1510 BEHAVIOR TECH Computer Corp +1511 CENTILLIUM Technology Corp +1512 ROSUN Technologies Inc +1513 Raychem +1514 TFL LAN Inc +1515 Advent design +1516 MYSON Technology Inc + 0800 MTD-8xx 100/10M Ethernet PCI Adapter + 0803 SURECOM EP-320X-S 100/10M Ethernet PCI Adapter + 1320 10bd SURECOM EP-320X-S 100/10M Ethernet PCI Adapter + 0891 MTD-8xx 100/10M Ethernet PCI Adapter +1517 ECHOTEK Corp +1518 PEP MODULAR Computers GmbH +1519 TELEFON AKTIEBOLAGET LM Ericsson +151a Globetek + 1002 PCI-1002 + 1004 PCI-1004 + 1008 PCI-1008 +151b COMBOX Ltd +151c DIGITAL AUDIO LABS Inc + 0003 Prodif T 2496 + 4000 Prodif 88 +151d Fujitsu Computer Products Of America +151e MATRIX Corp +151f TOPIC SEMICONDUCTOR Corp + 0000 TP560 Data/Fax/Voice 56k modem +1520 CHAPLET System Inc +1521 BELL Corp +1522 MainPine Ltd + 0100 PCI <-> IOBus Bridge + 1522 0200 RockForceDUO 2 Port V.92/V.44 Data/Fax/Voice Modem + 1522 0300 RockForceQUATRO 4 Port V.92/V.44 Data/Fax/Voice Modem + 1522 0400 RockForceDUO+ 2 Port V.92/V.44 Data/Fax/Voice Modem + 1522 0500 RockForceQUATRO+ 4 Port V.92/V.44 Data/Fax/Voice Modem + 1522 0600 RockForce+ 2 Port V.90 Data/Fax/Voice Modem + 1522 0700 RockForce+ 4 Port V.90 Data/Fax/Voice Modem + 1522 0800 RockForceOCTO+ 8 Port V.92/V.44 Data/Fax/Voice Modem + 1522 0c00 RockForceDUO+ 2 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem + 1522 0d00 RockForceQUATRO+ 4 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem + 1522 1d00 RockForceOCTO+ 8 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem + 1522 2000 RockForceD1 1 Port V.90 Data Modem + 1522 2100 RockForceF1 1 Port V.34 Super-G3 Fax Modem + 1522 2200 RockForceD2 2 Port V.90 Data Modem + 1522 2300 RockForceF2 2 Port V.34 Super-G3 Fax Modem + 1522 2400 RockForceD4 4 Port V.90 Data Modem + 1522 2500 RockForceF4 4 Port V.34 Super-G3 Fax Modem + 1522 2600 RockForceD8 8 Port V.90 Data Modem + 1522 2700 RockForceF8 8 Port V.34 Super-G3 Fax Modem + 1522 3000 IQ Express D1 - 1 Port V.92 Data Modem + 1522 3100 IQ Express F1 - 1 Port V.34 Super-G3 Fax Modem + 1522 3200 IQ Express D2 - 2 Port V.92 Data Modem + 1522 3300 IQ Express F2 - 2 Port V.34 Super-G3 Fax Modem + 1522 3400 IQ Express D4 - 4 Port V.92 Data Modem + 1522 3500 IQ Express F4 - 4 Port V.34 Super-G3 Fax Modem + 1522 3c00 IQ Express D8 - 8 Port V.92 Data Modem + 1522 3d00 IQ Express F8 - 8 Port V.34 Super-G3 Fax Modem +1523 MUSIC Semiconductors +1524 ENE Technology Inc + 0510 CB710 Memory Card Reader Controller + 103c 006a NX9500 + 0520 FLASH memory: ENE Technology Inc: + 0530 ENE PCI Memory Stick Card Reader Controller + 0550 ENE PCI Secure Digital Card Reader Controller + 0551 SD/MMC Card Reader Controller + 0610 PCI Smart Card Reader Controller + 0730 ENE PCI Memory Stick Card Reader Controller + 0750 ENE PCI SmartMedia / xD Card Reader Controller + 0751 ENE PCI Secure Digital / MMC Card Reader Controller + 1211 CB1211 Cardbus Controller + 1225 CB1225 Cardbus Controller + 1410 CB1410 Cardbus Controller + 1025 003c CL50 motherboard + 1025 005a TravelMate 290 + 1411 CB-710/2/4 Cardbus Controller + 103c 006a NX9500 + 1412 CB-712/4 Cardbus Controller + 1420 CB1420 Cardbus Controller + 1421 CB-720/2/4 Cardbus Controller + 1422 CB-722/4 Cardbus Controller +1525 IMPACT Technologies +1526 ISS, Inc +1527 SOLECTRON +1528 ACKSYS +1529 AMERICAN MICROSystems Inc +152a QUICKTURN DESIGN Systems +152b FLYTECH Technology CO Ltd +152c MACRAIGOR Systems LLC +152d QUANTA Computer Inc +152e MELEC Inc +152f PHILIPS - CRYPTO +1530 ACQIS Technology Inc +1531 CHRYON Corp +1532 ECHELON Corp + 0020 LonWorks PCLTA-20 PCI LonTalk Adapter +1533 BALTIMORE +1534 ROAD Corp +1535 EVERGREEN Technologies Inc +1536 ACTIS Computer +1537 DATALEX COMMUNCATIONS +1538 ARALION Inc + 0303 ARS106S Ultra ATA 133/100/66 Host Controller +1539 ATELIER INFORMATIQUES et ELECTRONIQUE ETUDES S.A. +153a ONO SOKKI +153b TERRATEC Electronic GmbH + 1144 Aureon 5.1 +# Terratec seems to use several IDs for the same card. + 1147 Aureon 5.1 Sky + 1158 Philips Semiconductors SAA7134 (rev 01) [Terratec Cinergy 600 TV] +153c ANTAL Electronic +153d FILANET Corp +153e TECHWELL Inc +153f MIPS Technologies, Inc. + 0001 SOC-it 101 System Controller +1540 PROVIDEO MULTIMEDIA Co Ltd +1541 MACHONE Communications +1542 Concurrent Computer Corporation + 9260 RCIM-II Real-Time Clock & Interrupt Module +1543 SILICON Laboratories + 3052 Intel 537 [Winmodem] + 4c22 Si3036 MC'97 DAA +1544 DCM DATA Systems +1545 VISIONTEK +1546 IOI Technology Corp +1547 MITUTOYO Corp +1548 JET PROPULSION Laboratory +1549 INTERCONNECT Systems Solutions +154a MAX Technologies Inc +154b COMPUTEX Co Ltd +154c VISUAL Technology Inc +154d PAN INTERNATIONAL Industrial Corp +154e SERVOTEST Ltd +154f STRATABEAM Technology +1550 OPEN NETWORK Co Ltd +1551 SMART Electronic DEVELOPMENT GmBH +1552 RACAL AIRTECH Ltd +1553 CHICONY Electronics Co Ltd +1554 PROLINK Microsystems Corp +1555 GESYTEC GmBH +1556 PLD APPLICATIONS +1557 MEDIASTAR Co Ltd +1558 CLEVO/KAPOK Computer +1559 SI LOGIC Ltd +155a INNOMEDIA Inc +155b PROTAC INTERNATIONAL Corp +155c Cemax-Icon Inc +155d Mac System Co Ltd +155e LP Elektronik GmbH +155f Perle Systems Ltd +1560 Terayon Communications Systems +1561 Viewgraphics Inc +1562 Symbol Technologies +1563 A-Trend Technology Co Ltd +1564 Yamakatsu Electronics Industry Co Ltd +1565 Biostar Microtech Int'l Corp +1566 Ardent Technologies Inc +1567 Jungsoft +1568 DDK Electronics Inc +1569 Palit Microsystems Inc. +156a Avtec Systems +156b 2wire Inc +156c Vidac Electronics GmbH +156d Alpha-Top Corp +156e Alfa Inc +156f M-Systems Flash Disk Pioneers Ltd +1570 Lecroy Corp +1571 Contemporary Controls + a001 CCSI PCI20-485 ARCnet + a002 CCSI PCI20-485D ARCnet + a003 CCSI PCI20-485X ARCnet + a004 CCSI PCI20-CXB ARCnet + a005 CCSI PCI20-CXS ARCnet + a006 CCSI PCI20-FOG-SMA ARCnet + a007 CCSI PCI20-FOG-ST ARCnet + a008 CCSI PCI20-TB5 ARCnet + a009 CCSI PCI20-5-485 5Mbit ARCnet + a00a CCSI PCI20-5-485D 5Mbit ARCnet + a00b CCSI PCI20-5-485X 5Mbit ARCnet + a00c CCSI PCI20-5-FOG-ST 5Mbit ARCnet + a00d CCSI PCI20-5-FOG-SMA 5Mbit ARCnet + a201 CCSI PCI22-485 10Mbit ARCnet + a202 CCSI PCI22-485D 10Mbit ARCnet + a203 CCSI PCI22-485X 10Mbit ARCnet + a204 CCSI PCI22-CHB 10Mbit ARCnet + a205 CCSI PCI22-FOG_ST 10Mbit ARCnet + a206 CCSI PCI22-THB 10Mbit ARCnet +1572 Otis Elevator Company +1573 Lattice - Vantis +1574 Fairchild Semiconductor +1575 Voltaire Advanced Data Security Ltd +1576 Viewcast COM +1578 HITT + 5615 VPMK3 [Video Processor Mk III] +1579 Dual Technology Corp +157a Japan Elecronics Ind Inc +157b Star Multimedia Corp +157c Eurosoft (UK) + 8001 Fix2000 PCI Y2K Compliance Card +157d Gemflex Networks +157e Transition Networks +157f PX Instruments Technology Ltd +1580 Primex Aerospace Co +1581 SEH Computertechnik GmbH +1582 Cytec Corp +1583 Inet Technologies Inc +1584 Uniwill Computer Corp +1585 Logitron +1586 Lancast Inc +1587 Konica Corp +1588 Solidum Systems Corp +1589 Atlantek Microsystems Pty Ltd +158a Digalog Systems Inc +158b Allied Data Technologies +158c Hitachi Semiconductor & Devices Sales Co Ltd +158d Point Multimedia Systems +158e Lara Technology Inc +158f Ditect Coop +1590 3pardata Inc + 0001 Eagle Cluster Manager + 0002 Osprey Cluster Manager + a01d FC044X Fibre Channel HBA +1591 ARN +1592 Syba Tech Ltd + 0781 Multi-IO Card + 0782 Parallel Port Card 2xEPP + 0783 Multi-IO Card + 0785 Multi-IO Card + 0786 Multi-IO Card + 0787 Multi-IO Card + 0788 Multi-IO Card + 078a Multi-IO Card +1593 Bops Inc +1594 Netgame Ltd +1595 Diva Systems Corp +1596 Folsom Research Inc +1597 Memec Design Services +1598 Granite Microsystems +1599 Delta Electronics Inc +159a General Instrument +159b Faraday Technology Corp +159c Stratus Computer Systems +159d Ningbo Harrison Electronics Co Ltd +159e A-Max Technology Co Ltd +159f Galea Network Security +15a0 Compumaster SRL +15a1 Geocast Network Systems +15a2 Catalyst Enterprises Inc + 0001 TA700 PCI Bus Analyzer/Exerciser +15a3 Italtel +15a4 X-Net OY +15a5 Toyota Macs Inc +15a6 Sunlight Ultrasound Technologies Ltd +15a7 SSE Telecom Inc +15a8 Shanghai Communications Technologies Center +15aa Moreton Bay +15ab Bluesteel Networks Inc +15ac North Atlantic Instruments +15ad VMware Inc + 0405 Abstract SVGA II Adapter + 0710 Abstract SVGA Adapter + 0720 Abstract Ethernet Controller + 0740 Virtual Machine Communication Interface + 0770 Abstract USB2 EHCI Controller + 0801 Virtual Machine Interface + 15ad 0800 Hypervisor ROM Interface +15ae Amersham Pharmacia Biotech +15b0 Zoltrix International Ltd +15b1 Source Technology Inc +15b2 Mosaid Technologies Inc +15b3 Mellanox Technologies + 0191 MT25408 [ConnectX IB SDR Flash Recovery] + 5274 MT21108 InfiniBridge + 5a44 MT23108 InfiniHost + 5a45 MT23108 [Infinihost HCA Flash Recovery] + 5a46 MT23108 PCI Bridge + 5e8c MT24204 [InfiniHost III Lx HCA] + 5e8d MT25204 [InfiniHost III Lx HCA Flash Recovery] + 6274 MT25204 [InfiniHost III Lx HCA] + 6278 MT25208 InfiniHost III Ex (Tavor compatibility mode) + 6279 MT25208 [InfiniHost III Ex HCA Flash Recovery] + 6282 MT25208 InfiniHost III Ex + 6340 MT25408 [ConnectX IB SDR] + 634a MT25418 [ConnectX IB DDR, PCIe 2.0 2.5GT/s] + 6354 MT25428 [ConnectX IB QDR] + 6368 MT25448 [ConnectX EN 10GigE, PCIe 2.0 2.5GT/s] + 6732 MT26418 [ConnectX IB DDR, PCIe 2.0 5GT/s] + 673c MT26428 [ConnectX IB QDR, PCIe 2.0 5GT/s] + 6750 MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] +15b4 CCI/TRIAD +15b5 Cimetrics Inc +15b6 Texas Memory Systems Inc +15b7 Sandisk Corp +15b8 ADDI-DATA GmbH + 1003 APCI1032 SP controller (32 digi inputs w/ opto coupler) + 1005 APCI2200 SP controller (8/16 digi outputs (relay)) + 100a APCI1696 SP controller (96 TTL I/Os) + 3001 APCI3501 SP controller (analog output board) +15b9 Maestro Digital Communications +15ba Impacct Technology Corp +15bb Portwell Inc +15bc Agilent Technologies + 1100 E8001-66442 PCI Express CIC + 2922 64 Bit, 133MHz PCI-X Exerciser & Protocol Checker + 2928 64 Bit, 66MHz PCI Exerciser & Analyzer + 2929 64 Bit, 133MHz PCI-X Analyzer & Exerciser +15bd DFI Inc +15be Sola Electronics +15bf High Tech Computer Corp (HTC) +15c0 BVM Ltd +15c1 Quantel +15c2 Newer Technology Inc +15c3 Taiwan Mycomp Co Ltd +15c4 EVSX Inc +15c5 Procomp Informatics Ltd + 8010 1394b - 1394 Firewire 3-Port Host Adapter Card +15c6 Technical University of Budapest +15c7 Tateyama System Laboratory Co Ltd + 0349 Tateyama C-PCI PLC/NC card Rev.01A +15c8 Penta Media Co Ltd +15c9 Serome Technology Inc +15ca Bitboys OY +15cb AG Electronics Ltd +15cc Hotrail Inc +15cd Dreamtech Co Ltd +15ce Genrad Inc +15cf Hilscher GmbH +15d1 Infineon Technologies AG +15d2 FIC (First International Computer Inc) +15d3 NDS Technologies Israel Ltd +15d4 Iwill Corp +15d5 Tatung Co +15d6 Entridia Corp +15d7 Rockwell-Collins Inc +15d8 Cybernetics Technology Co Ltd +15d9 Super Micro Computer Inc +15da Cyberfirm Inc +15db Applied Computing Systems Inc +15dc Litronic Inc + 0001 Argus 300 PCI Cryptography Module +15dd Sigmatel Inc +15de Malleable Technologies Inc +15df Infinilink Corp +15e0 Cacheflow Inc +15e1 Voice Technologies Group Inc +15e2 Quicknet Technologies Inc + 0500 PhoneJack-PCI +15e3 Networth Technologies Inc +15e4 VSN Systemen BV +15e5 Valley technologies Inc +15e6 Agere Inc +15e7 Get Engineering Corp +15e8 National Datacomm Corp + 0130 Wireless PCI Card + 0131 NCP130A2 Wireless NIC +15e9 Pacific Digital Corp + 1841 ADMA-100 DiscStaQ ATA Controller +15ea Tokyo Denshi Sekei K.K. +15eb Drsearch GmbH +15ec Beckhoff GmbH + 3101 FC3101 Profibus DP 1 Channel PCI + 5102 FC5102 +15ed Macrolink Inc +15ee In Win Development Inc +15ef Intelligent Paradigm Inc +15f0 B-Tree Systems Inc +15f1 Times N Systems Inc +15f2 Diagnostic Instruments Inc +15f3 Digitmedia Corp +15f4 Valuesoft +15f5 Power Micro Research +15f6 Extreme Packet Device Inc +15f7 Banctec +15f8 Koga Electronics Co +15f9 Zenith Electronics Corp +15fa J.P. Axzam Corp +15fb Zilog Inc +15fc Techsan Electronics Co Ltd +15fd N-CUBED.NET +15fe Kinpo Electronics Inc +15ff Fastpoint Technologies Inc +1600 Northrop Grumman - Canada Ltd +1601 Tenta Technology +1602 Prosys-tec Inc +1603 Nokia Wireless Communications +1604 Central System Research Co Ltd +1605 Pairgain Technologies +1606 Europop AG +1607 Lava Semiconductor Manufacturing Inc +1608 Automated Wagering International +1609 Scimetric Instruments Inc +1612 Telesynergy Research Inc. +1619 FarSite Communications Ltd + 0400 FarSync T2P (2 port X.21/V.35/V.24) + 0440 FarSync T4P (4 port X.21/V.35/V.24) + 0610 FarSync T1U (1 port X.21/V.35/V.24) + 0620 FarSync T2U (2 port X.21/V.35/V.24) + 0640 FarSync T4U (4 port X.21/V.35/V.24) + 1610 FarSync TE1 (T1,E1) + 2610 FarSync DSL-S1 (SHDSL) +161f Rioworks +1626 TDK Semiconductor Corp. + 8410 RTL81xx Fast Ethernet +1629 Kongsberg Spacetec AS + 1003 Format synchronizer v3.0 + 1006 Format synchronizer, model 10500 + 1007 Format synchronizer, model 21000 + 2002 Fast Universal Data Output +# This seems to occur on their 802.11b Wireless card WMP-11 +1637 Linksys + 3874 Linksys 802.11b WMP11 PCI Wireless card +1638 Standard Microsystems Corp [SMC] + 1100 SMC2602W EZConnect / Addtron AWA-100 / Eumitcom PCI WL11000 +163c Smart Link Ltd. + 3052 SmartLink SmartPCI562 56K Modem + 5449 SmartPCI561 Modem +1657 Brocade Communications Systems, Inc. +# Same Device_ID used for 410 (1port) and 420 (2 port) HBAs. + 0646 Brocade 400 4Gb PCIe FC HBA +165a Epix Inc + c100 PIXCI(R) CL1 Camera Link Video Capture Board [custom QL5232] + d200 PIXCI(R) D2X Digital Video Capture Board [custom QL5232] + d300 PIXCI(R) D3X Digital Video Capture Board [custom QL5232] +165d Hsing Tech. Enterprise Co., Ltd. +165f Linux Media Labs, LLC + 1020 LMLM4 MPEG-4 encoder +1661 Worldspace Corp. +1668 Actiontec Electronics Inc + 0100 Mini-PCI bridge +# Formerly SiByte, Inc. +166d Broadcom Corporation + 0001 SiByte BCM1125/1125H/1250 System-on-a-Chip PCI + 0002 SiByte BCM1125H/1250 System-on-a-Chip HyperTransport +1677 Bernecker + Rainer + 104e 5LS172.6 B&R Dual CAN Interface Card + 12d7 5LS172.61 B&R Dual CAN Interface Card + 20ad 5ACPCI.MFIO-K01 Profibus DP / K-Feldbus / COM +1678 NetEffect + 0100 NE020 10Gb Accelerated Ethernet Adapter (iWARP RNIC) +1679 Tokyo Electron Device Ltd. +167b ZyDAS Technology Corp. + 2102 ZyDAS ZD1202 + 187e 3406 ZyAIR B-122 CardBus 11Mbs Wireless LAN Card +167d Samsung Electro-Mechanics Co., Ltd. + a000 IPW2200 miniPCI Wireless +1681 Hercules + 0010 Hercules 3d Prophet II Ultra 64MB (350 MHz NV15BR core) +1682 XFX Pine Group Inc. +1688 CastleNet Technology Inc. + 1170 WLAN 802.11b card +168c Atheros Communications Inc. + 0007 AR5000 802.11a Wireless Adapter + 0011 AR5210 802.11a NIC + 0012 AR5211 802.11ab NIC + 0013 AR5212/AR5213 Multiprotocol MAC/baseband processor + 1113 d301 Philips CPWNA100 Wireless CardBus adapter + 1186 3202 D-link DWL-G650 (Rev B3,B5) Wireless cardbus adapter + 1186 3203 DWL-G520 Wireless PCI Adapter + 1186 3a12 D-Link AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C) + 1186 3a13 D-Link AirPlus DWL-G520 Wireless PCI Adapter(rev.B) + 1186 3a14 D-Link AirPremier DWL-AG530 Wireless PCI Adapter + 1186 3a17 D-Link AirPremier DWL-G680 Wireless Cardbus Adapter + 1186 3a18 D-Link AirPremier DWL-G550 Wireless PCI Adapter + 1186 3a63 D-Link AirPremier DWL-AG660 Wireless Cardbus Adapter + 1186 3a93 Conceptronic C54I Wireless 801.11g PCI card + 1186 3a94 C54C Wireless 801.11g cardbus + 1186 3ab0 Allnet ALL0281 Wireless PCI Card + 1385 4d00 Netgear WG311T Wireless PCI Adapter + 1458 e911 Gigabyte GN-WIAG02 + 1468 0408 ThinkPad 11b/g Wireless LAN Mini PCI Adapter + 14b7 0a60 8482-WD ORiNOCO 11a/b/g Wireless PCI Adapter + 1668 1026 IBM HighRate 11 a/b/g Wireless CardBus Adapter + 168c 0013 AirPlus XtremeG DWL-G650 Wireless PCMCIA Adapter + 168c 1025 DWL-G650B2 Wireless CardBus Adapter + 168c 1027 Engenius NL-3054CB ARIES b/g CardBus Adapter + 168c 1042 Ubiquiti Networks SuperRange a/b/g Cardbus Adapter + 168c 1051 EZ Connect g 802.11g 108Mbps Wireless PCI Adapter + 168c 2026 Netgate 5354MP ARIES a(108Mb turbo)/b/g MiniPCI Adapter + 168c 2041 Engenius 5354MP Plus ARIES2 b/g MiniPCI Adapter + 168c 2042 Engenius 5354MP Plus ARIES2 a/b/g MiniPCI Adapter + 168c 2051 TRENDnet TEW-443PI Wireless PCI Adapter + 16ab 7302 Trust Speedshare Turbo Pro Wireless PCI Adapter + 17cf 0042 Z-COMAX Highpower XG-622H (400mw) 802.11b/g mini-PCI Adapter + 185f 1012 CM9 Wireless a/b/g MiniPCI Adapter + 185f 2012 Wistron NeWeb WLAN a+b+g model CB9 +# the name AR5005G is used for the reference design using AR2413 + 001a AR2413 802.11bg NIC + 1052 168c Sweex Wireless Lan PC Card 54Mbps + 1113 ee20 SMC Wireless CardBus Adapter 802.11g (SMCWCB-G EU) + 1113 ee24 SMC Wireless PCI Card WPCI-G + 1186 3a15 D-Link AirPlus G DWL-G630 Wireless Cardbus Adapter(rev.D) + 1186 3a16 D-Link AirPlus G DWL-G510 Wireless PCI Adapter(rev.B) + 1186 3a23 D-Link AirPlus G DWL-G520+A Wireless PCI Adapter + 1186 3a24 D-Link AirPlus G DWL-G650+A Wireless Cardbus Adapter + 1186 3b08 AirPlus G DWL-G630 + 168c 001a Belkin FD7000 + 168c 1052 TP-Link TL-WN510G Wireless CardBus Adapter + 168c 2052 Compex Wireless 802.11 b/g MiniPCI Adapter, Rev A1 [WLM54G] +# the name AR5006X is used for the reference design using AR5413 + 001b AR5413 802.11abg NIC + 1186 3a19 D-Link AirPremier AG DWL-AG660 Wireless Cardbus Adapter + 1186 3a22 D-Link AirPremier AG DWL-AG530 Wireless PCI Adapter + 1458 e901 GN-WI01HT Wireless a/b/g MiniPCI Adapter + 168c 001b Wireless LAN PCI LiteOn + 168c 2062 EnGenius EMP-8602 (400mw) or Compex WLM54AG (SuperAG) + 168c 2063 EnGenius EMP-8602 (400mw) or Compex WLM54AG + 185f 1600 DCMA-82 High Power WLAN 802.11a/b/g mini-PCI Module (Super A/G, eXtended Range, 400mW) + a727 6804 Wireless 11a/b/g PC Card with XJACK(r) Antenna +# the names AR5006* are for AR242{3,4} designs and the names AR5007* are for AR2425 designs + 001c AR242x 802.11abg Wireless PCI Express Adapter + 168c 3061 AR5006EGS 802.11bg NIC (2.4GHz, PCI Express) + 168c 3062 AR5006EXS 802.11abg NIC (2.4/5.0GHz, PCI Express) + 168c 3063 AR5006EX 802.11abg NIC (2.4/5.0GHz, PCI Express) + 168c 3065 AR5006EG 802.11bg NIC (2.4GHz, PCI Express) +# the name AR5005VL is used for some AR5513 based designs + 0020 AR5513 802.11abg Wireless NIC + 0023 AR5416 802.11abgn Wireless PCI Adapter + 0024 AR5418 802.11abgn Wireless PCI Express Adapter + 1014 AR5212 802.11abg NIC + 1014 058a ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6) + 3b08 D-Link AirPlus G DWL-G630 +1695 EPoX Computer Co., Ltd. +169c Netcell Corporation + 0044 Revolution Storage Processing Card +# The right ID is 196d, but they got it nibble-swapped in 2202. +169d Club-3D VB (Wrong ID) + 3306 ZAP TV 2202 +16a5 Tekram Technology Co.,Ltd. +16ab Global Sun Technology Inc + 1100 GL24110P + 1101 PLX9052 PCMCIA-to-PCI Wireless LAN + 1102 PCMCIA-to-PCI Wireless Network Bridge + 8501 WL-8305 Wireless LAN PCI Adapter +16ae SafeNet Inc + 0001 SafeXcel 1140 + 000a SafeXcel 1841 + 1141 SafeXcel 1141 + 1841 SafeXcel 1842 +16af SparkLAN Communications, Inc. +16b4 Aspex Semiconductor Ltd +16b8 Sonnet Technologies, Inc. +16be Creatix Polymedia GmbH +16c6 Micrel-Kendin + 8695 Centaur KS8695 ARM processor + 8842 KSZ8842-PMQL 2-Port Ethernet Switch +16c8 Octasic Inc. +16c9 EONIC B.V. The Netherlands +16ca CENATEK Inc + 0001 Rocket Drive DL +16cd Densitron Technologies +16ce Roland Corp. +16d5 Acromag, Inc. + 0504 PMC-DX504 Reconfigurable FPGA with LVDS I/O + 0520 PMC520 Serial Communication, 232 Octal + 0521 PMC521 Serial Communication, 422/485 Octal + 1020 PMC-AX1020 Reconfigurable FPGA with A/D & D/A + 1065 PMC-AX1065 Reconfigurable FPGA with A/D & D/A + 2004 PMC-DX2004 Reconfigurable FPGA with LVDS I/O + 2020 PMC-AX2020 Reconfigurable FPGA with A/D & D/A + 2065 PMC-AX2065 Reconfigurable FPGA with A/D & D/A + 3020 PMC-AX3020 Reconfigurable FPGA with A/D & D/A + 3065 PMC-AX3065 Reconfigurable FPGA with A/D & D/A + 4243 PMC424, APC424, AcPC424 Digital I/O and Counter Timer Module + 4248 PMC464, APC464, AcPC464 Digital I/O and Counter Timer Module + 424b PMC-DX2002 Reconfigurable FPGA with Differential I/O + 4253 PMC-DX503 Reconfigurable FPGA with TTL and Differential I/O + 4312 PMC-CX1002 Reconfigurable Conduction-Cooled FPGA Virtex-II with Differential I/O + 4313 PMC-CX1003 Reconfigurable Conduction-Cooled FPGA Virtex-II with CMOS and Differential I/O + 4322 PMC-CX2002 Reconfigurable Conduction-Cooled FPGA Virtex-II with Differential I/O + 4323 PMC-CX2003 Reconfigurable Conduction-Cooled FPGA Virtex-II with CMOS and Differential I/O + 4350 PMC-DX501 Reconfigurable Digital I/O Module + 4353 PMC-DX2003 Reconfigurable FPGA with TTL and Differential I/O + 4357 PMC-DX502 Reconfigurable Differential I/O Module + 4457 PMC730, APC730, AcPC730 Multifunction Module + 464d PMC408 32-Channel Digital Input/Output Module + 4850 PMC220-16 12-Bit Analog Output Module + 4a42 PMC483, APC483, AcPC483 Counter Timer Module + 4a50 PMC484, APC484, AcPC484 Counter Timer Module + 4a56 PMC230 16-Bit Analog Output Module + 4b47 PMC330, APC330, AcPC330 Analog Input Module, 16-bit A/D + 4c40 PMC-LX40 Reconfigurable Virtex-4 FPGA with plug-in I/O + 4c60 PMC-LX60 Reconfigurable Virtex-4 FPGA with plug-in I/O + 4d4d PMC341, APC341, AcPC341 Analog Input Module, Simultaneous Sample & Hold + 4d4e PMC482, APC482, AcPC482 Counter Timer Board + 524d PMC-DX2001 Reconfigurable FPGA with TTL I/O + 5335 PMC-SX35 Reconfigurable Virtex-4 FPGA with plug-in I/O + 5456 PMC470 48-Channel Digital Input/Output Module +16da Advantech Co., Ltd. +16df PIKA Technologies Inc. +16e3 European Space Agency + 1e0f LEON2FT Processor +16e5 Intellon Corp. + 6000 INT6000 Ethernet-to-Powerline Bridge [HomePlug AV] + 6300 INT6300 Ethernet-to-Powerline Bridge [HomePlug AV] +16ec U.S. Robotics + 00ff USR997900 10/100 Mbps PCI Network Card + 0116 USR997902 10/100/1000 Mbps PCI Network Card + 2f00 USR5660A (USR265660A, USR5660A-BP) 56K PCI Faxmodem + 3685 Wireless Access PCI Adapter Model 022415 +16ed Sycron N. V. + 1001 UMIO communication card +16f3 Jetway Information Co., Ltd. +16f4 Vweb Corp + 8000 VW2010 +16f6 VideoTele.com, Inc. +1702 Internet Machines Corporation (IMC) +1705 Digital First, Inc. +170b NetOctave + 0100 NSP2000-SSL crypto accelerator +170c YottaYotta Inc. +1719 EZChip Technologies +# Seems to be a 2nd ID for Vitesse Semiconductor +1725 Vitesse Semiconductor + 7174 VSC7174 PCI/PCI-X Serial ATA Host Bus Controller +172a Accelerated Encryption + 13c8 AEP SureWare Runner 1000V3 +1734 Fujitsu Siemens Computers + 1078 Amilo Pro v2010 + 1085 Celsius M450 + 1098 Amilo L 1310G +1737 Linksys + 0013 WMP54G Wireless Pci Card + 0015 WMP54GS Wireless Pci Card + 0029 WPG54G ver. 4 PCI Card + 1032 Gigabit Network Adapter + 1737 0015 EG1032 v2 Instant Gigabit Network Adapter + 1737 0024 EG1032 v3 Instant Gigabit Network Adapter + 1064 Gigabit Network Adapter + 1737 0016 EG1064 v2 Instant Gigabit Network Adapter + ab08 21x4x DEC-Tulip compatible 10/100 Ethernet + ab09 21x4x DEC-Tulip compatible 10/100 Ethernet +173b Altima (nee Broadcom) + 03e8 AC1000 Gigabit Ethernet + 03e9 AC1001 Gigabit Ethernet + 03ea AC9100 Gigabit Ethernet + 173b 0001 AC1002 + 03eb AC1003 Gigabit Ethernet +1743 Peppercon AG + 8139 ROL/F-100 Fast Ethernet Adapter with ROL +1745 ViXS Systems, Inc. +1749 RLX Technologies +174b PC Partner Limited +174d WellX Telecom SA +175c AudioScience Inc +175e Sanera Systems, Inc. +1760 TEDIA spol. s r. o. +1775 SBS Technologies +177d Cavium Networks + 0001 Nitrox XL +1787 Hightech Information System Ltd. +# also used by Struck Innovative Systeme for joint developments +1796 Research Centre Juelich + 0001 SIS1100 [Gigabit link] + 0002 HOTlink + 0003 Counter Timer + 0004 CAMAC Controller + 0005 PROFIBUS + 0006 AMCC HOTlink + 000d Synchronisation Slave +1797 JumpTec h, GMBH +1799 Belkin + 6001 Wireless PCI Card - F5D6001 + 6020 Wireless PCMCIA Card - F5D6020 + 6060 Wireless PDA Card - F5D6060 + 7000 Wireless PCI Card - F5D7000 + 700a Wireless PCI Card - F5D7000UK + 7010 BCM4306 802.11b/g Wireless Lan Controller F5D7010 +179c Data Patterns + 0557 DP-PCI-557 [PCI 1553B] + 0566 DP-PCI-566 [Intelligent PCI 1553B] + 5031 DP-CPCI-5031-Synchro Module + 5121 DP-CPCI-5121-IP Carrier + 5211 DP-CPCI-5211-IP Carrier + 5679 AGE Display Module +17a0 Genesys Logic, Inc + 8033 GL880S USB 1.1 controller + 8034 GL880S USB 2.0 controller +17aa Lenovo +17ab Phillips Components +17af Hightech Information System Ltd. +17b3 Hawking Technologies + ab08 PN672TX 10/100 Ethernet +17b4 Indra Networks, Inc. + 0011 WebEnhance 100 GZIP Compression Card +17c0 Wistron Corp. +17c2 Newisys, Inc. +17cb Airgo Networks Inc + 0001 AGN100 802.11 a/b/g True MIMO Wireless Card + 0002 AGN300 802.11 a/b/g True MIMO Wireless Card +17cc NetChip Technology, Inc + 2280 USB 2.0 +17cf Z-Com, Inc. +17d3 Areca Technology Corp. + 1110 ARC-1110 4-Port PCI-X to SATA RAID Controller + 1120 ARC-1120 8-Port PCI-X to SATA RAID Controller + 1130 ARC-1130 12-Port PCI-X to SATA RAID Controller + 1160 ARC-1160 16-Port PCI-X to SATA RAID Controller + 1210 ARC-1210 4-Port PCI-Express to SATA RAID Controller + 1220 ARC-1220 8-Port PCI-Express to SATA RAID Controller + 1230 ARC-1230 12-Port PCI-Express to SATA RAID Controller + 1260 ARC-1260 16-Port PCI-Express to SATA RAID Controller + 1280 ARC-1231 12-Port PCI-Express to SATA RAID Controller +17d5 S2io Inc. + 5831 Xframe 10 Gigabit Ethernet PCI-X + 103c 12d5 PCI-X 133MHz 10GbE SR Fiber + 10a9 8020 Single Port 10 Gigabit Ethernet (PCI-X, Fiber) + 10a9 8024 Single Port 10 Gigabit Ethernet (PCI-X, Fiber) + 5832 Xframe II 10Gbps Ethernet + 103c 1337 PCI-X 266MHz 10GigE SR [AD385A] + 10a9 8021 Single Port 10 Gigabit Ethernet II (PCI-X, Fiber) +17db Cray Inc + 0101 XT Series [Seastar] 3D Toroidal Router +17de KWorld Computer Co. Ltd. +17e4 Sectra AB + 0001 KK671 Cardbus encryption board + 0002 KK672 Cardbus encryption board +17e6 Entropic Communications Inc. + 0010 EN2010 [c.Link] MoCA Network Controller (Coax, PCI interface) + 0011 EN2010 [c.Link] MoCA Network Controller (Coax, MPEG interface) + 0021 EN2210 [c.Link] MoCA Network Controller (Coax) +17ee Connect Components Ltd +17f2 Albatron Corp. +17f3 RDC Semiconductor, Inc. + 6020 R6020 North Bridge + 6030 R6030 ISA Bridge + 6040 R6040 MAC Controller + 6060 R6060 USB 1.1 Controller + 6061 R6061 USB 2.0 Controller +17fe Linksys, A Division of Cisco Systems + 2120 WMP11v4 802.11b PCI card + 2220 [AirConn] INPROCOMM IPN 2220 Wireless LAN Adapter (rev 01) + 17fe 2220 WPC54G ver. 4 +17ff Benq Corporation +1809 Lumanate, Inc. +1813 Ambient Technologies Inc + 4000 HaM controllerless modem + 16be 0001 V9x HAM Data Fax Modem + 4100 HaM plus Data Fax Modem + 16be 0002 V9x HAM 1394 +1814 RaLink + 0101 Wireless PCI Adapter RT2400 / RT2460 + 1043 0127 WiFi-b add-on Card + 1462 6828 PC11B2 (MS-6828) Wireless 11b PCI Card + 0200 RT2500 802.11g PCI [PC54G2] + 0201 RT2500 802.11g Cardbus/mini-PCI + 1043 130f WL-130g + 1371 001e CWC-854 Wireless-G CardBus Adapter + 1371 001f CWM-854 Wireless-G Mini PCI Adapter + 1371 0020 CWP-854 Wireless-G PCI Adapter + 1458 e381 GN-WMKG 802.11b/g Wireless CardBus Adapter + 1458 e931 GN-WIKG 802.11b/g mini-PCI Adapter + 1462 6833 Unknown 802.11g mini-PCI Adapter + 1462 6835 Wireless 11G CardBus CB54G2 + 1737 0032 WMP54G 2.0 PCI Adapter + 1799 700a F5D7000 Wireless G Desktop Network Card + 1799 701a F5D7010 Wireless G Notebook Network Card + 185f 22a0 CN-WF513 Wireless Cardbus Adapter + 0300 Wireless Adapter Canyon CN-WF511 + 0301 RT2561/RT61 802.11g PCI + 1186 3c08 DWL-G630 Rev E + 1186 3c09 DWL-G510 Rev C + 13d1 abe3 miniPCI Pluscom 802.11 a/b/g + 1458 e934 GN-WP01GS + 1737 0055 WMP54G ver 4.1 + 1814 2561 EW-7108PCg + 0302 RT2561/RT61 rev B 802.11g + 1186 3c08 DWL-G630 Rev E + 1186 3c09 DWL-G510 Rev C + 1462 b834 PC54G3 Wireless 11g PCI Card + 0401 RT2600 802.11 MIMO + e932 RT2560F 802.11 b/g PCI +1820 InfiniCon Systems Inc. +1822 Twinhan Technology Co. Ltd + 0001 Twinhan VisionPlus DVB [card=113] + 4e35 Mantis DTV PCI Bridge Controller [Ver 1.0] +182d SiteCom Europe BV +# HFC-based ISDN card + 3069 ISDN PCI DC-105V2 + 9790 WL-121 Wireless Network Adapter 100g+ [Ver.3] +182e Raza Microelectronics, Inc. + 0008 XLR516 Processor +# Strange vendor ID used by BCM5785 when in RAID mode +182f Broadcom +# HT1000 uses 3 IDs 1166:024a (Native SATA Mode), 1166:024b (PATA/IDE Mode), 182f:000b (RAID Mode) depends on SATA BIOS setting + 000b BCM5785 [HT1000] SATA (RAID Mode) +1830 Credence Systems Corporation +183b MikroM GmbH + 08a7 MVC100 DVI + 08a8 MVC101 SDI + 08a9 MVC102 DVI+Audio + 08b0 MVC200-DC +1849 ASRock Incorporation +184a Thales Computers +1851 Microtune, Inc. +1852 Anritsu Corp. +1853 SMSC Automotive Infotainment System Group +1854 LG Electronics, Inc. +185b Compro Technology, Inc. +185f Wistron NeWeb Corp. +1864 SilverBack + 2110 ISNAP 2110 +1867 Topspin Communications + 5a44 MT23108 InfiniHost HCA + 5a45 MT23108 InfiniHost HCA flash recovery + 5a46 MT23108 InfiniHost HCA bridge + 6278 MT25208 InfiniHost III Ex (Tavor compatibility mode) + 6282 MT25208 InfiniHost III Ex +186c Humusoft, s.r.o. + 0612 AD612 Data Acquisition Device + 0614 MF614 Multifunction I/O Card + 0622 AD622 Data Acquisition Device + 0624 MF624 Multifunction I/O Card + 0625 MF625 3-phase Motor Driver +1876 L-3 Communications + a101 VigraWATCH PCI + a102 VigraWATCH PMC + a103 Vigra I/O +187e ZyXEL Communication Corporation + 3403 ZyAir G-110 802.11g + 340e M-302 802.11g XtremeMIMO +1885 Avvida Systems Inc. +1888 Varisys Ltd + 0301 VMFX1 FPGA PMC module + 0601 VSM2 dual PMC carrier + 0710 VS14x series PowerPC PCI board + 0720 VS24x series PowerPC PCI board +188a Ample Communications, Inc +1890 Egenera, Inc. +1894 KNC One +1896 B&B Electronics Manufacturing Company, Inc. +18a1 Astute Networks Inc. +18ac DViCO Corporation + d500 FusionHDTV 5 + d800 FusionHDTV 3 Gold + d810 FusionHDTV 3 Gold-Q + d820 FusionHDTV 3 Gold-T + db30 FusionHDTV DVB-T Pro +18b8 Ammasso + b001 AMSO 1100 iWARP/RDMA Gigabit Ethernet Coprocessor +18bc Info-Tek Corp. +18c3 Micronas Semiconductor Holding AG +# Nee Octigabay System +18c8 Cray Inc +18c9 ARVOO Engineering BV +18ca XGI Technology Inc. (eXtreme Graphics Innovation) + 0020 Volari Z7 + 0040 Volari V3XT/V5/V8 + 0047 Volari 8300 (chip: XP10, codename: XG47) +18d2 Sitecom +# Sitecom HFC-S based ISDN controller card DC-105v2 + 3069 DC-105v2 ISDN controller +18dd Artimi Inc + 4c6f Artimi RTMI-100 UWB adapter +18e6 MPL AG + 0001 OSCI [Octal Serial Communication Interface] +18ec Cesnet, z.s.p.o. + c006 COMBO6 + 18ec d001 COMBO-4MTX + 18ec d002 COMBO-4SFP + 18ec d003 COMBO-4SFPRO + 18ec d004 COMBO-2XFP + c045 COMBO6E + c050 COMBO-PTM + c058 COMBO6X + 18ec d001 COMBO-4MTX + 18ec d002 COMBO-4SFP + 18ec d003 COMBO-4SFPRO + 18ec d004 COMBO-2XFP +18f6 NextIO + 1000 [Nexsis] Switch Virtual P2P PCIe Bridge + 1050 [Nexsis] Switch Virtual P2P PCI Bridge + 2000 [Nexsis] Switch Integrated Mgmt. Endpoint +18f7 Commtech, Inc. + 0001 Fastcom ESCC-PCI-335 + 0002 Fastcom 422/4-PCI-335 + 0004 Fastcom 422/2-PCI-335 + 0005 Fastcom IGESCC-PCI-ISO/1 + 000a Fastcom 232/4-PCI-335 + 000f Fastcom FSCC + 0010 Fastcom GSCC +# Dual Serocco + 0011 Fastcom QSSB + 0014 SuperFSCC +18fb Resilience Corporation +1904 Hangzhou Silan Microelectronics Co., Ltd. + 8139 RTL8139D [Realtek] PCI 10/100BaseTX ethernet adaptor +1905 Micronas USA, Inc. +1912 Renesas Technology Corp. +1923 Sangoma Technologies Corp. + 0040 A200/Remora FXO/FXS Analog AFT card + 0100 A104d QUAD T1/E1 AFT card + 0300 A101 single-port T1/E1 + 0400 A104u Quad T1/E1 AFT +# nee Level 5 Networks +1924 Solarflare Communications + 0703 SFC4000 rev A net [Solarstorm] + 10b8 0102 SMC10GPCIe-10BT (A2) [TigerCard] + 10b8 0103 SMC10GPCIe-10BT (A3) [TigerCard] + 10b8 0201 SMC10GPCIe-XFP (A1) [TigerCard] + 1924 0101 SFE4001-A1 + 1924 0102 SFE4001-A2 + 1924 0103 SFE4001-A3 + 1924 0201 SFE4002-A1 + 1924 0301 SFE4003-A1 + 1924 0302 SFE4003-A2 + 1924 0303 SFE4003-A3 + 1924 0304 SFE4003-A4 + 1924 0500 SFE4005-A0 + 0710 SFC4000 rev B [Solarstorm] + 10b8 0103 SMC10GPCIe-10BT (A3) [TigerCard] + 10b8 0201 SMC10GPCIe-XFP (A1) [TigerCard] + 1924 0102 SFE4001-A2 + 1924 0103 SFE4001-A3 + 1924 0201 SFE4002-A1 + 1924 0302 SFE4003-A2 + 1924 0303 SFE4003-A3 + 1924 0304 SFE4003-A4 + 1924 0500 SFE4005-A0 + 6703 SFC4000 rev A iSCSI/Onload [Solarstorm] + 10b8 0102 SMC10GPCIe-10BT (A2) [TigerCard] + 10b8 0103 SMC10GPCIe-10BT (A3) [TigerCard] + 10b8 0201 SMC10GPCIe-XFP (A1) [TigerCard] + 1924 0101 SFE4001-A1 + 1924 0102 SFE4001-A2 + 1924 0103 SFE4001-A3 + 1924 0201 SFE4002-A1 + 1924 0301 SFE4003-A1 + 1924 0302 SFE4003-A2 + 1924 0303 SFE4003-A3 + 1924 0304 SFE4003-A4 + 1924 0500 SFE4005-A0 + c101 EF1-21022T [EtherFabric] +192e TransDimension +1931 Option N.V. + 000c Qualcomm MSM6275 UMTS chip +1942 ClearSpeed Technology plc + e511 CSX600 Advance Accelerator Board +194a DapTechnology B.V. + 1111 FireSpy3850 + 1112 FireSpy450b + 1113 FireSpy450bT + 1114 FireSpy850 + 1115 FireSpy850bT +1954 Curtis, Inc. +1957 Freescale Semiconductor Inc + 0012 MPC8548E + 0013 MPC8548 + 0014 MPC8543E + 0015 MPC8543 + 0018 MPC8547E + 0019 MPC8545E + 001a MPC8545 + 0020 MPC8568E + 0021 MPC8568 + 0022 MPC8567E + 0023 MPC8567 + 0030 MPC8533E + 0031 MPC8533 + 0032 MPC8544E + 0033 MPC8544 + 0080 MPC8349E + 0081 MPC8349 + 0082 MPC8347E TBGA + 0083 MPC8347 TBGA + 0084 MPC8347E PBGA + 0085 MPC8347 PBGA + 0086 MPC8343E + 0087 MPC8343 + 7010 MPC8641 PCI Host Bridge + 7011 MPC8641D PCI Host Bridge +1958 Faster Technology, LLC. +1959 PA Semi, Inc +1966 Orad Hi-Tec Systems + 1975 DVG64 family +1969 Attansic Technology Corp. + 1026 L1 Gigabit Ethernet Adapter + 1048 L1 Gigabit Ethernet Adapter + 2048 L2 100 Mbit Ethernet Adapter +196a Sensory Networks Inc. + 0101 NodalCore C-1000 Content Classification Accelerator + 0102 NodalCore C-2000 Content Classification Accelerator + 0105 NodalCore C-3000 Content Classification Accelerator +196d Club-3D BV +1971 AGEIA Technologies, Inc. + 1011 Physics Processing Unit [PhysX] + 1043 0001 PhysX P1 +197b JMicron Technologies, Inc. + 2360 JMicron 20360/20363 AHCI Controller + 2361 JMB361 AHCI/IDE + 1462 7235 P965 Neo MS-7235 mainboard + 2363 JMicron 20360/20363 AHCI Controller + 2365 JMB365 AHCI/IDE + 2366 JMB366 AHCI/IDE + 2368 JMB368 IDE controller +1982 Distant Early Warning Communications Inc + 1600 OX16C954 HOST-A + 16ff OX16C954 HOST-B +1989 Montilio Inc. + 0001 RapidFile Bridge + 8001 RapidFile +1993 Innominate Security Technologies AG +199a Pulse-LINK, Inc. +19a2 ServerEngines Corp. + 0200 BladeEngine 10Gb PCI-E iSCSI adapter + 0201 BladeEngine 10Gb PCI-E Network Adpater +19a8 DAQDATA GmbH +19ac Kasten Chase Applied Research + 0001 ACA2400 Crypto Accelerator +19ae Progeny Systems Corporation + 0520 4135 HFT Interface Controller +19d4 Quixant Limited +19de Pico Computing +19e2 Vector Informatik GmbH +19e7 NET (Network Equipment Technologies) + 1001 STIX DSP Card + 1002 STIX - 1 Port T1/E1 Card + 1003 STIX - 2 Port T1/E1 Card + 1004 STIX - 4 Port T1/E1 Card + 1005 STIX - 4 Port FXS Card +1a03 ASPEED Technology, Inc. + 2000 AST2000 +1a07 Kvaser AB + 0006 CAN interface PC104+ HS/HS + 0007 CAN interface PCIcanx II HS or HS/HS +1a08 Sierra semiconductor + 0000 SC15064 +1a0e DekTec Digital Video B.V. +1a1d GFaI e.V. + 1a17 Meta Networks MTP-1G IDPS NIC +1a22 Ambric Inc. +1a29 Fortinet, Inc. +1a2b Ascom AG +1a51 Hectronic AB +1a58 Razer USA Ltd. +1a5d Celoxica +1a68 VirtenSys Limited +1a71 XenSource, Inc. +1a73 Violin Memory, Inc + 0001 Mozart [Memory Appliance 1010] +1a77 Lightfleet Corporation +1a78 Virident Systems Inc. +1a8c Verigy Pte. Ltd. + 1100 E8001-66443 PCI Express CIC +1aae Global Velocity, Inc. +1ab9 Espia Srl +1ae0 Google, Inc. +1ae8 Silicon Software GmbH +1af4 Qumranet, Inc. +1af5 Netezza Corp. +1b13 Jaton Corp +1c1c Symphony + 0001 82C101 +1d44 DPT + a400 PM2x24/PM3224 +1de1 Tekram Technology Co.,Ltd. + 0391 TRM-S1040 + 2020 DC-390 + 690c 690c + dc29 DC290 +# nee Tumsan Oy +1fc0 Ascom (Finland) Oy + 0300 E2200 Dual E1/Rawpipe Card +# nee PathScale, Inc +1fc1 QLogic, Corp. + 000d InfiniPath HT-400 + 0010 InfiniPath PE-800 +1fc9 Tehuti Networks Ltd. + 3009 10 Giga TOE SmartNIC + 3010 10 Giga TOE SmartNIC + 3014 10 Giga TOE SmartNIC 2-Port +1fce Cognio Inc. + 0001 Spectrum Analyzer PC Card (SAgE) +2000 Smart Link Ltd. +2001 Temporal Research Ltd +2003 Smart Link Ltd. +2004 Smart Link Ltd. +21c3 21st Century Computer Corp. +# (Probably only the Mobile Phone Division) +22b8 Motorola, Inc. +2348 Racore + 2010 8142 100VG/AnyLAN +2646 Kingston Technologies +270b Xantel Corporation +270f Chaintech Computer Co. Ltd +2711 AVID Technology Inc. +2a15 3D Vision(???) +3000 Hansol Electronics Inc. +3142 Post Impression Systems. +3388 Hint Corp + 0013 HiNT HC4 PCI to ISDN bridge, Multimedia audio controller + 0014 HiNT HC4 PCI to ISDN bridge, Network controller + 0020 HB6 Universal PCI-PCI bridge (transparent mode) + 0021 HB6 Universal PCI-PCI bridge (non-transparent mode) + 1775 c200 C2K CompactPCI interface bridge + 1775 ce90 CE9 + 4c53 1050 CT7 mainboard + 4c53 1080 CT8 mainboard + 4c53 1090 Cx9 mainboard + 4c53 10a0 CA3/CR3 mainboard + 4c53 3010 PPCI mezzanine (32-bit PMC) + 4c53 3011 PPCI mezzanine (64-bit PMC) + 4c53 4000 PMCCARR1 carrier board + 0022 HiNT HB4 PCI-PCI Bridge (PCI6150) + 0026 HB2 PCI-PCI Bridge + 101a E.Band [AudioTrak Inca88] + 101b E.Band [AudioTrak Inca88] + 8011 VXPro II Chipset + 3388 8011 VXPro II Chipset CPU to PCI Bridge + 8012 VXPro II Chipset + 3388 8012 VXPro II Chipset PCI to ISA Bridge + 8013 VXPro II IDE + 3388 8013 VXPro II Chipset EIDE Controller +3411 Quantum Designs (H.K.) Inc +3513 ARCOM Control Systems Ltd +3842 eVga.com. Corp. + c370 e-GeFORCE 6600 256 DDR PCI-e +38ef 4Links +3d3d 3DLabs + 0001 GLINT 300SX + 0002 GLINT 500TX + 0000 0000 GLoria L + 0003 GLINT Delta + 0000 0000 GLoria XL + 0004 Permedia + 0005 Permedia + 0006 GLINT MX + 0000 0000 GLoria XL + 1048 0a42 GLoria XXL + 0007 3D Extreme + 0008 GLINT Gamma G1 + 1048 0a42 GLoria XXL + 0009 Permedia II 2D+3D + 1040 0011 AccelStar II + 1048 0a42 GLoria XXL + 13e9 1000 6221L-4U + 3d3d 0100 AccelStar II 3D Accelerator + 3d3d 0111 Permedia 3:16 + 3d3d 0114 Santa Ana + 3d3d 0116 Oxygen GVX1 + 3d3d 0119 Scirocco + 3d3d 0120 Santa Ana PCL + 3d3d 0125 Oxygen VX1 + 3d3d 0127 Permedia3 Create! + 000a GLINT R3 + 3d3d 0121 Oxygen VX1 + 000c GLINT R3 [Oxygen VX1] + 3d3d 0144 Oxygen VX1-4X AGP [Permedia 4] + 000d GLint R4 rev A + 0011 GLint R4 rev B + 0012 GLint R5 rev A + 0013 GLint R5 rev B + 0020 VP10 visual processor + 0022 VP10 visual processor + 0024 VP9 visual processor + 0100 Permedia II 2D+3D + 07a1 Wildcat III 6210 + 07a2 Sun XVR-500 Graphics Accelerator + 07a3 Wildcat IV 7210 + 1004 Permedia + 3d04 Permedia + ffff Glint VGA +4005 Avance Logic Inc. + 0300 ALS300 PCI Audio Device + 0308 ALS300+ PCI Audio Device + 0309 PCI Input Controller + 1064 ALG-2064 + 2064 ALG-2064i + 2128 ALG-2364A GUI Accelerator + 2301 ALG-2301 + 2302 ALG-2302 + 2303 AVG-2302 GUI Accelerator + 2364 ALG-2364A + 2464 ALG-2464 + 2501 ALG-2564A/25128A + 4000 ALS4000 Audio Chipset + 4005 4000 ALS4000 Audio Chipset + 4710 ALC200/200P +4033 Addtron Technology Co, Inc. + 1360 RTL8139 Ethernet +4040 NetXen Incorporated + 0001 NXB-10GXSR 10 Gigabit Ethernet PCIe Adapter with SR-XFP optical interface + 103c 7047 NC510F PCIe 10 Gigabit Server Adapter + 0002 NXB-10GCX4 10 Gigabit Ethernet PCIe Adapter with CX4 copper interface + 103c 7048 NC510c PCIe 10Gigabit Server Adapter + 0003 NXB-4GCU Quad Gigabit Ethernet PCIe Adapter with 1000-BASE-T interface + 0004 BladeCenter-H 10 Gigabit Ethernet High Speed Daughter Card + 0005 NetXen Dual Port 10GbE Multifunction Adapter for c-Class + 103c 170e NC512m Dual Port 10GbE Multifunction BL-C Adapter + 0024 XG Mgmt + 0025 XG Mgmt + 0100 NX3031 Multifunction 1/10 Gigabit Server Adapter + 103c 171b NC522m Dual Port 10GbE Multifunction BL-c Adapter + 103c 705a NC375i Integrated Quad Port Multifunction Gigabit Server Adapter + 103c 705b NC522SFP Dual Port 10GbE Server Adapter +4143 Digital Equipment Corp +4144 Alpha Data + 0044 ADM-XRCIIPro +416c Aladdin Knowledge Systems + 0100 AladdinCARD + 0200 CPC +4321 Tata Power Strategic Electronics Division +434e CAST Navigation LLC +4444 Internext Compression Inc + 0016 iTVC16 (CX23416) MPEG-2 Encoder + 0070 0003 WinTV PVR 250 + 0070 0009 WinTV PVR 150 + 0070 0801 WinTV PVR 150 + 0070 0807 WinTV PVR 150 + 0070 4001 WinTV PVR 250 + 0070 4009 WinTV PVR 250 + 0070 4801 WinTV PVR 250 + 0070 4803 WinTV PVR 250 + 0070 8003 WinTV PVR 150 + 0070 8801 WinTV PVR 150 + 0070 c801 WinTV PVR 150 + 0070 e807 WinTV PVR 500 (1st unit) + 0070 e817 WinTV PVR 500 (2nd unit) + 0070 ff92 WiNTV PVR-550 + 0270 0801 WinTV PVR 150 + 104d 013d ENX-26 TV Encoder + 10fc d038 GV-MVP/RX2W (1st unit) + 10fc d039 GV-MVP/RX2W (2nd unit) + 12ab fff3 MPG600 + 12ab ffff MPG600 + 1461 c019 UltraTV 1500 MCE + 9005 0092 VideOh! AVC-2010 + 9005 0093 VideOh! AVC-2410 + 0803 iTVC15 MPEG-2 Encoder + 0070 4000 WinTV PVR-350 + 0070 4001 WinTV PVR-250 + 0070 4800 WinTV PVR-350 (V1) + 12ab 0000 MPG160 + 1461 a3ce M179 + 1461 a3cf M179 +4468 Bridgeport machines +4594 Cogetec Informatique Inc +45fb Baldor Electric Company +4680 Umax Computer Corp +4843 Hercules Computer Technology Inc +4916 RedCreek Communications Inc + 1960 RedCreek PCI adapter +4943 Growth Networks +494f ACCES I/O Products, Inc. + 0c60 PCI-DIO-48 + 0e60 PCI-DIO-48S + 10e8 LPCI-COM-8SM +4978 Axil Computer Inc +4a14 NetVin + 5000 NV5000SC + 4a14 5000 RT8029-Based Ethernet Adapter +4b10 Buslogic Inc. +4c48 LUNG HWA Electronics +4c53 SBS Technologies + 0000 PLUSTEST device + 4c53 3000 PLUSTEST card (PC104+) + 4c53 3001 PLUSTEST card (PMC) + 0001 PLUSTEST-MM device + 4c53 3002 PLUSTEST-MM card (PMC) +4ca1 Seanix Technology Inc +4d51 MediaQ Inc. + 0200 MQ-200 +4d54 Microtechnica Co Ltd +4d56 MATRIX VISION GmbH + 0000 Altera Cyclone II CameraLink Frame Grabber [mvHYPERION-CLe] +4ddc ILC Data Device Corp + 0100 DD-42924I5-300 (ARINC 429 Data Bus) + 0801 BU-65570I1 MIL-STD-1553 Test and Simulation + 0802 BU-65570I2 MIL-STD-1553 Test and Simulation + 0811 BU-65572I1 MIL-STD-1553 Test and Simulation + 0812 BU-65572I2 MIL-STD-1553 Test and Simulation + 0881 BU-65570T1 MIL-STD-1553 Test and Simulation + 0882 BU-65570T2 MIL-STD-1553 Test and Simulation + 0891 BU-65572T1 MIL-STD-1553 Test and Simulation + 0892 BU-65572T2 MIL-STD-1553 Test and Simulation + 0901 BU-65565C1 MIL-STD-1553 Data Bus + 0902 BU-65565C2 MIL-STD-1553 Data Bus + 0903 BU-65565C3 MIL-STD-1553 Data Bus + 0904 BU-65565C4 MIL-STD-1553 Data Bus + 0b01 BU-65569I1 MIL-STD-1553 Data Bus + 0b02 BU-65569I2 MIL-STD-1553 Data Bus + 0b03 BU-65569I3 MIL-STD-1553 Data Bus + 0b04 BU-65569I4 MIL-STD-1553 Data Bus +5046 GemTek Technology Corporation + 1001 PCI Radio +5053 Voyetra Technologies + 2010 Daytona Audio Adapter +5136 S S Technologies +5143 Qualcomm Inc +5145 Ensoniq (Old) + 3031 Concert AudioPCI +5168 Animation Technologies Inc. + 0300 FlyDVB-S + 0301 FlyDVB-T +5301 Alliance Semiconductor Corp. + 0001 ProMotion aT3D +5333 S3 Inc. + 0551 Plato/PX (system) + 5631 86c325 [ViRGE] + 8800 86c866 [Vision 866] + 8801 86c964 [Vision 964] + 8810 86c764_0 [Trio 32 vers 0] + 8811 86c764/765 [Trio32/64/64V+] + 8812 86cM65 [Aurora64V+] + 8813 86c764_3 [Trio 32/64 vers 3] + 8814 86c767 [Trio 64UV+] + 8815 86cM65 [Aurora 128] + 883d 86c988 [ViRGE/VX] + 8870 FireGL + 8880 86c868 [Vision 868 VRAM] vers 0 + 8881 86c868 [Vision 868 VRAM] vers 1 + 8882 86c868 [Vision 868 VRAM] vers 2 + 8883 86c868 [Vision 868 VRAM] vers 3 + 88b0 86c928 [Vision 928 VRAM] vers 0 + 88b1 86c928 [Vision 928 VRAM] vers 1 + 88b2 86c928 [Vision 928 VRAM] vers 2 + 88b3 86c928 [Vision 928 VRAM] vers 3 + 88c0 86c864 [Vision 864 DRAM] vers 0 + 88c1 86c864 [Vision 864 DRAM] vers 1 + 88c2 86c864 [Vision 864-P DRAM] vers 2 + 88c3 86c864 [Vision 864-P DRAM] vers 3 + 88d0 86c964 [Vision 964 VRAM] vers 0 + 88d1 86c964 [Vision 964 VRAM] vers 1 + 88d2 86c964 [Vision 964-P VRAM] vers 2 + 88d3 86c964 [Vision 964-P VRAM] vers 3 + 88f0 86c968 [Vision 968 VRAM] rev 0 + 88f1 86c968 [Vision 968 VRAM] rev 1 + 88f2 86c968 [Vision 968 VRAM] rev 2 + 88f3 86c968 [Vision 968 VRAM] rev 3 + 8900 86c755 [Trio 64V2/DX] + 5333 8900 86C775 Trio64V2/DX + 8901 86c775/86c785 [Trio 64V2/DX or /GX] + 5333 8901 86C775 Trio64V2/DX, 86C785 Trio64V2/GX + 8902 Plato/PX + 8903 Trio 3D business multimedia + 8904 Trio 64 3D + 1014 00db Integrated Trio3D + 4843 314a Terminator 128/3D GLH + 5333 8904 86C365 Trio3D AGP + 8905 Trio 64V+ family + 8906 Trio 64V+ family + 8907 Trio 64V+ family + 8908 Trio 64V+ family + 8909 Trio 64V+ family + 890a Trio 64V+ family + 890b Trio 64V+ family + 890c Trio 64V+ family + 890d Trio 64V+ family + 890e Trio 64V+ family + 890f Trio 64V+ family + 8a01 ViRGE/DX or /GX + 0e11 b032 ViRGE/GX + 10b4 1617 Nitro 3D + 10b4 1717 Nitro 3D + 5333 8a01 ViRGE/DX + 8a10 ViRGE/GX2 + 1092 8a10 Stealth 3D 4000 + 8a13 86c368 [Trio 3D/2X] + 5333 8a13 Trio3D/2X + 8a20 86c794 [Savage 3D] + 5333 8a20 86C391 Savage3D + 8a21 86c390 [Savage 3D/MV] + 5333 8a21 86C390 Savage3D/MV + 8a22 Savage 4 + 1033 8068 Savage 4 + 1033 8069 Savage 4 + 1033 8110 Savage 4 LT + 105d 0018 SR9 8Mb SDRAM + 105d 002a SR9 Pro 16Mb SDRAM + 105d 003a SR9 Pro 32Mb SDRAM + 105d 092f SR9 Pro+ 16Mb SGRAM + 1092 4207 Stealth III S540 + 1092 4800 Stealth III S540 + 1092 4807 SpeedStar A90 + 1092 4808 Stealth III S540 + 1092 4809 Stealth III S540 + 1092 480e Stealth III S540 + 1092 4904 Stealth III S520 + 1092 4905 SpeedStar A200 + 1092 4a09 Stealth III S540 + 1092 4a0b Stealth III S540 Xtreme + 1092 4a0f Stealth III S540 + 1092 4e01 Stealth III S540 + 1102 101d 3d Blaster Savage 4 + 1102 101e 3d Blaster Savage 4 + 5333 8100 86C394-397 Savage4 SDRAM 100 + 5333 8110 86C394-397 Savage4 SDRAM 110 + 5333 8125 86C394-397 Savage4 SDRAM 125 + 5333 8143 86C394-397 Savage4 SDRAM 143 + 5333 8a22 86C394-397 Savage4 + 5333 8a2e 86C394-397 Savage4 32bit + 5333 9125 86C394-397 Savage4 SGRAM 125 + 5333 9143 86C394-397 Savage4 SGRAM 143 + 8a23 Savage 4 + 8a25 ProSavage PM133 + 8a26 ProSavage KM133 + 8c00 ViRGE/M3 + 8c01 ViRGE/MX + 1179 0001 ViRGE/MX + 8c02 ViRGE/MX+ + 8c03 ViRGE/MX+MV + 8c10 86C270-294 Savage/MX-MV + 8c11 82C270-294 Savage/MX + 8c12 86C270-294 Savage/IX-MV + 1014 017f Thinkpad T20/T22 + 1179 0001 86C584 SuperSavage/IXC Toshiba + 8c13 86C270-294 Savage/IX + 1179 0001 Magnia Z310 + 8c22 SuperSavage MX/128 + 8c24 SuperSavage MX/64 + 8c26 SuperSavage MX/64C + 8c2a SuperSavage IX/128 SDR + 8c2b SuperSavage IX/128 DDR + 8c2c SuperSavage IX/64 SDR + 8c2d SuperSavage IX/64 DDR + 8c2e SuperSavage IX/C SDR + 1014 01fc ThinkPad T23 (2647-4MG) + 8c2f SuperSavage IX/C DDR + 8d01 86C380 [ProSavageDDR K4M266] + 8d02 VT8636A [ProSavage KN133] AGP4X VGA Controller (TwisterK) + 8d03 VT8751 [ProSavageDDR P4M266] + 8d04 VT8375 [ProSavage8 KM266/KL266] + 8e48 Chrome S27 PCIE + 5333 0130 Chrome S27 256M DDR2 + 9102 86C410 Savage 2000 + 1092 5932 Viper II Z200 + 1092 5934 Viper II Z200 + 1092 5952 Viper II Z200 + 1092 5954 Viper II Z200 + 1092 5a35 Viper II Z200 + 1092 5a37 Viper II Z200 + 1092 5a55 Viper II Z200 + 1092 5a57 Viper II Z200 + ca00 SonicVibes +544c Teralogic Inc + 0350 TL880-based HDTV/ATSC tuner +5455 Technische University Berlin + 4458 S5933 +5456 GoTView +5519 Cnet Technologies, Inc. +5544 Dunord Technologies + 0001 I-30xx Scanner Interface +5555 Genroco, Inc + 0003 TURBOstor HFP-832 [HiPPI NIC] +5654 VoiceTronix Pty Ltd + 3132 OpenSwitch12 +5700 Netpower +5851 Exacq Technologies +5853 XenSource, Inc. + 0001 Xen Platform Device +6356 UltraStor +6374 c't Magazin fuer Computertechnik + 6773 GPPCI +6409 Logitec Corp. +6666 Decision Computer International Co. + 0001 PCCOM4 + 0002 PCCOM8 + 0004 PCCOM2 + 0101 PCI 8255/8254 I/O Card +7063 pcHDTV + 2000 HD-2000 + 3000 HD-3000 + 5500 HD5500 HDTV +7604 O.N. Electronic Co Ltd. +7bde MIDAC Corporation +7fed PowerTV +8008 Quancom Electronic GmbH + 0010 WDOG1 [PCI-Watchdog 1] + 0011 PWDOG2 [PCI-Watchdog 2] +# Wrong ID used in subsystem ID of AsusTek PCI-USB2 PCI card. +807d Asustek Computer, Inc. +8086 Intel Corporation + 0007 82379AB + 0008 Extended Express System Support Controller + 0039 21145 Fast Ethernet + 0040 Auburndale/Havendale DRAM Controller + 0041 Auburndale/Havendale PCI Express x16 Root Port + 0042 Auburndale/Havendale Integrated Graphics Controller + 0122 82437FX + 0309 80303 I/O Processor PCI-to-PCI Bridge + 030d 80312 I/O Companion Chip PCI-to-PCI Bridge + 0326 6700/6702PXH I/OxAPIC Interrupt Controller A + 1775 1100 CR11/VR11 Single Board Computer + 0327 6700PXH I/OxAPIC Interrupt Controller B + 1775 1100 CR11/VR11 Single Board Computer + 0329 6700PXH PCI Express-to-PCI Bridge A + 032a 6700PXH PCI Express-to-PCI Bridge B + 032c 6702PXH PCI Express-to-PCI Bridge A + 0330 80332 [Dobson] I/O processor (A-Segment Bridge) + 0331 80332 [Dobson] I/O processor (A-Segment IOAPIC) + 0332 80332 [Dobson] I/O processor (B-Segment Bridge) + 0333 80332 [Dobson] I/O processor (B-Segment IOAPIC) + 0334 80332 [Dobson] I/O processor (ATU) + 0335 80331 [Lindsay] I/O processor (PCI-X Bridge) + 0336 80331 [Lindsay] I/O processor (ATU) + 0340 41210 [Lanai] Serial to Parallel PCI Bridge (A-Segment Bridge) + 0341 41210 [Lanai] Serial to Parallel PCI Bridge (B-Segment Bridge) + 0370 80333 Segment-A PCI Express-to-PCI Express Bridge + 0371 80333 A-Bus IOAPIC + 0372 80333 Segment-B PCI Express-to-PCI Express Bridge + 0373 80333 B-Bus IOAPIC + 0374 80333 Address Translation Unit + 0482 82375EB/SB PCI to EISA Bridge + 0483 82424TX/ZX [Saturn] CPU to PCI bridge + 0484 82378ZB/IB, 82379AB (SIO, SIO.A) PCI to ISA Bridge + 0486 82425EX/ZX [Aries] PCIset with ISA bridge + 04a3 82434LX/NX [Mercury/Neptune] Processor to PCI bridge + 04d0 82437FX [Triton FX] + 0500 E8870 Processor bus control + 0501 E8870 Memory controller +# and registers common to both SPs + 0502 E8870 Scalability Port 0 +# and global performance monitoring + 0503 E8870 Scalability Port 1 + 0510 E8870IO Hub Interface Port 0 registers (8-bit compatibility port) + 0511 E8870IO Hub Interface Port 1 registers + 0512 E8870IO Hub Interface Port 2 registers + 0513 E8870IO Hub Interface Port 3 registers + 0514 E8870IO Hub Interface Port 4 registers + 0515 E8870IO General SIOH registers + 0516 E8870IO RAS registers + 0530 E8870SP Scalability Port 0 registers + 0531 E8870SP Scalability Port 1 registers + 0532 E8870SP Scalability Port 2 registers + 0533 E8870SP Scalability Port 3 registers + 0534 E8870SP Scalability Port 4 registers + 0535 E8870SP Scalability Port 5 registers +# (bi-interleave 0) and global registers that are neither per-port nor per-interleave + 0536 E8870SP Interleave registers 0 and 1 +# (bi-interleave 1) + 0537 E8870SP Interleave registers 2 and 3 + 0600 RAID Controller + 8086 0136 SRCU31L + 8086 01af SRCZCR + 8086 01c1 ICP Vortex GDT8546RZ + 8086 01f7 SCRU32 +# uninitialized SRCU32 RAID Controller + 061f 80303 I/O Processor + 0960 80960RP (i960RP) Microprocessor/Bridge + 0962 80960RM (i960RM) Bridge + 0964 80960RP (i960RP) Microprocessor/Bridge + 1000 82542 Gigabit Ethernet Controller (Fiber) + 0e11 b0df NC6132 Gigabit Ethernet Adapter (1000-SX) + 0e11 b0e0 NC6133 Gigabit Ethernet Adapter (1000-LX) + 0e11 b123 NC6134 Gigabit Ethernet Adapter (1000-LX) + 1014 0119 Netfinity Gigabit Ethernet SX Adapter + 8086 1000 PRO/1000 Gigabit Server Adapter + 1001 82543GC Gigabit Ethernet Controller (Fiber) + 0e11 004a NC6136 Gigabit Server Adapter + 1014 01ea Netfinity Gigabit Ethernet SX Adapter + 8086 1002 PRO/1000 F Server Adapter + 8086 1003 PRO/1000 F Server Adapter + 1002 Pro 100 LAN+Modem 56 Cardbus II + 8086 200e Pro 100 LAN+Modem 56 Cardbus II + 8086 2013 Pro 100 SR Mobile Combo Adapter + 8086 2017 Pro 100 S Combo Mobile Adapter + 1004 82543GC Gigabit Ethernet Controller (Copper) + 0e11 0049 NC7132 Gigabit Upgrade Module + 0e11 b1a4 NC7131 Gigabit Server Adapter + 1014 10f2 Gigabit Ethernet Server Adapter + 8086 1004 PRO/1000 T Server Adapter + 8086 2004 PRO/1000 T Server Adapter + 1008 82544EI Gigabit Ethernet Controller (Copper) + 1014 0269 iSeries 1000/100/10 Ethernet Adapter + 1028 011b PowerEdge 1650/2550 + 1028 011c PRO/1000 XT Network Connection + 8086 1107 PRO/1000 XT Server Adapter + 8086 2107 PRO/1000 XT Server Adapter + 8086 2110 PRO/1000 XT Desktop Adapter + 8086 3108 PRO/1000 XT Network Connection + 1009 82544EI Gigabit Ethernet Controller (Fiber) + 1014 0268 iSeries Gigabit Ethernet Adapter + 8086 1109 PRO/1000 XF Server Adapter + 8086 2109 PRO/1000 XF Server Adapter + 100a 82540EM Gigabit Ethernet Controller + 100c 82544GC Gigabit Ethernet Controller (Copper) + 8086 1112 PRO/1000 T Desktop Adapter + 8086 2112 PRO/1000 T Desktop Adapter + 100d 82544GC Gigabit Ethernet Controller (LOM) + 1028 0123 PRO/1000 XT Network Connection + 1079 891f 82544GC Based Network Connection + 4c53 1080 CT8 mainboard + 8086 110d 82544GC Based Network Connection + 100e 82540EM Gigabit Ethernet Controller + 1014 0265 PRO/1000 MT Network Connection + 1014 0267 PRO/1000 MT Network Connection + 1014 026a PRO/1000 MT Network Connection + 1028 002e Optiplex GX260 + 1028 0134 PowerEdge 600SC + 1028 0151 Optiplex GX270 + 107b 8920 PRO/1000 MT Desktop Adapter + 8086 001e PRO/1000 MT Desktop Adapter + 8086 002e PRO/1000 MT Desktop Adapter + 8086 1376 PRO/1000 GT Desktop Adapter + 8086 1476 PRO/1000 GT Desktop Adapter + 100f 82545EM Gigabit Ethernet Controller (Copper) + 1014 0269 iSeries 1000/100/10 Ethernet Adapter + 1014 028e PRO/1000 MT Network Connection + 15ad 0750 Abstract PRO/1000 MT Single Port Adapter + 8086 1000 PRO/1000 MT Network Connection + 8086 1001 PRO/1000 MT Server Adapter + 1010 82546EB Gigabit Ethernet Controller (Copper) + 0e11 00db NC7170 Gigabit Server Adapter + 1014 027c PRO/1000 MT Dual Port Network Adapter + 15ad 0760 Abstract PRO/1000 MT Dual Port Adapter + 18fb 7872 RESlink-X + 1fc1 0026 Niagara 2260 Bypass Card + 4c53 1080 CT8 mainboard + 4c53 10a0 CA3/CR3 mainboard + 8086 1011 PRO/1000 MT Dual Port Server Adapter + 8086 1012 PRO/1000 MT Dual Port Server Adapter + 8086 101a PRO/1000 MT Dual Port Network Connection + 8086 3424 SE7501HG2 Mainboard + 1011 82545EM Gigabit Ethernet Controller (Fiber) + 1014 0268 iSeries Gigabit Ethernet Adapter + 8086 1002 PRO/1000 MF Server Adapter + 8086 1003 PRO/1000 MF Server Adapter (LX) + 1012 82546EB Gigabit Ethernet Controller (Fiber) + 0e11 00dc NC6170 Gigabit Server Adapter + 8086 1012 PRO/1000 MF Dual Port Server Adapter + 1013 82541EI Gigabit Ethernet Controller + 8086 0013 PRO/1000 MT Network Connection + 8086 1013 PRO/1000 MT Network Connection + 8086 1113 PRO/1000 MT Desktop Adapter + 1014 82541ER Gigabit Ethernet Controller + 8086 0014 PRO/1000 MT Desktop Connection + 8086 1014 PRO/1000 MT Network Connection + 1015 82540EM Gigabit Ethernet Controller (LOM) + 8086 1015 PRO/1000 MT Mobile Connection + 1016 82540EP Gigabit Ethernet Controller (Mobile) + 1014 052c PRO/1000 MT Mobile Connection + 1179 0001 PRO/1000 MT Mobile Connection + 8086 1016 PRO/1000 MT Mobile Connection + 1017 82540EP Gigabit Ethernet Controller + 8086 1017 PR0/1000 MT Desktop Connection + 1018 82541EI Gigabit Ethernet Controller + 8086 1018 PRO/1000 MT Mobile Connection + 1019 82547EI Gigabit Ethernet Controller + 1458 1019 GA-8IPE1000 Pro2 motherboard (865PE) + 1458 e000 Intel Gigabit Ethernet (Kenai II) + 8086 1019 ASUS PC-DL Deluxe mainboard (Socket 603) + 8086 301f D865PERL mainboard + 8086 3025 D875PBZ motherboard + 8086 302c Intel 82865G Mainboard (D865GBF) + 8086 3427 S875WP1-E mainboard + 101a 82547EI Gigabit Ethernet Controller (Mobile) + 8086 101a PRO/1000 CT Mobile Connection + 101d 82546EB Gigabit Ethernet Controller + 8086 1000 PRO/1000 MT Quad Port Server Adapter + 101e 82540EP Gigabit Ethernet Controller (Mobile) + 1014 0549 Thinkpad + 1179 0001 PRO/1000 MT Mobile Connection + 8086 101e PRO/1000 MT Mobile Connection + 1026 82545GM Gigabit Ethernet Controller + 1028 0169 Precision 470 + 8086 1000 PRO/1000 MT Server Connection + 8086 1001 PRO/1000 MT Server Adapter + 8086 1002 PRO/1000 MT Server Adapter + 8086 1003 PRO/1000 GT Server Adapter + 8086 1026 PRO/1000 MT Server Connection + 1027 82545GM Gigabit Ethernet Controller + 103c 3103 NC310F PCI-X Gigabit Server Adapter + 8086 1001 PRO/1000 MF Server Adapter(LX) + 8086 1002 PRO/1000 MF Server Adapter(LX) + 8086 1003 PRO/1000 MF Server Adapter(LX) + 8086 1027 PRO/1000 MF Server Adapter + 1028 82545GM Gigabit Ethernet Controller + 8086 1028 PRO/1000 MB Server Connection + 1029 82559 Ethernet Controller + 1030 82559 InBusiness 10/100 + 1031 82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller + 1014 0209 ThinkPad A/T/X Series + 104d 80e7 Vaio PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP + 104d 813c Vaio PCG-GRV616G + 107b 5350 EtherExpress PRO/100 VE + 1179 0001 EtherExpress PRO/100 VE + 144d c000 EtherExpress PRO/100 VE + 144d c001 EtherExpress PRO/100 VE + 144d c003 EtherExpress PRO/100 VE + 144d c006 vpr Matrix 170B4 + 1032 82801CAM (ICH3) PRO/100 VE Ethernet Controller + 1033 82801CAM (ICH3) PRO/100 VM (LOM) Ethernet Controller + 1034 82801CAM (ICH3) PRO/100 VM Ethernet Controller + 1035 82801CAM (ICH3)/82562EH (LOM) Ethernet Controller + 1036 82801CAM (ICH3) 82562EH Ethernet Controller + 1037 82801CAM (ICH3) Chipset Ethernet Controller + 1038 82801CAM (ICH3) PRO/100 VM (KM) Ethernet Controller + 0e11 0098 Evo N600c + 1039 82801DB PRO/100 VE (LOM) Ethernet Controller + 1014 0267 NetVista A30p + 114a 0582 PC8 onboard ethernet ETH1 + 103a 82801DB PRO/100 VE (CNR) Ethernet Controller + 103b 82801DB PRO/100 VM (LOM) Ethernet Controller + 103c 82801DB PRO/100 VM (CNR) Ethernet Controller + 103d 82801DB PRO/100 VE (MOB) Ethernet Controller + 1014 0522 ThinkPad R40 + 8086 103d 82562EZ 10/100 Ethernet Controller + 103e 82801DB PRO/100 VM (MOB) Ethernet Controller + 1040 536EP Data Fax Modem + 16be 1040 V.9X DSP Data Fax Modem + 1043 PRO/Wireless LAN 2100 3B Mini PCI Adapter + 103c 08b0 tc1100 tablet + 8086 2522 Samsung X10/P30 integrated WLAN + 8086 2527 MIM2000/Centrino + 8086 2561 Dell Latitude D800 + 8086 2581 Toshiba Satellite M10 + 1048 82597EX 10GbE Ethernet Controller + 8086 a01f PRO/10GbE LR Server Adapter + 8086 a11f PRO/10GbE LR Server Adapter + 1049 82566MM Gigabit Network Connection + 103c 30c1 Compaq 6910p + 17aa 20b9 ThinkPad T61 + 104a 82566DM Gigabit Network Connection + 104b 82566DC Gigabit Network Connection + 104c 82562V 10/100 Network Connection + 104d 82566MC Gigabit Network Connection + 1050 82562EZ 10/100 Ethernet Controller + 1028 019d Dimension 3000 + 1462 728c 865PE Neo2 (MS-6728) + 1462 758c MS-6758 (875P Neo) + 8086 3020 D865PERL mainboard + 8086 302f Desktop Board D865GBF + 8086 3427 S875WP1-E mainboard + 1051 82801EB/ER (ICH5/ICH5R) integrated LAN Controller + 1052 PRO/100 VM Network Connection + 1053 PRO/100 VM Network Connection + 1054 PRO/100 VE Network Connection + 1055 PRO/100 VM Network Connection + 1056 PRO/100 VE Network Connection + 1057 PRO/100 VE Network Connection + 1059 82551QM Ethernet Controller + 105b 82546GB Gigabit Ethernet Controller (Copper) + 105e 82571EB Gigabit Ethernet Controller + 103c 7044 NC360T PCI Express Dual Port Gigabit Server Adapter + 103c 704e Dual Port 1000Base-T (PCIe) [AD337A] + 1775 1100 CR11/VR11 Single Board Computer + 1775 6003 Telum GE-QT + 8086 005e PRO/1000 PT Dual Port Server Connection + 8086 105e PRO/1000 PT Dual Port Network Connection + 8086 10d5 82571PT Gigabit PT Quad Port Server ExpressModule + 8086 115e PRO/1000 PT Dual Port Server Adapter + 8086 125e PRO/1000 PT Dual Port Server Adapter + 8086 135e PRO/1000 PT Dual Port Server Adapter + 105f 82571EB Gigabit Ethernet Controller + 103c 704f Dual Port 1000Base-SX (PCIe) [AD338A] + 8086 005a PRO/1000 PF Dual Port Server Adapter + 8086 115f PRO/1000 PF Dual Port Server Adapter + 8086 125f PRO/1000 PF Dual Port Server Adapter + 8086 135f PRO/1000 PF Dual Port Server Adapter + 1060 82571EB Gigabit Ethernet Controller + 8086 0060 PRO/1000 PB Dual Port Server Connection + 8086 1060 PRO/1000 PB Dual Port Server Connection + 1064 82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller + 1043 80f8 P5GD1-VW Mainboard + 1065 82562ET/EZ/GT/GZ - PRO/100 VE Ethernet Controller + 1066 82562 EM/EX/GX - PRO/100 VM (LOM) Ethernet Controller + 1067 82562 EM/EX/GX - PRO/100 VM Ethernet Controller + 1068 82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller Mobile + 1069 82562EM/EX/GX - PRO/100 VM (LOM) Ethernet Controller Mobile + 106a 82562G - PRO/100 VE (LOM) Ethernet Controller + 106b 82562G - PRO/100 VE Ethernet Controller Mobile + 1075 82547GI Gigabit Ethernet Controller + 1028 0165 PowerEdge 750 + 8086 0075 PRO/1000 CT Network Connection + 8086 1075 PRO/1000 CT Network Connection + 1076 82541GI Gigabit Ethernet Controller + 1028 0165 PRO/1000 MT Network Connection + 1028 016d PRO/1000 MT Network Connection + 1028 019a PRO/1000 MT Network Connection + 1028 106d PRO/1000 MT Network Connection + 8086 0076 PRO/1000 MT Network Connection + 8086 1076 PRO/1000 MT Network Connection + 8086 1176 PRO/1000 MT Desktop Adapter + 8086 1276 PRO/1000 MT Network Adapter + 1077 82541GI Gigabit Ethernet Controller + 1179 0001 PRO/1000 MT Mobile Connection + 8086 0077 PRO/1000 MT Mobile Connection + 8086 1077 PRO/1000 MT Mobile Connection + 1078 82541ER Gigabit Ethernet Controller + 8086 1078 82541ER-based Network Connection + 1079 82546GB Gigabit Ethernet Controller + 103c 12a6 Dual Port 1000Base-T [A9900A] + 103c 12cf Core Dual Port 1000Base-T [AB352A] + 1775 10d0 V5D Single Board Computer Gigabit Ethernet + 1775 ce90 CE9 + 1fc1 0027 Niagara 2261 Failover NIC + 4c53 1090 Cx9 / Vx9 mainboard + 4c53 10b0 CL9 mainboard + 8086 0079 PRO/1000 MT Dual Port Network Connection + 8086 1079 PRO/1000 MT Dual Port Network Connection + 8086 1179 PRO/1000 MT Dual Port Server Adapter + 8086 117a PRO/1000 MT Dual Port Server Adapter + 107a 82546GB Gigabit Ethernet Controller + 103c 12a8 Dual Port 1000base-SX [A9899A] + 8086 107a PRO/1000 MF Dual Port Server Adapter + 8086 127a PRO/1000 MF Dual Port Server Adapter + 107b 82546GB Gigabit Ethernet Controller + 8086 007b PRO/1000 MB Dual Port Server Connection + 8086 107b PRO/1000 MB Dual Port Server Connection + 107c 82541PI Gigabit Ethernet Controller + 8086 1376 PRO/1000 GT Desktop Adapter + 8086 1476 PRO/1000 GT Desktop Adapter + 107d 82572EI Gigabit Ethernet Controller (Copper) + 8086 1082 PRO/1000 PT Server Adapter + 8086 1084 PRO/1000 PT Server Adapter + 8086 1092 PRO/1000 PT Server Adapter + 107e 82572EI Gigabit Ethernet Controller (Fiber) + 8086 1084 PRO/1000 PF Server Adapter + 8086 1085 PRO/1000 PF Server Adapter + 8086 1094 PRO/1000 PF Server Adapter + 107f 82572EI Gigabit Ethernet Controller + 1080 FA82537EP 56K V.92 Data/Fax Modem PCI + 1081 631xESB/632xESB LAN Controller Copper + 1082 631xESB/632xESB LAN Controller fiber + 1083 631xESB/632xESB LAN Controller SERDES + 1084 631xESB/632xESB IDE Redirection + 1085 631xESB/632xESB Serial Port Redirection + 1086 631xESB/632xESB IPMI/KCS0 + 1087 631xESB/632xESB UHCI Redirection + 1089 631xESB/632xESB BT + 108a 82546GB Gigabit Ethernet Controller + 8086 108a PRO/1000 P Dual Port Server Adapter + 8086 118a PRO/1000 P Dual Port Server Adapter + 108b 82573V Gigabit Ethernet Controller (Copper) + 1462 176c on board on MSI 945P - NEO (MS-7176) + 108c 82573E Gigabit Ethernet Controller (Copper) + 108e 82573E KCS (Active Management) + 108f Active Management Technology - SOL + 1091 PRO/100 VM Network Connection + 1092 PRO/100 VE Network Connection + 1093 PRO/100 VM Network Connection + 1094 PRO/100 VE Network Connection + 1095 PRO/100 VE Network Connection + 1096 80003ES2LAN Gigabit Ethernet Controller (Copper) + 15d9 8680 X7DVL-E-O motherboard + 8086 3476 Intel S5000PSLSATA Server Board + 1097 631xESB/632xESB DPT LAN Controller (Fiber) + 1098 80003ES2LAN Gigabit Ethernet Controller (Serdes) + 1099 82546GB Gigabit Ethernet Controller (Copper) + 8086 1099 PRO/1000 GT Quad Port Server Adapter + 109a 82573L Gigabit Ethernet Controller + 1179 ff10 PRO/1000 PL + 17aa 2001 ThinkPad T60 + 17aa 207e ThinkPad X60s + 8086 109a PRO/1000 PL Network Connection + 8086 309c DeskTop Board D945GTP + 8086 30a5 DeskTop Board D975XBX + 109b 82546GB PRO/1000 GF Quad Port Server Adapter + 109e 82597EX 10GbE Ethernet Controller + 8086 a01f PRO/10GbE CX4 Server Adapter + 8086 a11f PRO/10GbE CX4 Server Adapter + 10a0 82571EB PRO/1000 AT Quad Port Bypass Adapter + 10a1 82571EB PRO/1000 AF Quad Port Bypass Adapter + 10a4 82571EB Gigabit Ethernet Controller + 8086 10a4 PRO/1000 PT Quad Port Server Adapter + 8086 11a4 PRO/1000 PT Quad Port Server Adapter + 10a5 82571EB Gigabit Ethernet Controller (Fiber) + 8086 10a5 PRO/1000 PF Quad Port Server Adapter + 8086 10a6 PRO/1000 PF Quad Port Server Adapter + 10a7 82575EB Gigabit Network Connection + 8086 10a8 82575EB Gigabit Riser Card + 10a9 82575EB Gigabit Backplane Connection + 10b0 82573L PRO/1000 PL Network Connection + 10b2 82573V PRO/1000 PM Network Connection + 10b3 82573E PRO/1000 PM Network Connection + 10b4 82573L PRO/1000 PL Network Connection + 10b5 82546GB Gigabit Ethernet Controller (Copper) + 103c 3109 NC340T PCI-X Quad-port Gigabit Server Adapter + 8086 1099 PRO/1000 GT Quad Port Server Adapter + 8086 1199 PRO/1000 GT Quad Port Server Adapter + 10b6 82598 10GbE PCI-Express Ethernet Controller + 10b9 82572EI Gigabit Ethernet Controller (Copper) + 103c 704a HP 110T PCIe Gigabit Server Adapter + 8086 1083 PRO/1000 PT Desktop Adapter + 8086 1093 PRO/1000 PT Desktop Adapter + 10ba 80003ES2LAN Gigabit Ethernet Controller (Copper) + 10bb 80003ES2LAN Gigabit Ethernet Controller (Serdes) + 10bc 82571EB Gigabit Ethernet Controller (Copper) + 103c 704b NC364T PCI Express Quad Port Gigabit Server Adapter + 8086 10bc PRO/1000 PT Quad Port LP Server Adapter + 8086 11bc PRO/1000 PT Quad Port LP Server Adapter + 10bd 82566DM-2 Gigabit Network Connection + 1028 0211 OptiPlex 755 + 10be 82567 Gigabit Network Connection + 10bf 82567LF Gigabit Network Connection + 10c0 82562V-2 10/100 Network Connection + 10c2 82562G-2 10/100 Network Connection + 10c3 82562GT-2 10/100 Network Connection + 10c4 82562GT 10/100 Network Connection + 10c5 82562G 10/100 Network Connection + 10c6 82598EB 10 Gigabit AF Dual Port Network Connection + 8086 a05f 10 Gigabit XF SR Dual Port Server Adapter + 8086 a15f 10 Gigabit XF SR Dual Port Server Adapter + 10c7 82598EB 10 Gigabit AF Network Connection + 1014 037f 10 Gigabit XF SR Server Adapter + 1014 0380 10 Gigabit XF LR Server Adapter + 8086 a05f 10 Gigabit XF SR Server Adapter + 8086 a15f 10 Gigabit XF SR Server Adapter + 8086 a16f 10 Gigabit XF SR Server Adapter + 10c8 82598EB 10 Gigabit AT Network Connection + 8086 a10c 10 Gigabit AT Server Adapter + 8086 a11c 10 Gigabit AT Server Adapter + 8086 a12c 10 Gigabit AT Server Adapter + 10cb 82567V Gigabit Network Connection + 10cc 82567LM-2 Gigabit Network Connection + 10cd 82567LF-2 Gigabit Network Connection + 10ce 82567V-2 Gigabit Network Connection + 10d3 82574L Gigabit Network Connection + 8086 a01f Gigabit CT Desktop Adapter + 10d5 82571PT Gigabit PT Quad Port Server ExpressModule + 10d6 82575GB Gigabit Network Connection + 8086 10d6 Gigabit VT Quad Port Server Adapter + 8086 145a Gigabit VT Quad Port Server Adapter + 10d9 82571EB Dual Port Gigabit Mezzanine Adapter + 103c 1716 NC360m Dual Port 1GbE BL-c Adapter + 10da 82571EB Quad Port Gigabit Mezzanine Adapter + 103c 1717 NC364m Quad Port 1GbE BL-c Adapter + 10dd 82598EB 10 Gigabit AT CX4 Network Connection + 10de 82567LM-3 Gigabit Network Connection + 10df 82567LF-3 Gigabit Network Connection + 10e2 82575GB Gigabit Network Connection + 8086 10e2 Gigabit VT Quad Port Server Adapter + 10e5 82567LM-4 Gigabit Network Connection + 10ec 10 Gigabit AT CX4 Network Connection + 8086 a01f 10 Gigabit CX4 Dual Port Server Adapter + 8086 a11f 10 Gigabit CX4 Dual Port Server Adapter + 10f4 10 Gigabit AT Network Connection + 8086 106f 10 Gigabit XF LR Server Adapter + 10f5 82567LM Gigabit Network Connection + 1107 PRO/1000 MF Server Adapter (LX) + 1130 82815 815 Chipset Host Bridge and Memory Controller Hub + 1025 1016 Travelmate 612 TX + 1043 8027 TUSL2-C Mainboard + 104d 80df Vaio PCG-FX403 + 8086 4532 D815EEA2 mainboard + 8086 4557 D815EGEW Mainboard + 1131 82815 815 Chipset AGP Bridge + 1132 82815 Chipset Graphics Controller (CGC) + 1025 1016 Travelmate 612 TX + 103c 2001 e-pc 40 + 104d 80df Vaio PCG-FX403 + 8086 4532 D815EEA2 Mainboard + 8086 4541 D815EEA Motherboard + 8086 4557 D815EGEW Mainboard + 1161 82806AA PCI64 Hub Advanced Programmable Interrupt Controller + 8086 1161 82806AA PCI64 Hub APIC + 1162 Xscale 80200 Big Endian Companion Chip + 1200 IXP1200 Network Processor + 172a 0000 AEP SSL Accelerator + 1209 8255xER/82551IT Fast Ethernet Controller + 4c53 1050 CT7 mainboard + 4c53 1051 CE7 mainboard + 4c53 1070 PC6 mainboard + 1221 82092AA PCI to PCMCIA Bridge + 1222 82092AA IDE Controller + 1223 SAA7116 + 1225 82452KX/GX [Orion] + 1226 82596 PRO/10 PCI + 1227 82865 EtherExpress PRO/100A + 1228 82556 EtherExpress PRO/100 Smart + 1229 82557/8/9/0/1 Ethernet Pro 100 + 0e11 3001 82559 Fast Ethernet LOM with Alert on LAN* + 0e11 3002 82559 Fast Ethernet LOM with Alert on LAN* + 0e11 3003 82559 Fast Ethernet LOM with Alert on LAN* + 0e11 3004 82559 Fast Ethernet LOM with Alert on LAN* + 0e11 3005 82559 Fast Ethernet LOM with Alert on LAN* + 0e11 3006 82559 Fast Ethernet LOM with Alert on LAN* + 0e11 3007 82559 Fast Ethernet LOM with Alert on LAN* + 0e11 b01e NC3120 Fast Ethernet NIC + 0e11 b01f NC3122 Fast Ethernet NIC (dual port) + 0e11 b02f NC1120 Ethernet NIC + 0e11 b04a Netelligent 10/100TX NIC with Wake on LAN + 0e11 b0c6 NC3161 Fast Ethernet NIC (embedded, WOL) + 0e11 b0c7 NC3160 Fast Ethernet NIC (embedded) + 0e11 b0d7 NC3121 Fast Ethernet NIC (WOL) + 0e11 b0dd NC3131 Fast Ethernet NIC (dual port) + 0e11 b0de NC3132 Fast Ethernet Module (dual port) + 0e11 b0e1 NC3133 Fast Ethernet Module (100-FX) + 0e11 b134 NC3163 Fast Ethernet NIC (embedded, WOL) + 0e11 b13c NC3162 Fast Ethernet NIC (embedded) + 0e11 b144 NC3123 Fast Ethernet NIC (WOL) + 0e11 b163 NC3134 Fast Ethernet NIC (dual port) + 0e11 b164 NC3135 Fast Ethernet Upgrade Module (dual port) + 0e11 b1a4 NC7131 Gigabit Server Adapter + 1014 005c 82558B Ethernet Pro 10/100 + 1014 01bc 82559 Fast Ethernet LAN On Motherboard + 1014 01f1 10/100 Ethernet Server Adapter + 1014 01f2 10/100 Ethernet Server Adapter + 1014 0207 Ethernet Pro/100 S + 1014 0232 10/100 Dual Port Server Adapter + 1014 023a ThinkPad R30 + 1014 105c Netfinity 10/100 + 1014 2205 ThinkPad A22p + 1014 305c 10/100 EtherJet Management Adapter + 1014 405c 10/100 EtherJet Adapter with Alert on LAN + 1014 505c 10/100 EtherJet Secure Management Adapter + 1014 605c 10/100 EtherJet Secure Management Adapter + 1014 705c 10/100 Netfinity 10/100 Ethernet Security Adapter + 1014 805c 10/100 Netfinity 10/100 Ethernet Security Adapter + 1028 009b 10/100 Ethernet Server Adapter + 1028 00ce 10/100 Ethernet Server Adapter + 1033 8000 PC-9821X-B06 + 1033 8016 PK-UG-X006 + 1033 801f PK-UG-X006 + 1033 8026 PK-UG-X006 + 1033 8063 82559-based Fast Ethernet Adapter + 1033 8064 82559-based Fast Ethernet Adapter + 103c 10c0 NetServer 10/100TX + 103c 10c3 NetServer 10/100TX + 103c 10ca NetServer 10/100TX + 103c 10cb NetServer 10/100TX + 103c 10e3 NetServer 10/100TX + 103c 10e4 NetServer 10/100TX + 103c 1200 NetServer 10/100TX + 108e 10cf EtherExpress PRO/100(B) + 10c3 1100 SmartEther100 SC1100 + 10cf 1115 8255x-based Ethernet Adapter (10/100) + 10cf 1143 8255x-based Ethernet Adapter (10/100) + 110a 008b 82551QM Fast Ethernet Multifuction PCI/CardBus Controller + 114a 0582 PC8 onboard ethernet ETH2 + 1179 0001 8255x-based Ethernet Adapter (10/100) + 1179 0002 PCI FastEther LAN on Docker + 1179 0003 8255x-based Fast Ethernet + 1259 2560 AT-2560 100 + 1259 2561 AT-2560 100 FX Ethernet Adapter + 1266 0001 NE10/100 Adapter + 13e9 1000 6221L-4U + 144d 2501 SEM-2000 MiniPCI LAN Adapter + 144d 2502 SEM-2100IL MiniPCI LAN Adapter + 1668 1100 EtherExpress PRO/100B (TX) (MiniPCI Ethernet+Modem) + 1775 1100 CR11/VR11 Single Board Computer + 1775 ce90 CE9 + 4c53 1080 CT8 mainboard + 4c53 10e0 PSL09 PrPMC + 8086 0001 EtherExpress PRO/100B (TX) + 8086 0002 EtherExpress PRO/100B (T4) + 8086 0003 EtherExpress PRO/10+ + 8086 0004 EtherExpress PRO/100 WfM + 8086 0005 82557 10/100 + 8086 0006 82557 10/100 with Wake on LAN + 8086 0007 82558 10/100 Adapter + 8086 0008 82558 10/100 with Wake on LAN + 8086 0009 82558B PRO/100+ PCI (TP) + 8086 000a EtherExpress PRO/100+ Management Adapter + 8086 000b EtherExpress PRO/100+ + 8086 000c EtherExpress PRO/100+ Management Adapter + 8086 000d EtherExpress PRO/100+ Alert On LAN II* Adapter + 8086 000e EtherExpress PRO/100+ Management Adapter with Alert On LAN* + 8086 000f EtherExpress PRO/100 Desktop Adapter + 8086 0010 EtherExpress PRO/100 S Management Adapter + 8086 0011 EtherExpress PRO/100 S Management Adapter + 8086 0012 EtherExpress PRO/100 S Advanced Management Adapter (D) + 8086 0013 EtherExpress PRO/100 S Advanced Management Adapter (E) + 8086 0030 EtherExpress PRO/100 Management Adapter with Alert On LAN* GC + 8086 0031 EtherExpress PRO/100 Desktop Adapter + 8086 0040 EtherExpress PRO/100 S Desktop Adapter + 8086 0041 EtherExpress PRO/100 S Desktop Adapter + 8086 0042 EtherExpress PRO/100 Desktop Adapter + 8086 0050 EtherExpress PRO/100 S Desktop Adapter + 8086 1009 EtherExpress PRO/100+ Server Adapter + 8086 100c EtherExpress PRO/100+ Server Adapter (PILA8470B) + 8086 1012 EtherExpress PRO/100 S Server Adapter (D) + 8086 1013 EtherExpress PRO/100 S Server Adapter (E) + 8086 1015 EtherExpress PRO/100 S Dual Port Server Adapter + 8086 1017 EtherExpress PRO/100+ Dual Port Server Adapter + 8086 1030 EtherExpress PRO/100+ Management Adapter with Alert On LAN* G Server + 8086 1040 EtherExpress PRO/100 S Server Adapter + 8086 1041 EtherExpress PRO/100 S Server Adapter + 8086 1042 EtherExpress PRO/100 Server Adapter + 8086 1050 EtherExpress PRO/100 S Server Adapter + 8086 1051 EtherExpress PRO/100 Server Adapter + 8086 1052 EtherExpress PRO/100 Server Adapter + 8086 10f0 EtherExpress PRO/100+ Dual Port Adapter + 8086 1229 82557/8/9 [Ethernet Pro 100] + 8086 2009 EtherExpress PRO/100 S Mobile Adapter + 8086 200d EtherExpress PRO/100 Cardbus + 8086 200e EtherExpress PRO/100 LAN+V90 Cardbus Modem + 8086 200f EtherExpress PRO/100 SR Mobile Adapter + 8086 2010 EtherExpress PRO/100 S Mobile Combo Adapter + 8086 2013 EtherExpress PRO/100 SR Mobile Combo Adapter + 8086 2016 EtherExpress PRO/100 S Mobile Adapter + 8086 2017 EtherExpress PRO/100 S Combo Mobile Adapter + 8086 2018 EtherExpress PRO/100 SR Mobile Adapter + 8086 2019 EtherExpress PRO/100 SR Combo Mobile Adapter + 8086 2101 EtherExpress PRO/100 P Mobile Adapter + 8086 2102 EtherExpress PRO/100 SP Mobile Adapter + 8086 2103 EtherExpress PRO/100 SP Mobile Adapter + 8086 2104 EtherExpress PRO/100 SP Mobile Adapter + 8086 2105 EtherExpress PRO/100 SP Mobile Adapter + 8086 2106 EtherExpress PRO/100 P Mobile Adapter + 8086 2107 EtherExpress PRO/100 Network Connection + 8086 2108 EtherExpress PRO/100 Network Connection + 8086 2200 EtherExpress PRO/100 P Mobile Combo Adapter + 8086 2201 EtherExpress PRO/100 P Mobile Combo Adapter + 8086 2202 EtherExpress PRO/100 SP Mobile Combo Adapter + 8086 2203 EtherExpress PRO/100+ MiniPCI + 8086 2204 EtherExpress PRO/100+ MiniPCI + 8086 2205 EtherExpress PRO/100 SP Mobile Combo Adapter + 8086 2206 EtherExpress PRO/100 SP Mobile Combo Adapter + 8086 2207 EtherExpress PRO/100 SP Mobile Combo Adapter + 8086 2208 EtherExpress PRO/100 P Mobile Combo Adapter + 8086 2402 EtherExpress PRO/100+ MiniPCI + 8086 2407 EtherExpress PRO/100+ MiniPCI + 8086 2408 EtherExpress PRO/100+ MiniPCI + 8086 2409 EtherExpress PRO/100+ MiniPCI + 8086 240f EtherExpress PRO/100+ MiniPCI + 8086 2410 EtherExpress PRO/100+ MiniPCI + 8086 2411 EtherExpress PRO/100+ MiniPCI + 8086 2412 EtherExpress PRO/100+ MiniPCI + 8086 2413 EtherExpress PRO/100+ MiniPCI + 8086 3000 82559 Fast Ethernet LAN on Motherboard + 8086 3001 82559 Fast Ethernet LOM with Basic Alert on LAN* + 8086 3002 82559 Fast Ethernet LOM with Alert on LAN II* + 8086 3006 EtherExpress PRO/100 S Network Connection + 8086 3007 EtherExpress PRO/100 S Network Connection + 8086 3008 EtherExpress PRO/100 Network Connection + 8086 3010 EtherExpress PRO/100 S Network Connection + 8086 3011 EtherExpress PRO/100 S Network Connection + 8086 3012 EtherExpress PRO/100 Network Connection + 8086 301a S845WD1-E mainboard + 8086 3411 SDS2 Mainboard + 122d 430FX - 82437FX TSC [Triton I] + 122e 82371FB PIIX ISA [Triton I] + 1230 82371FB PIIX IDE [Triton I] + 1231 DSVD Modem + 1234 430MX - 82371MX Mobile PCI I/O IDE Xcelerator (MPIIX) + 1235 430MX - 82437MX Mob. System Ctrlr (MTSC) & 82438MX Data Path (MTDP) + 1237 440FX - 82441FX PMC [Natoma] + 1239 82371FB PIIX IDE Interface + 123b 82380PB PCI to PCI Docking Bridge + 123c 82380AB (MISA) Mobile PCI-to-ISA Bridge + 123d 683053 Programmable Interrupt Device + 123e 82466GX (IHPC) Integrated Hot-Plug Controller (hidden mode) + 123f 82466GX Integrated Hot-Plug Controller (IHPC) + 1240 82752 (752) AGP Graphics Accelerator + 124b 82380FB (MPCI2) Mobile Docking Controller + 1250 430HX - 82439HX TXC [Triton II] + 1360 82806AA PCI64 Hub PCI Bridge + 1361 82806AA PCI64 Hub Controller (HRes) + 8086 1361 82806AA PCI64 Hub Controller (HRes) + 8086 8000 82806AA PCI64 Hub Controller (HRes) + 1460 82870P2 P64H2 Hub PCI Bridge + 1461 82870P2 P64H2 I/OxAPIC + 15d9 3480 P4DP6 + 4c53 1090 Cx9/Vx9 mainboard + 1462 82870P2 P64H2 Hot Plug Controller + 1960 80960RP (i960RP) Microprocessor + 101e 0431 MegaRAID 431 RAID Controller + 101e 0438 MegaRAID 438 Ultra2 LVD RAID Controller + 101e 0466 MegaRAID 466 Express Plus RAID Controller + 101e 0467 MegaRAID 467 Enterprise 1500 RAID Controller + 101e 0490 MegaRAID 490 Express 300 RAID Controller + 101e 0762 MegaRAID 762 Express RAID Controller + 101e 09a0 PowerEdge Expandable RAID Controller 2/SC + 1028 0467 PowerEdge Expandable RAID Controller 2/DC + 1028 1111 PowerEdge Expandable RAID Controller 2/SC + 103c 03a2 MegaRAID + 103c 10c6 MegaRAID 438, NetRAID-3Si + 103c 10c7 MegaRAID T5, Integrated NetRAID + 103c 10cc MegaRAID, Integrated NetRAID + 103c 10cd NetRAID-1Si + 105a 0000 SuperTrak + 105a 2168 SuperTrak Pro + 105a 5168 SuperTrak66/100 + 1111 1111 MegaRAID 466, PowerEdge Expandable RAID Controller 2/SC + 1111 1112 PowerEdge Expandable RAID Controller 2/SC + 113c 03a2 MegaRAID + e4bf 1010 CG1-RADIO + e4bf 1020 CU2-QUARTET + e4bf 1040 CU1-CHORUS + e4bf 3100 CX1-BAND + 1962 80960RM (i960RM) Microprocessor + 105a 0000 SuperTrak SX6000 I2O CPU + 1a21 82840 840 [Carmel] Chipset Host Bridge (Hub A) + 1a23 82840 840 [Carmel] Chipset AGP Bridge + 1a24 82840 840 [Carmel] Chipset PCI Bridge (Hub B) + 1a30 82845 845 [Brookdale] Chipset Host Bridge + 1028 010e Optiplex GX240 + 15d9 3280 Supermicro P4SBE Mainboard + 1a31 82845 845 [Brookdale] Chipset AGP Bridge + 1a38 5000 Series Chipset DMA Engine + 15d9 8680 X7DVL-E-O motherboard + 8086 3476 Intel S5000PSLSATA Server Board + 1a48 82597EX 10GbE Ethernet Controller + 8086 a01f PRO/10GbE SR Server Adapter + 8086 a11f PRO/10GbE SR Server Adapter + 1b48 82597EX 10GbE Ethernet Controller + 8086 a01f PRO/10GbE LR Server Adapter + 8086 a11f PRO/10GbE LR Server Adapter + 2410 82801AA ISA Bridge (LPC) + 2411 82801AA IDE Controller + 2412 82801AA USB Controller + 2413 82801AA SMBus Controller + 2415 82801AA AC'97 Audio Controller + 1028 0095 Precision Workstation 220 Integrated Digital Audio + 1028 00b4 OptiPlex GX110 + 110a 0051 Activy 2xx + 11d4 0040 SoundMAX Integrated Digital Audio + 11d4 0048 SoundMAX Integrated Digital Audio + 11d4 5340 SoundMAX Integrated Digital Audio + 1734 1025 Activy 3xx + 2416 82801AA AC'97 Modem Controller + 2418 82801AA PCI Bridge + 2420 82801AB ISA Bridge (LPC) + 2421 82801AB IDE Controller + 2422 82801AB USB Controller + 2423 82801AB SMBus Controller + 2425 82801AB AC'97 Audio Controller + 11d4 0040 SoundMAX Integrated Digital Audio + 11d4 0048 SoundMAX Integrated Digital Audio + 2426 82801AB AC'97 Modem Controller + 2428 82801AB PCI Bridge + 2440 82801BA ISA Bridge (LPC) + 8086 5744 S845WD1-E + 2442 82801BA/BAM USB Controller #1 + 1014 01c6 Netvista A40/A40p + 1025 1016 Travelmate 612 TX + 1028 00c7 Dimension 8100 + 1028 00d8 Precision 530 + 1028 010e Optiplex GX240 + 103c 126f e-pc 40 + 1043 8027 TUSL2-C Mainboard + 104d 80df Vaio PCG-FX403 + 147b 0507 TH7II-RAID + 8086 4532 D815EEA2 mainboard + 8086 4557 D815EGEW Mainboard + 8086 5744 S845WD1-E mainboard + 2443 82801BA/BAM SMBus Controller + 1014 01c6 Netvista A40/A40p + 1025 1016 Travelmate 612 TX + 1028 00c7 Dimension 8100 + 1028 00d8 Precision 530 + 1028 010e Optiplex GX240 + 103c 126f e-pc 40 + 1043 8027 TUSL2-C Mainboard + 104d 80df Vaio PCG-FX403 + 147b 0507 TH7II-RAID + 15d9 3280 Supermicro P4SBE Mainboard + 8086 4532 D815EEA2 mainboard + 8086 4557 D815EGEW Mainboard + 8086 5744 S845WD1-E mainboard + 2444 82801BA/BAM USB Controller #1 + 1025 1016 Travelmate 612 TX + 1028 00c7 Dimension 8100 + 1028 00d8 Precision 530 + 1028 010e Optiplex GX240 + 103c 126f e-pc 40 + 1043 8027 TUSL2-C Mainboard + 104d 80df Vaio PCG-FX403 + 147b 0507 TH7II-RAID + 8086 4532 D815EEA2 mainboard + 8086 5744 S845WD1-E mainboard + 2445 82801BA/BAM AC'97 Audio Controller + 0e11 000b Compaq Deskpro EN Audio + 0e11 0088 Evo D500 + 1014 01c6 Netvista A40/A40p + 1025 1016 Travelmate 612 TX + 1028 00d8 Precision 530 + 103c 126f e-pc 40 + 104d 80df Vaio PCG-FX403 + 1462 3370 STAC9721 AC + 147b 0507 TH7II-RAID + 8086 4557 D815EGEW Mainboard + 2446 82801BA/BAM AC'97 Modem Controller + 1025 1016 Travelmate 612 TX + 104d 80df Vaio PCG-FX403 + 2448 82801 Mobile PCI Bridge +# (rev d3) (prog-if (rev d3) (prog-if 01 [Subtractive decode]) + 103c 0934 HP Compaq nw8240 Mobile Workstation + 103c 099c NX6110/NC6120 + 103c 309f HP Compaq nx9420 + 103c 30a3 Compaq nw8440 + 103c 30c1 Compaq 6910p + 144d c00c P30 notebook + 1734 1055 Amilo M1420 + e4bf cc47 CCG-RUMBA + 2449 82801BA/BAM/CA/CAM Ethernet Controller + 0e11 0012 EtherExpress PRO/100 VM + 0e11 0091 EtherExpress PRO/100 VE + 1014 01ce EtherExpress PRO/100 VE + 1014 01dc EtherExpress PRO/100 VE + 1014 01eb EtherExpress PRO/100 VE + 1014 01ec EtherExpress PRO/100 VE + 1014 0202 EtherExpress PRO/100 VE + 1014 0205 EtherExpress PRO/100 VE + 1014 0217 EtherExpress PRO/100 VE + 1014 0234 EtherExpress PRO/100 VE + 1014 023d EtherExpress PRO/100 VE + 1014 0244 EtherExpress PRO/100 VE + 1014 0245 EtherExpress PRO/100 VE + 1014 0265 PRO/100 VE Desktop Connection + 1014 0267 PRO/100 VE Desktop Connection + 1014 026a PRO/100 VE Desktop Connection + 109f 315d EtherExpress PRO/100 VE + 109f 3181 EtherExpress PRO/100 VE + 1179 ff01 PRO/100 VE Network Connection + 1186 7801 EtherExpress PRO/100 VE + 144d 2602 HomePNA 1M CNR + 8086 3010 EtherExpress PRO/100 VE + 8086 3011 EtherExpress PRO/100 VM + 8086 3012 82562EH based Phoneline + 8086 3013 EtherExpress PRO/100 VE + 8086 3014 EtherExpress PRO/100 VM + 8086 3015 82562EH based Phoneline + 8086 3016 EtherExpress PRO/100 P Mobile Combo + 8086 3017 EtherExpress PRO/100 P Mobile + 8086 3018 EtherExpress PRO/100 + 244a 82801BAM IDE U100 Controller + 1025 1016 Travelmate 612TX + 104d 80df Vaio PCG-FX403 + 244b 82801BA IDE U100 Controller + 1014 01c6 Netvista A40/A40p + 1028 00c7 Dimension 8100 + 1028 00d8 Precision 530 + 1028 010e Optiplex GX240 + 103c 126f e-pc 40 + 1043 8027 TUSL2-C Mainboard + 147b 0507 TH7II-RAID + 15d9 3280 Supermicro P4SBE Mainboard + 8086 4532 D815EEA2 mainboard + 8086 4557 D815EGEW Mainboard + 8086 5744 S845WD1-E mainboard + 244c 82801BAM ISA Bridge (LPC) + 244e 82801 PCI Bridge + 1014 0267 NetVista A30p + 1028 0211 Optiplex 755 + 1458 5000 GA-EP45-DS5 Motherboard + 2450 82801E ISA Bridge (LPC) + 2452 82801E USB Controller + 2453 82801E SMBus Controller + 2459 82801E Ethernet Controller 0 + 245b 82801E IDE U100 Controller + 245d 82801E Ethernet Controller 1 + 245e 82801E PCI Bridge + 2480 82801CA LPC Interface Controller + 2482 82801CA/CAM USB Controller #1 + 0e11 0030 Evo N600c + 1014 0220 ThinkPad A/T/X Series + 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP + 15d9 3480 P4DP6 + 8086 1958 vpr Matrix 170B4 + 8086 3424 SE7501HG2 Mainboard + 8086 4541 Latitude C640 + 2483 82801CA/CAM SMBus Controller + 1014 0220 ThinkPad A/T/X Series + 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP + 15d9 3480 P4DP6 + 8086 1958 vpr Matrix 170B4 + 2484 82801CA/CAM USB Controller #2 + 0e11 0030 Evo N600c + 1014 0220 ThinkPad A/T/X Series + 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP + 15d9 3480 P4DP6 + 8086 1958 vpr Matrix 170B4 + 2485 82801CA/CAM AC'97 Audio Controller + 1013 5959 Crystal WMD Audio Codec + 1014 0222 ThinkPad A30/A30p/T23 + 1014 0508 ThinkPad T30 + 1014 051c ThinkPad A/T/X Series + 1043 1583 L3C (SPDIF) + 1043 1623 L2B (no SPDIF) + 1043 1643 L3F + 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP + 144d c006 vpr Matrix 170B4 + 2486 82801CA/CAM AC'97 Modem Controller + 1014 0223 ThinkPad A/T/X Series + 1014 0503 ThinkPad R31 + 1014 051a ThinkPad A/T/X Series + 101f 1025 620 Series + 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP + 134d 4c21 Dell Inspiron 2100 internal modem + 144d 2115 vpr Matrix 170B4 internal modem + 14f1 5421 MD56ORD V.92 MDC Modem + 2487 82801CA/CAM USB Controller #3 + 0e11 0030 Evo N600c + 1014 0220 ThinkPad A/T/X Series + 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP + 15d9 3480 P4DP6 + 8086 1958 vpr Matrix 170B4 + 248a 82801CAM IDE U100 Controller + 0e11 0030 Evo N600c + 1014 0220 ThinkPad A/T/X Series + 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP + 8086 1958 vpr Matrix 170B4 + 8086 4541 Latitude C640 + 248b 82801CA Ultra ATA Storage Controller + 15d9 3480 P4DP6 + 248c 82801CAM ISA Bridge (LPC) + 24c0 82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge + 1014 0267 NetVista A30p + 1462 5800 845PE Max (MS-6580) + 24c1 82801DBL (ICH4-L) IDE Controller + 24c2 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 + 1014 0267 NetVista A30p + 1014 052d ThinkPad + 1025 005a TravelMate 290 + 1028 0126 Optiplex GX260 + 1028 0163 Latitude D505 + 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet + 1043 8089 P4B533 + 1071 8160 MIM2000 + 114a 0582 PC8 onboard USB 1.x + 144d c005 X10 Laptop + 144d c00c P30/P35 notebook + 1462 5800 845PE Max (MS-6580) + 1509 2990 Averatec 5110H laptop + 1734 1004 D1451 Mainboard (SCENIC N300, i845GV) + 1734 1055 Amilo M1420 + 4c53 1090 Cx9 / Vx9 mainboard + 8086 24c2 Latitude X300 + 8086 4541 Latitude D400 + e4bf 0cc9 CC9-SAMBA + e4bf 0cd2 CD2-BEBOP + 24c3 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller + 1014 0267 NetVista A30p + 1014 052d ThinkPad + 1025 005a TravelMate 290 + 1028 0126 Optiplex GX260 + 1028 014f Latitude X300 + 1028 018d Inspiron 700m/710m + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet + 1071 8160 MIM2000 + 114a 0582 PC8 onboard SMbus + 144d c005 X10 Laptop + 144d c00c P30/P35 notebook + 1458 24c2 GA-8PE667 Ultra + 1462 5800 845PE Max (MS-6580) + 1734 1004 D1451 Mainboard (SCENIC N300, i845GV) + 1734 1055 Amilo M1420 + 4c53 1090 Cx9 / Vx9 mainboard + e4bf 0cc9 CC9-SAMBA + e4bf 0cd2 CD2-BEBOP + 24c4 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 + 1014 0267 NetVista A30p + 1014 052d ThinkPad + 1025 005a TravelMate 290 + 1028 0126 Optiplex GX260 + 1028 0163 Latitude D505 + 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet + 1043 8089 P4B533 + 1071 8160 MIM2000 + 144d c00c P30/P35 notebook + 1462 5800 845PE Max (MS-6580) + 1509 2990 Averatec 5110H + 1734 1004 D1451 Mainboard (SCENIC N300, i845GV) + 4c53 1090 Cx9 / Vx9 mainboard + 8086 24c2 Latitude X300 + 8086 4541 Latitude D400 + e4bf 0cc9 CC9-SAMBA + e4bf 0cd2 CD2-BEBOP + 24c5 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller + 0e11 00b8 Analog Devices Inc. codec [SoundMAX] + 1014 0267 NetVista A30p + 1014 0537 ThinkPad T41 + 1014 055f Thinkpad R50e model 1634 + 1025 005a TravelMate 290 + 1028 0139 Latitude D400 + 1028 014f Latitude X300 + 1028 0163 Latitude D505 + 1028 018d Inspiron 700m/710m [SigmaTel STAC9750,51] + 1028 0196 Inspiron 5160 + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet + 1043 1713 M6800N + 1043 80b0 P4B533 + 1071 8160 MIM2000 + 1179 0201 Toshiba Tecra M1 + 144d c005 X10 Laptop + 144d c00c P30/P35 notebook + 1458 a002 GA-8PE667 Ultra + 1462 5800 845PE Max (MS-6580) + 1734 1005 D1451 (SCENIC N300, i845GV) Sigmatel STAC9750T + 1734 1055 Amilo M1420 + 8086 24c5 Dell Dimension 2400 + 24c6 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller + 1014 0524 ThinkPad T41 + 1014 0525 ThinkPad + 1014 0559 ThinkPad R50e + 1025 003c Aspire 2001WLCi (Compal CL50 motherboard) implementation + 1025 005a TravelMate 290 + 1028 0196 Inspiron 5160 + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet + 1043 1826 M6800N + 1071 8160 MIM2000 + 144d 2115 X10 Laptop + 144d c00c P30/P35 notebook +# Conexant HSF Softmodem (CXT22) + 14f1 5422 D480 MDC V.9x Modem + 24c7 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 + 1014 0267 NetVista A30p + 1014 052d ThinkPad + 1025 005a TravelMate 290 + 1028 0126 Optiplex GX260 + 1028 0163 Latitude D505 + 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet + 1043 8089 P4B533 + 1071 8160 MIM2000 + 144d c00c P30/P35 notebook + 1462 5800 845PE Max (MS-6580) + 1509 2990 Averatec 5110H + 1734 1004 D1451 Mainboard (SCENIC N300, i845GV) + 4c53 1090 Cx9 / Vx9 mainboard + 8086 24c2 Latitude X300 + 8086 4541 Latitude D400 + e4bf 0cc9 CC9-SAMBA + e4bf 0cd2 CD2-BEBOP + 24ca 82801DBM (ICH4-M) IDE Controller + 1014 052d ThinkPad + 1025 005a TravelMate 290 + 1028 014f Latitude X300 + 1028 0163 Latitude D505 + 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet + 1071 8160 MIM2000 + 144d c005 X10 Laptop + 144d c00c P30/P35 notebook + 1734 1055 Amilo M1420 + 8086 4541 Latitude D400 + 24cb 82801DB (ICH4) IDE Controller + 1014 0267 NetVista A30p + 1028 0126 Optiplex GX260 + 1043 8089 P4B533 + 114a 0582 PC8 onboard IDE + 1458 24c2 GA-8PE667 Ultra + 1462 5800 845PE Max (MS-6580) + 1734 1004 D1451 Mainboard (SCENIC N300, i845GV) + 4c53 1090 Cx9 / Vx9 mainboard + e4bf 0cc9 CC9-SAMBA + e4bf 0cd2 CD2-BEBOP + 24cc 82801DBM (ICH4-M) LPC Interface Bridge + 144d c00c P30 notebook + 1734 1055 Amilo M1420 + 24cd 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller + 1014 0267 NetVista A30p + 1014 052e ThinkPad + 1025 005a TravelMate 290 + 1028 011d Latitude D600 + 1028 0126 Optiplex GX260 + 1028 0139 Latitude D400 + 1028 0163 Latitude D505 + 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet + 1043 8089 P4B533 + 1071 8160 MIM2000 + 114a 0582 PC8 onboard USB 2.0 + 1179 ff00 Satellite 2430 + 144d c005 X10 Laptop + 144d c00c P30/P35 notebook + 1462 3981 845PE Max (MS-6580) + 1509 1968 Averatec 5110H + 1734 1004 D1451 Mainboard (SCENIC N300, i845GV) + 1734 1055 Amilo M1420 + 4c53 1090 Cx9 / Vx9 mainboard + 8086 24c2 Latitude X300 + e4bf 0cc9 CC9-SAMBA + e4bf 0cd2 CD2-BEBOP + 24d0 82801EB/ER (ICH5/ICH5R) LPC Interface Bridge + 24d1 82801EB (ICH5) SATA Controller + 1028 0169 Precision 470 + 1028 019a PowerEdge SC1425 + 103c 12bc d530 CMT (DG746A) + 1043 80a6 P4P800 series motherboard + 1458 24d1 GA-8IPE1000 Pro2 motherboard (865PE) + 1462 7280 865PE Neo2 (MS-6728) + 1565 5200 P4TSV Motherboard (865G) + 15d9 4580 P4SCE Mainboard + 8086 3427 S875WP1-E mainboard + 8086 4246 Desktop Board D865GBF + 8086 4c43 Desktop Board D865GLC + 8086 524c D865PERL mainboard + 24d2 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 + 1014 02dd eServer xSeries server mainboard + 1014 02ed eServer xSeries server mainboard + 1028 0169 Precision 470 + 1028 016c PowerEdge 1850 + 1028 016d PowerEdge 2850 onboard UHCI + 1028 0183 PowerEdge 1800 + 1028 019a PowerEdge SC1425 + 103c 006a NX9500 + 103c 12bc d530 CMT (DG746A) + 1043 80a6 P4P800/P5P800 series motherboard + 1458 24d2 GA-8IPE1000/8KNXP motherboard + 1462 7280 865PE Neo2 (MS-6728) + 1565 3101 P4TSV Motherboard (865G) + 15d9 4580 P4SCE Mainboard + 1734 101c PRIMERGY RX/TX series onboard UHCI + 8086 3427 S875WP1-E mainboard + 8086 4246 Desktop Board D865GBF + 8086 4c43 Desktop Board D865GLC + 8086 524c D865PERL mainboard + 24d3 82801EB/ER (ICH5/ICH5R) SMBus Controller + 1014 02dd eServer xSeries server mainboard + 1014 02ed eServer xSeries server mainboard + 1028 0156 Precision 360 + 1028 0169 Precision 470 + 103c 12bc d330 uT + 1043 80a6 P4P800 Mainboard + 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) + 1462 7280 865PE Neo2 (MS-6728) + 1565 3101 P4TSV Motherboard (865G) + 15d9 4580 P4SCE Mainboard + 1734 101c PRIMERGY RX/TX S2 series SMBus + 8086 3427 S875WP1-E mainboard + 8086 4246 Desktop Board D865GBF + 8086 4c43 Desktop Board D865GLC + 8086 524c D865PERL mainboard + 24d4 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 + 1014 02dd eServer xSeries server mainboard + 1014 02ed eServer xSeries server mainboard + 1028 0169 Precision 470 + 1028 016c PowerEdge 1850 + 1028 016d PowerEdge 2850 onboard UHCI + 1028 0183 PowerEdge 1800 + 1028 019a PowerEdge SC1425 + 103c 006a NX9500 + 103c 12bc d530 CMT (DG746A) + 1043 80a6 P4P800/P5P800 series motherboard + 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) + 1462 7280 865PE Neo2 (MS-6728) + 1565 3101 P4TSV Motherboard (865G) + 15d9 4580 P4SCE Mainboard + 1734 101c PRIMERGY RX/TX S2 series onboard UHCI + 8086 3427 S875WP1-E mainboard + 8086 4246 Desktop Board D865GBF + 8086 4c43 Desktop Board D865GLC + 8086 524c D865PERL mainboard + 24d5 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller + 100a 147b Abit IS7-E motherboard + 1028 0169 Precision 470 + 103c 006a NX9500 + 103c 12bc d330 uT + 1043 80f3 P4P800 Mainboard + 1043 810f P5P800-MX Mainboard + 1458 a002 GA-8IPE1000/8KNXP motherboard + 1462 0080 865PE Neo2-V (MS-6788) Mainboard + 1462 7280 865PE Neo2 (MS-6728) + 8086 a000 D865PERL mainboard + 8086 e000 D865PERL mainboard + 8086 e001 Desktop Board D865GBF + 8086 e002 SoundMax Intergrated Digital Audio + 24d6 82801EB/ER (ICH5/ICH5R) AC'97 Modem Controller + 103c 006a NX9500 + 24d7 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 + 1014 02ed xSeries server mainboard + 1028 0169 Precision 470 + 1028 016c PowerEdge 1850 + 1028 016d PowerEdge 2850 onboard UHCI + 1028 0183 PowerEdge 1800 + 103c 006a NX9500 + 103c 12bc d530 CMT (DG746A) + 1043 80a6 P4P800/P5P800 series motherboard + 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) + 1462 7280 865PE Neo2 (MS-6728) + 1565 3101 P4TSV Motherboard (865G) + 15d9 4580 P4SCE Mainboard + 1734 101c PRIMERGY RX/TX S2 series onboard UHCI + 8086 3427 S875WP1-E mainboard + 8086 4246 Desktop Board D865GBF + 8086 4c43 Desktop Board D865GLC + 8086 524c D865PERL mainboard + 24db 82801EB/ER (ICH5/ICH5R) IDE Controller + 1014 02dd eServer xSeries server mainboard + 1014 02ed eServer xSeries server mainboard + 1028 0169 Precision 470 + 1028 016c PowerEdge 1850 + 1028 016d PowerEdge 2850 onboard UHCI + 1028 019a PowerEdge SC1425 + 103c 006a NX9500 + 103c 12bc d530 CMT (DG746A) + 1043 80a6 P4P800/P5P800 series motherboard + 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) + 1462 7280 865PE Neo2 (MS-6728) + 1462 7580 MSI 875P + 1565 3101 P4TSV Motherboard (865G) + 15d9 4580 P4SCE Mainboard + 1734 101c PRIMERGY RX/TX S2 series onboard IDE + 8086 24db P4C800 Mainboard + 8086 3427 S875WP1-E mainboard + 8086 4246 Desktop Board D865GBF + 8086 4c43 Desktop Board D865GLC + 8086 524c D865PERL mainboard + 24dc 82801EB (ICH5) LPC Interface Bridge + 24dd 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller + 1014 02dd eServer xSeries server mainboard + 1014 02ed eServer xSeries server mainboard + 1028 0169 Precision 470 + 1028 016c PowerEdge 1850 + 1028 016d PowerEdge 2850 onboard EHCI + 1028 0183 PowerEdge 1800 + 1028 019a PowerEdge SC1425 + 103c 006a NX9500 + 103c 12bc d530 CMT (DG746A) + 1043 80a6 P4P800/P5P800 series motherboard + 1458 5006 GA-8IPE1000 Pro2 motherboard (865PE) + 1462 7280 865PE Neo2 (MS-6728) + 8086 3427 S875WP1-E mainboard + 8086 4246 Desktop Board D865GBF + 8086 4c43 Desktop Board D865GLC + 8086 524c D865PERL mainboard + 24de 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 + 1014 02ed xSeries server mainboard + 1028 0169 Precision 470 + 1043 80a6 P4P800/P5P800 series motherboard + 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) + 1462 7280 865PE Neo2 (MS-6728) + 1565 3101 P4TSV Motherboard (865G) + 15d9 4580 P4SCE Mainboard + 1734 101c PRIMERGY RX/TX S2 series onboard UHCI + 8086 3427 S875WP1-E mainboard + 8086 4246 Desktop Board D865GBF + 8086 4c43 Desktop Board D865GLC + 8086 524c D865PERL mainboard + 24df 82801ER (ICH5R) SATA Controller + 2500 82820 820 (Camino) Chipset Host Bridge (MCH) + 1028 0095 Precision Workstation 220 Chipset + 1043 801c P3C-2000 system chipset + 2501 82820 820 (Camino) Chipset Host Bridge (MCH) + 1043 801c P3C-2000 system chipset + 250b 82820 820 (Camino) Chipset Host Bridge + 250f 82820 820 (Camino) Chipset AGP Bridge + 2520 82805AA MTH Memory Translator Hub + 2521 82804AA MRH-S Memory Repeater Hub for SDRAM + 2530 82850 850 (Tehama) Chipset Host Bridge (MCH) + 1028 00c7 Dimension 8100 + 147b 0507 TH7II-RAID + 2531 82860 860 (Wombat) Chipset Host Bridge (MCH) + 1028 00d8 Precision 530 + 2532 82850 850 (Tehama) Chipset AGP Bridge + 2533 82860 860 (Wombat) Chipset AGP Bridge + 2534 82860 860 (Wombat) Chipset PCI Bridge + 2540 E7500 Memory Controller Hub + 15d9 3480 P4DP6 + 2541 E7500/E7501 Host RASUM Controller + 15d9 3480 P4DP6 + 4c53 1090 Cx9 / Vx9 mainboard + 8086 3424 SE7501HG2 Mainboard + 2543 E7500/E7501 Hub Interface B PCI-to-PCI Bridge + 2544 E7500/E7501 Hub Interface B RASUM Controller + 4c53 1090 Cx9 / Vx9 mainboard + 2545 E7500/E7501 Hub Interface C PCI-to-PCI Bridge + 2546 E7500/E7501 Hub Interface C RASUM Controller + 2547 E7500/E7501 Hub Interface D PCI-to-PCI Bridge + 2548 E7500/E7501 Hub Interface D RASUM Controller + 254c E7501 Memory Controller Hub + 4c53 1090 Cx9 / Vx9 mainboard + 8086 3424 SE7501HG2 Mainboard + 2550 E7505 Memory Controller Hub + 2551 E7505/E7205 Series RAS Controller + 2552 E7505/E7205 PCI-to-AGP Bridge + 2553 E7505 Hub Interface B PCI-to-PCI Bridge + 2554 E7505 Hub Interface B PCI-to-PCI Bridge RAS Controller + 255d E7205 Memory Controller Hub + 2560 82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface + 1028 0126 Optiplex GX260 + 1458 2560 GA-8PE667 Ultra + 1462 5800 845PE Max (MS-6580) + 2561 82845G/GL[Brookdale-G]/GE/PE Host-to-AGP Bridge + 2562 82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device + 0e11 00b9 Evo D510 SFF + 1014 0267 NetVista A30p + 1734 1003 D1521 Mainboard (Fujitsu-Siemens) + 1734 1004 D1451 Mainboard (SCENIC N300, i845GV) + 2570 82865G/PE/P DRAM Controller/Host-Hub Interface + 103c 006a NX9500 + 103c 12bc d330 uT + 1043 80f2 P4P800/P5P800 series motherboard + 1458 2570 GA-8IPE1000 Pro2 motherboard (865PE) + 2571 82865G/PE/P PCI to AGP Controller + 2572 82865G Integrated Graphics Controller + 1028 019d Dimension 3000 + 103c 12bc D530 sff(dc578av) + 1043 80a5 P5P800-MX Mainboard + 1734 101b Fujitsu-Siemens Scenic E300 i865GV + 8086 4246 Desktop Board D865GBF + 8086 4c43 Desktop Board D865GLC + 2573 82865G/PE/P PCI to CSA Bridge + 2576 82865G/PE/P Processor to I/O Memory Interface + 2578 82875P/E7210 Memory Controller Hub + 1458 2578 GA-8KNXP motherboard (875P) + 1462 7580 MS-6758 (875P Neo) + 15d9 4580 P4SCE Motherboard + 2579 82875P Processor to AGP Controller + 257b 82875P/E7210 Processor to PCI to CSA Bridge + 257e 82875P/E7210 Processor to I/O Memory Interface + 2580 82915G/P/GV/GL/PL/910GL Memory Controller Hub + 1458 2580 GA-8I915ME-G Mainboard + 1462 7028 915P/G Neo2 + 1734 105b Scenic W620 + 2581 82915G/P/GV/GL/PL/910GL PCI Express Root Port + 2582 82915G/GV/910GL Integrated Graphics Controller + 1028 1079 Optiplex GX280 + 103c 3006 DC7100 SFF(DX878AV) + 1043 2582 P5GD1-VW Mainboard + 1458 2582 GA-8I915ME-G Mainboard + 1734 105b Scenic W620 + 1849 2582 ASRock P4Dual-915GL + 2584 82925X/XE Memory Controller Hub + 1028 0177 Dimension 8400 + 2585 82925X/XE PCI Express Root Port + 2588 E7220/E7221 Memory Controller Hub + 2589 E7220/E7221 PCI Express Root Port + 258a E7221 Integrated Graphics Controller + 2590 Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller + 1014 0575 ThinkPad Z60t + 1028 0182 Dell Latidude C610 + 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 104d 81b7 Vaio VGN-S3XP + a304 81b7 Vaio VGN-S3XP + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2591 Mobile 915GM/PM Express PCI Express Root Port + 103c 0934 HP Compaq nw8240 Mobile Workstation + 2592 Mobile 915GM/GMS/910GML Express Graphics Controller + 103c 099c NX6110/NC6120 + 103c 308a NC6220 + 1043 1881 GMA 900 915GM Integrated Graphics + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 25a1 6300ESB LPC Interface Controller + 25a2 6300ESB PATA Storage Controller + 1775 10d0 V5D Single Board Computer IDE + 1775 1100 CR11/VR11 Single Board Computer + 1775 ce90 CE9 + 4c53 10b0 CL9 mainboard + 4c53 10e0 PSL09 PrPMC + 25a3 6300ESB SATA Storage Controller + 1775 1100 CR11/VR11 Single Board Computer + 1775 ce90 CE9 + 4c53 10b0 CL9 mainboard + 4c53 10d0 Telum ASLP10 Processor AMC + 4c53 10e0 PSL09 PrPMC + 25a4 6300ESB SMBus Controller + 1775 10d0 V5D Single Board Computer + 1775 1100 CR11/VR11 Single Board Computer + 1775 ce90 CE9 + 4c53 10b0 CL9 mainboard + 4c53 10d0 Telum ASLP10 Processor AMC + 4c53 10e0 PSL09 PrPMC + 25a6 6300ESB AC'97 Audio Controller + 1775 1100 CR11/VR11 Single Board Computer + 1775 ce90 CE9 + 4c53 10b0 CL9 mainboard + 25a7 6300ESB AC'97 Modem Controller + 25a9 6300ESB USB Universal Host Controller + 1775 10d0 V5D Single Board Computer USB + 1775 1100 CR11/VR11 Single Board Computer + 1775 ce90 CE9 + 4c53 10b0 CL9 mainboard + 4c53 10d0 Telum ASLP10 Processor AMC + 4c53 10e0 PSL09 PrPMC + 25aa 6300ESB USB Universal Host Controller + 1775 1100 CR11/VR11 Single Board Computer + 1775 ce90 CE9 + 4c53 10b0 CL9 mainboard + 4c53 10d0 Telum ASLP10 Processor AMC + 4c53 10e0 PSL09 PrPMC + 25ab 6300ESB Watchdog Timer + 1775 10d0 V5D Single Board Computer + 1775 1100 CR11/VR11 Single Board Computer + 1775 ce90 CE9 + 4c53 10b0 CL9 mainboard + 4c53 10d0 Telum ASLP10 Processor AMC + 4c53 10e0 PSL09 PrPMC + 25ac 6300ESB I/O Advanced Programmable Interrupt Controller + 1775 10d0 V5D Single Board Computer + 1775 1100 CR11/VR11 Single Board Computer + 1775 ce90 CE9 + 4c53 10b0 CL9 mainboard + 4c53 10d0 Telum ASLP10 Processor AMC + 4c53 10e0 PSL09 PrPMC + 25ad 6300ESB USB2 Enhanced Host Controller + 1775 10d0 V5D Single Board Computer USB 2.0 + 1775 1100 CR11/VR11 Single Board Computer + 1775 ce90 CE9 + 4c53 10b0 CL9 mainboard + 4c53 10d0 Telum ASLP10 Processor AMC + 4c53 10e0 PSL09 PrPMC + 25ae 6300ESB 64-bit PCI-X Bridge + 25b0 6300ESB SATA RAID Controller + 1775 1100 CR11/VR11 Single Board Computer + 4c53 10d0 Telum ASLP10 Processor AMC + 4c53 10e0 PSL09 PrPMC + 25c0 5000X Chipset Memory Controller Hub + 25d0 5000Z Chipset Memory Controller Hub + 25d4 5000V Chipset Memory Controller Hub + 15d9 8680 X7DVL-E-O motherboard + 25d8 5000P Chipset Memory Controller Hub + 8086 3476 Intel S5000PSLSATA Server Board + 25e2 5000 Series Chipset PCI Express x4 Port 2 + 25e3 5000 Series Chipset PCI Express x4 Port 3 + 25e4 5000 Series Chipset PCI Express x4 Port 4 + 25e5 5000 Series Chipset PCI Express x4 Port 5 + 25e6 5000 Series Chipset PCI Express x4 Port 6 + 25e7 5000 Series Chipset PCI Express x4 Port 7 + 25f0 5000 Series Chipset FSB Registers + 15d9 8680 X7DVL-E-O motherboard + 8086 3476 Intel S5000PSLSATA Server Board + 25f1 5000 Series Chipset Reserved Registers + 15d9 8680 X7DVL-E-O motherboard + 8086 3476 Intel S5000PSLSATA Server Board + 25f3 5000 Series Chipset Reserved Registers + 15d9 8680 X7DVL-E-O motherboard + 8086 3476 Intel S5000PSLSATA Server Board + 25f5 5000 Series Chipset FBD Registers + 15d9 8680 X7DVL-E-O motherboard + 8086 3476 Intel S5000PSLSATA Server Board + 25f6 5000 Series Chipset FBD Registers + 15d9 8680 X7DVL-E-O motherboard + 8086 3476 Intel S5000PSLSATA Server Board + 25f7 5000 Series Chipset PCI Express x8 Port 2-3 + 25f8 5000 Series Chipset PCI Express x8 Port 4-5 + 25f9 5000 Series Chipset PCI Express x8 Port 6-7 + 25fa 5000X Chipset PCI Express x16 Port 4-7 + 2600 E8500/E8501 Hub Interface 1.5 + 2601 E8500/E8501 PCI Express x4 Port D + 2602 E8500/E8501 PCI Express x4 Port C0 + 2603 E8500/E8501 PCI Express x4 Port C1 + 2604 E8500/E8501 PCI Express x4 Port B0 + 2605 E8500/E8501 PCI Express x4 Port B1 + 2606 E8500/E8501 PCI Express x4 Port A0 + 2607 E8500/E8501 PCI Express x4 Port A1 + 2608 E8500/E8501 PCI Express x8 Port C + 2609 E8500/E8501 PCI Express x8 Port B + 260a E8500/E8501 PCI Express x8 Port A + 260c E8500/E8501 IMI Registers + 2610 E8500/E8501 FSB Registers + 2611 E8500/E8501 Address Mapping Registers + 2612 E8500/E8501 RAS Registers + 2613 E8500/E8501 Reserved Registers + 2614 E8500/E8501 Reserved Registers + 2615 E8500/E8501 Miscellaneous Registers + 2617 E8500/E8501 Reserved Registers + 2618 E8500/E8501 Reserved Registers + 2619 E8500/E8501 Reserved Registers + 261a E8500/E8501 Reserved Registers + 261b E8500/E8501 Reserved Registers + 261c E8500/E8501 Reserved Registers + 261d E8500/E8501 Reserved Registers + 261e E8500/E8501 Reserved Registers + 2620 E8500/E8501 eXternal Memory Bridge + 2621 E8500/E8501 XMB Miscellaneous Registers + 2622 E8500/E8501 XMB Memory Interleaving Registers + 2623 E8500/E8501 XMB DDR Initialization and Calibration + 2624 E8500/E8501 XMB Reserved Registers + 2625 E8500/E8501 XMB Reserved Registers + 2626 E8500/E8501 XMB Reserved Registers + 2627 E8500/E8501 XMB Reserved Registers + 2640 82801FB/FR (ICH6/ICH6R) LPC Interface Bridge + 1462 7028 915P/G Neo2 + 1734 105c Scenic W620 + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2641 82801FBM (ICH6M) LPC Interface Bridge + 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 2642 82801FW/FRW (ICH6W/ICH6RW) LPC Interface Bridge + 2651 82801FB/FW (ICH6/ICH6W) SATA Controller + 1028 0179 Optiplex GX280 + 1043 2601 P5GD1-VW Mainboard + 1734 105c Scenic W620 + 8086 4147 D915GAG Motherboard + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2652 82801FR/FRW (ICH6R/ICH6RW) SATA Controller + 1028 0177 Dimension 8400 + 1462 7028 915P/G Neo2 + 2653 82801FBM (ICH6M) SATA Controller + 2658 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 + 1028 0177 Dimension 8400 + 1028 0179 Optiplex GX280 + 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 1043 80a6 P5GD1-VW Mainboard + 1458 2558 GA-8I915ME-G Mainboard + 1462 7028 915P/G Neo2 + 1734 105c Scenic W620 + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2659 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 + 1028 0177 Dimension 8400 + 1028 0179 Optiplex GX280 + 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 1043 80a6 P5GD1-VW Mainboard + 1458 2659 GA-8I915ME-G Mainboard + 1462 7028 915P/G Neo2 + 1734 105c Scenic W620 + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 265a 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 + 1028 0177 Dimension 8400 + 1028 0179 Optiplex GX280 + 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 1043 80a6 P5GD1-VW Mainboard + 1458 265a GA-8I915ME-G Mainboard + 1462 7028 915P/G Neo2 + 1734 105c Scenic W620 + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 265b 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 + 1028 0177 Dimension 8400 + 1028 0179 Optiplex GX280 + 103c 099c NX6110/NC6120 + 1043 80a6 P5GD1-VW Mainboard + 1458 265a GA-8I915ME-G Mainboard + 1462 7028 915P/G Neo2 + 1734 105c Scenic W620 + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 265c 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller + 1028 0177 Dimension 8400 + 1028 0179 Optiplex GX280 + 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 1043 80a6 P5GD1-VW Mainboard + 1458 5006 GA-8I915ME-G Mainboard + 1462 7028 915P/G Neo2 + 1734 105c Scenic W620 + 8086 265c Dimension 3100 + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2660 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 + 103c 0934 HP Compaq nw8240 Mobile Workstation + 103c 099c NX6110/NC6120 + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2662 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 + 103c 0934 HP Compaq nw8240 Mobile Workstation + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2664 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2666 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2668 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller + 1014 05b7 ThinkPad Z60t +# based on the PTGD1-LA motherboard + 103c 2a09 PufferM-UL8E + 1043 1173 Asus A6VC + 1043 814e P5GD1-VW Mainboard + 1462 7028 915P/G Neo2 + 266a 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller + 1028 0177 Dimension 8400 + 1028 0179 Optiplex GX280 + 1043 80a6 P5GD1-VW Mainboard + 1458 266a GA-8I915ME-G Mainboard + 1462 7028 915P/G Neo2 + 1734 105c Scenic W620 + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 266c 82801FB/FBM/FR/FW/FRW (ICH6 Family) LAN Controller + 266d 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller + 1025 006a Conexant AC'97 CoDec (in Acer TravelMate 2410 serie laptop) + 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 266e 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller + 1025 006a Realtek ALC 655 codec (in Acer TravelMate 2410 serie laptop) + 1028 0177 Dimension 8400 + 1028 0179 Optiplex GX280 + 1028 0182 Latitude D610 Laptop + 1028 0187 Dell Precision M70 Laptop + 1028 0188 Inspiron 6000 laptop + 103c 0934 Compaq nw8240/nx8220 + 103c 0944 Compaq NC6220 + 103c 099c NX6110/NC6120 + 103c 3006 DC7100 SFF(DX878AV) + 1458 a002 GA-8I915ME-G Mainboard + 152d 0745 Packard Bell A8550 Laptop + 1734 105a Scenic W620 + 266f 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller + 1028 0177 Dimension 8400 + 103c 0934 Compaq nw8240/nx8220 + 103c 099c NX6110/NC6120 + 1043 80a6 P5GD1-VW Mainboard + 1458 266f GA-8I915ME-G Mainboard + 1462 7028 915P/G Neo2 + 1734 105c Scenic W620 + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 2670 631xESB/632xESB/3100 Chipset LPC Interface Controller + 15d9 8680 X7DVL-E-O motherboard + 8086 3476 Intel S5000PSLSATA Server Board + 2680 631xESB/632xESB/3100 Chipset SATA IDE Controller + 2681 631xESB/632xESB SATA AHCI Controller + 15d9 8680 X7DVL-E-O motherboard + 8086 3476 Intel S5000PSLSATA Server Board + 2682 631xESB/632xESB SATA RAID Controller + 2683 631xESB/632xESB SATA RAID Controller + 2688 631xESB/632xESB/3100 Chipset UHCI USB Controller #1 + 15d9 8680 X7DVL-E-O motherboard + 8086 3476 Intel S5000PSLSATA Server Board + 2689 631xESB/632xESB/3100 Chipset UHCI USB Controller #2 + 15d9 8680 X7DVL-E-O motherboard + 8086 3476 Intel S5000PSLSATA Server Board + 268a 631xESB/632xESB/3100 Chipset UHCI USB Controller #3 + 15d9 8680 X7DVL-E-O motherboard + 8086 3476 Intel S5000PSLSATA Server Board + 268b 631xESB/632xESB/3100 Chipset UHCI USB Controller #4 + 15d9 8680 X7DVL-E-O motherboard + 8086 3476 Intel S5000PSLSATA Server Board + 268c 631xESB/632xESB/3100 Chipset EHCI USB2 Controller + 15d9 8680 X7DVL-E-O motherboard + 8086 3476 Intel S5000PSLSATA Server Board + 2690 631xESB/632xESB/3100 Chipset PCI Express Root Port 1 + 2692 631xESB/632xESB/3100 Chipset PCI Express Root Port 2 + 2694 631xESB/632xESB/3100 Chipset PCI Express Root Port 3 + 2696 631xESB/632xESB/3100 Chipset PCI Express Root Port 4 + 2698 631xESB/632xESB AC '97 Audio Controller + 2699 631xESB/632xESB AC '97 Modem Controller + 269a 631xESB/632xESB High Definition Audio Controller + 269b 631xESB/632xESB/3100 Chipset SMBus Controller + 15d9 8680 X7DVL-E-O motherboard + 8086 3476 Intel S5000PSLSATA Server Board + 269e 631xESB/632xESB IDE Controller + 15d9 8680 X7DVL-E-O motherboard + 2770 82945G/GZ/P/PL Memory Controller Hub + 1028 01ad OptiPlex GX620 + 107b 5048 E4500 + 8086 544e DeskTop Board D945GTP + 2771 82945G/GZ/P/PL PCI Express Root Port + 2772 82945G/GZ Integrated Graphics Controller + 8086 544e DeskTop Board D945GTP + 8086 d605 Intel Desktop Board D945GCCR + 2774 82955X Memory Controller Hub + 2775 82955X PCI Express Root Port + 2776 82945G/GZ Integrated Graphics Controller + 2778 E7230/3000/3010 Memory Controller Hub + 1028 01df PowerEdge SC440 + 1028 01e6 PowerEdge 860 + 2779 E7230/3000/3010 PCI Express Root Port + 277a 82975X/3010 PCI Express Root Port + 277c 82975X Memory Controller Hub + 1043 8178 P5WDG2 WS Professional motherboard + 277d 82975X PCI Express Root Port + 2782 82915G Integrated Graphics Controller + 1043 2582 P5GD1-VW Mainboard + 1734 105b Scenic W620 + 2792 Mobile 915GM/GMS/910GML Express Graphics Controller + 103c 099c NX6110/NC6120 + 1043 1881 GMA 900 915GM Integrated Graphics + e4bf 0ccd CCD-CALYPSO + e4bf 0cd3 CD3-JIVE + e4bf 58b1 XB1 + 27a0 Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub + 1025 006c 9814 WKMI + 1028 01d7 XPS M1210 + 103c 30a1 NC2400 + 103c 30a3 Compaq nw8440 + 17aa 2015 ThinkPad T60 + 17aa 2017 ThinkPad T60/R60 series + 27a1 Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port + 103c 30a3 Compaq nw8440 + 27a2 Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller + 103c 30a1 NC2400 + 17aa 201a ThinkPad T60/R60 series + 27a6 Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller + 103c 30a1 NC2400 + 17aa 201a ThinkPad T60/R60 series + 27ac Mobile 945GME Express Memory Controller Hub + 27ad Mobile 945GME Express PCI Express Root Port + 27ae Mobile 945GME Express Integrated Graphics Controller + 27b0 82801GH (ICH7DH) LPC Interface Bridge + 8086 544e DeskTop Board D945GTP + 27b8 82801GB/GR (ICH7 Family) LPC Interface Bridge + 1028 01e6 PowerEdge 860 + 1043 8179 P5KPL-VM Motherboard + 107b 5048 E4500 + 8086 544e DeskTop Board D945GTP + 27b9 82801GBM (ICH7-M) LPC Interface Bridge + 1028 01d7 XPS M1210 + 103c 309f HP Compaq nx9420 + 103c 30a1 NC2400 + 103c 30a3 Compaq nw8440 + 10f7 8338 Panasonic CF-Y5 laptop + 17aa 2009 ThinkPad T60/R60 series + 27bd 82801GHM (ICH7-M DH) LPC Interface Bridge + 1025 006c 9814 WKMI + 27c0 82801GB/GR/GH (ICH7 Family) SATA IDE Controller + 1028 01ad OptiPlex GX620 + 1028 01df PowerEdge SC440 + 1028 01e6 PowerEdge 860 + 1043 8179 P5KPL-VM Motherboard + 107b 5048 E4500 + 1462 2310 MSI Hetis 945 + 1462 7236 945P Neo3-F Rev. 2.2 motherboard + 8086 544e DeskTop Board D945GTP + 27c1 82801GR/GH (ICH7 Family) SATA AHCI Controller + 1028 01df PowerEdge SC440 + 8086 5842 DeskTop Board D975XBX + 27c3 82801GR/GH (ICH7 Family) SATA RAID Controller + 8086 544e DeskTop Board D945GTP + 27c4 82801GBM/GHM (ICH7 Family) SATA IDE Controller + 1025 006c 9814 WKMI + 1028 01d7 XPS M1210 + 17aa 200e Thinkpad T60 model 2007 + 27c5 82801GBM/GHM (ICH7 Family) SATA AHCI Controller + 103c 30a3 Compaq nw8440 + 17aa 200d ThinkPad T60/R60 series + 27c6 82801GHM (ICH7-M DH) SATA RAID Controller + 27c8 82801G (ICH7 Family) USB UHCI Controller #1 + 1025 006c 9814 WKMI + 1028 01ad OptiPlex GX620 + 1028 01d7 XPS M1210 + 1028 01df PowerEdge SC440 + 1028 01e6 PowerEdge 860 + 103c 30a1 NC2400 + 103c 30a3 Compaq nw8440 + 1043 8179 P5KPL-VM Motherboard + 107b 5048 E4500 + 17aa 200a ThinkPad T60/R60 series + 8086 544e DeskTop Board D945GTP + 27c9 82801G (ICH7 Family) USB UHCI Controller #2 + 1025 006c 9814 WKMI + 1028 01ad OptiPlex GX620 + 1028 01d7 XPS M1210 + 1028 01df PowerEdge SC440 + 1028 01e6 PowerEdge 860 + 103c 30a1 NC2400 + 103c 30a3 Compaq nw8440 + 1043 8179 P5KPL-VM Motherboard + 107b 5048 E4500 + 17aa 200a ThinkPad T60/R60 series + 8086 544e DeskTop Board D945GTP + 27ca 82801G (ICH7 Family) USB UHCI Controller #3 + 1025 006c 9814 WKMI + 1028 01ad OptiPlex GX620 + 1028 01d7 XPS M1210 + 1028 01df PowerEdge SC440 + 1028 01e6 PowerEdge 860 + 103c 30a1 NC2400 + 103c 30a3 Compaq nw8440 + 1043 8179 P5KPL-VM Motherboard + 107b 5048 E4500 + 17aa 200a ThinkPad T60/R60 series + 8086 544e DeskTop Board D945GTP + 27cb 82801G (ICH7 Family) USB UHCI Controller #4 + 1025 006c 9814 WKMI + 1028 01ad OptiPlex GX620 + 1028 01d7 XPS M1210 + 1028 01df PowerEdge SC440 + 103c 30a1 NC2400 + 103c 30a3 Compaq nw8440 + 1043 8179 P5KPL-VM Motherboard + 107b 5048 E4500 + 17aa 200a ThinkPad T60/R60 series + 8086 544e DeskTop Board D945GTP + 27cc 82801G (ICH7 Family) USB2 EHCI Controller + 1025 006c 9814 WKMI + 1028 01ad OptiPlex GX620 + 1028 01d7 XPS M1210 + 1028 01df PowerEdge SC440 + 1028 01e6 PowerEdge 860 + 103c 30a1 NC2400 + 103c 30a3 Compaq nw8440 + 1043 8179 P5KPL-VM Motherboard + 17aa 200b ThinkPad T60/R60 series + 8086 544e DeskTop Board D945GTP + 27d0 82801G (ICH7 Family) PCI Express Port 1 + 103c 30a3 Compaq nw8440 + 27d2 82801G (ICH7 Family) PCI Express Port 2 + 103c 30a3 Compaq nw8440 + 27d4 82801G (ICH7 Family) PCI Express Port 3 + 27d6 82801G (ICH7 Family) PCI Express Port 4 + 103c 30a3 Compaq nw8440 + 27d8 82801G (ICH7 Family) High Definition Audio Controller + 1025 006c 9814 WKMI + 1028 01d7 XPS M1210 + 103c 30a1 NC2400 + 103c 30a3 Compaq nw8440 + 1043 13c4 Asus G2P + 1043 8290 P5KPL-VM Motherboard + 107b 5048 E4500 + 10f7 8338 Panasonic CF-Y5 laptop + 1179 ff10 Toshiba Satellite A100-796 audio (Realtek ALC861) + 1179 ff31 AC97 Data Fax SoftModem with SmartCP + 1458 a102 GA-8I945PG-RH Mainboard + 152d 0753 Softmodem + 1734 10ad Conexant softmodem SmartCP + 17aa 2010 ThinkPad T60/R60 series + 17aa 3802 Lenovo 3000 C200 audio [Realtek ALC861VD] + 8086 1112 DeskTop Board D945GTP + 8086 27d8 DeskTop Board D945GTP + 27da 82801G (ICH7 Family) SMBus Controller + 1025 006c 9814 WKMI + 1028 01ad OptiPlex GX620 + 1028 01d7 XPS M1210 + 1028 01df PowerEdge SC440 + 1028 01e6 PowerEdge 860 + 1043 8179 P5KPL-VM Motherboard + 10f7 8338 Panasonic CF-Y5 laptop + 1458 5001 GA-8I945PG-RH Mainboard + 17aa 200f ThinkPad T60/R60 series + 8086 544e DeskTop Board D945GTP + 8086 5842 DeskTop Board D975XBX + 27dc 82801G (ICH7 Family) LAN Controller + 8086 308d DeskTop Board D945GTP + 27dd 82801G (ICH7 Family) AC'97 Modem Controller + 27de 82801G (ICH7 Family) AC'97 Audio Controller + 1028 01ad OptiPlex GX620 + 1462 7267 Realtek ALC883 Audio Controller + 27df 82801G (ICH7 Family) IDE Controller + 1028 01df PowerEdge SC440 + 1028 01e6 PowerEdge 860 + 103c 30a1 NC2400 + 103c 30a3 Compaq nw8440 + 1043 8179 P5KPL-VM Motherboard + 107b 5048 E4500 + 10f7 8338 Panasonic CF-Y5 laptop + 17aa 200c ThinkPad T60/R60 series + 8086 544e DeskTop Board D945GTP + 27e0 82801GR/GH/GHM (ICH7 Family) PCI Express Port 5 + 27e2 82801GR/GH/GHM (ICH7 Family) PCI Express Port 6 + 2810 82801HB/HR (ICH8/R) LPC Interface Controller + 1043 81ec P5B + 2811 82801HBM (ICH8M-E) LPC Interface Controller + 103c 30c1 Compaq 6910p + 17aa 20b6 T61 + e4bf cc47 CCG-RUMBA + 2812 82801HH (ICH8DH) LPC Interface Controller + 2814 82801HO (ICH8DO) LPC Interface Controller + 2815 82801HEM (ICH8M) LPC Interface Controller + 1025 0121 Aspire 5920G + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 103c 30d9 Presario C700 + 104d 9005 Vaio VGN-FZ260E + 2820 82801H (ICH8 Family) 4 port SATA IDE Controller + 1028 01da OptiPlex 745 + 1462 7235 P965 Neo MS-7235 mainboard + 2821 82801HR/HO/HH (ICH8R/DO/DH) 6 port SATA AHCI Controller + 2822 82801 SATA RAID Controller + 2824 82801HB (ICH8) 4 port SATA AHCI Controller + 1043 81ec P5B + 2825 82801H (ICH8 Family) 2 port SATA IDE Controller + 1028 01da OptiPlex 745 + 1462 7235 P965 Neo MS-7235 mainboard + 2828 82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE Controller + 1028 01f3 Inspiron 1420 + e4bf cc47 CCG-RUMBA + 2829 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller + 1025 0121 Aspire 5920G + 103c 30c0 Compaq 6710b + 103c 30c1 Compaq 6910p + 103c 30d9 Presario C700 + 104d 9005 Vaio VGN-FZ260E + 17aa 20a7 ThinkPad T61 + 282a Mobile 82801 SATA RAID Controller + 2830 82801H (ICH8 Family) USB UHCI Controller #1 + 1025 0121 Acer Aspire 5920G + 1028 01da OptiPlex 745 + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 103c 30c1 Compaq 6910p + 103c 30d9 Presario C700 + 1043 81ec P5B + 104d 9005 Vaio VGN-FZ260E + 1462 7235 P965 Neo MS-7235 mainboard + 17aa 20aa ThinkPad T61 + e4bf cc47 CCG-RUMBA + 2831 82801H (ICH8 Family) USB UHCI Controller #2 + 1025 0121 Aspire 5920G + 1028 01da OptiPlex 745 + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b +# Name mistyped on previous submission + 103c 30c1 Compaq 6910p + 103c 30d9 Presario C700 + 1043 81ec P5B + 104d 9005 Vaio VGN-FZ260E + 1462 7235 P965 Neo MS-7235 mainboard + 17aa 20aa ThinkPad T61 + e4bf cc47 CCG-RUMBA + 2832 82801H (ICH8 Family) USB UHCI Controller #3 + 1025 0121 Aspire 5920G + 1028 01da OptiPlex 745 + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 103c 30c1 Compaq 6910p + 103c 30d9 Presario C700 + 1043 81ec P5B + 104d 9005 Vaio VGN-FZ260E + 17aa 20aa ThinkPad T61 + e4bf cc47 CCG-RUMBA + 2834 82801H (ICH8 Family) USB UHCI Controller #4 + 1025 0121 Aspire 5920G + 1028 01da OptiPlex 745 + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 103c 30c1 Compaq 6910p + 1043 81ec P5B + 104d 9005 Vaio VGN-FZ260E + 1462 7235 P965 Neo MS-7235 mainboard + 17aa 20aa ThinkPad T61 + e4bf cc47 CCG-RUMBA + 2835 82801H (ICH8 Family) USB UHCI Controller #5 + 1025 0121 Acer Aspire 5920G + 1028 01da OptiPlex 745 + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 103c 30c1 Compaq 6910p + 1043 81ec P5B + 104d 9005 Vaio VGN-FZ260E + 17aa 20aa ThinkPad T60 + e4bf cc47 CCG-RUMBA + 2836 82801H (ICH8 Family) USB2 EHCI Controller #1 + 1025 0121 Aspire 5920G + 1028 01da OptiPlex 745 + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 103c 30c1 Compaq 6910p + 103c 30d9 Presario C700 + 1043 81ec P5B + 104d 9005 Vaio VGN-FZ260E + 1462 7235 P965 Neo MS-7235 mainboard + 17aa 20ab ThinkPad T61 + e4bf cc47 CCG-RUMBA + 283a 82801H (ICH8 Family) USB2 EHCI Controller #2 + 1025 0121 Acer Aspire 5920G + 1028 01da OptiPlex 745 + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 103c 30c1 Compaq 6910p + 1043 81ec P5B + 104d 9005 Vaio VGN-FZ260E + 17aa 20ab ThinkPad T61 + e4bf cc47 CCG-RUMBA + 283e 82801H (ICH8 Family) SMBus Controller + 1025 0121 Aspire 5920G + 1028 01da OptiPlex 745 + 1028 01f3 Inspiron 1420 + 103c 30d9 Presario C700 + 1043 81ec P5B + 104d 9005 Vaio VGN-FZ260E + 1462 7235 P965 Neo MS-7235 mainboard + 17aa 20a9 ThinkPad T61 + e4bf cc47 CCG-RUMBA + 283f 82801H (ICH8 Family) PCI Express Port 1 + 1028 01da OptiPlex 745 + 103c 30c1 Compaq 6910p + 2841 82801H (ICH8 Family) PCI Express Port 2 + 103c 30c1 Compaq 6910p + 2843 82801H (ICH8 Family) PCI Express Port 3 + 2845 82801H (ICH8 Family) PCI Express Port 4 + 2847 82801H (ICH8 Family) PCI Express Port 5 + 1028 01da OptiPlex 745 + 103c 30c1 Compaq 6910p + 2849 82801H (ICH8 Family) PCI Express Port 6 + 284b 82801H (ICH8 Family) HD Audio Controller + 1025 011f Realtek ALC268 audio codec + 1025 0121 Aspire 5920G + 1025 0145 Realtek ALC889 (Aspire 8920G w. Dolby Theather) + 1028 01da OptiPlex 745 + 1028 01f3 Inspiron 1420 + 1028 01f9 Dell Latitude D630 + 1028 01ff Dell Precision M4300 + 103c 2802 HP Compaq dc7700p + 103c 30c0 Compaq 6710b + 103c 30c1 Compaq 6910p + 1043 1339 Asus M51S series + 1043 81ec P5B + 104d 9005 Vaio VGN-FZ260E + 104d 9016 Sony VAIO VGN-AR51M + 14f1 5051 Presario C700 + 17aa 20ac ThinkPad T61 + 8384 7616 Dell Vostro 1400 + 284f 82801H (ICH8 Family) Thermal Reporting Device + 2850 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller + 1025 0121 Aspire 5920G + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 103c 30c1 Compaq 6910p + 103c 30d9 Presario C700 + 104d 9005 Vaio VGN-FZ260E + 17aa 20a6 ThinkPad T61 + e4bf cc47 CCG-RUMBA + 2912 82801IH (ICH9DH) LPC Interface Controller + 2914 82801IO (ICH9DO) LPC Interface Controller + 1028 0211 Optiplex 755 + 2916 82801IR (ICH9R) LPC Interface Controller + 2917 ICH9M-E LPC Interface Controller + 2918 82801IB (ICH9) LPC Interface Controller + 2919 ICH9M LPC Interface Controller + 2920 82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA IDE Controller + 1028 020f PowerEdge R300 onboard SATA Controller + 1028 0210 PowerEdge T300 onboard SATA Controller + 1028 0211 Optiplex 755 + 1028 023c PowerEdge R200 onboard SATA Controller + 2921 82801IB (ICH9) 2 port SATA IDE Controller + 2922 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA AHCI Controller + 2923 82801IB (ICH9) 4 port SATA AHCI Controller + 2925 82801IR/IO (ICH9R/DO) SATA RAID Controller + 1734 10e0 System Board D2542 + 8086 2925 System Board D2542 + 2926 82801I (ICH9 Family) 2 port SATA IDE Controller + 1028 020f Dell PowerEdge R300 + 1028 0210 Dell PowerEdge R300 + 1028 0211 Optiplex 755 + 2928 ICH9M/M-E 2 port SATA IDE Controller + 2929 ICH9M/M-E SATA AHCI Controller + 292c ICH9M-E SATA RAID Controller + 292d ICH9M/M-E 2 port SATA IDE Controller + 292e ICH9M SATA IDE Controller + 2930 82801I (ICH9 Family) SMBus Controller + 1028 0211 Optiplex 755 + 2932 82801I (ICH9 Family) Thermal Subsystem + 2934 82801I (ICH9 Family) USB UHCI Controller #1 + 1028 020f PowerEdge R300 onboard UHCI + 1028 0210 PowerEdge T300 onboard UHCI + 1028 0211 Optiplex 755 + 1028 2011 Optiplex 755 + 2935 82801I (ICH9 Family) USB UHCI Controller #2 + 1028 020f PowerEdge R300 onboard UHCI + 1028 0210 PowerEdge T300 onboard UHCI + 1028 0211 Optiplex 755 + 2936 82801I (ICH9 Family) USB UHCI Controller #3 + 1028 020f PowerEdge R300 onboard UHCI + 1028 0210 PowerEdge T300 onboard UHCI + 1028 0211 Optiplex 755 + 2937 82801I (ICH9 Family) USB UHCI Controller #4 + 1028 0211 Optiplex 755 + 1028 2011 Optiplex 755 + 8086 2937 Optiplex 755 + 8086 2942 828011 (ICH9 Family ) USB UHCI Controller + 2938 82801I (ICH9 Family) USB UHCI Controller #5 + 1028 0211 Optiplex 755 + 8086 2938 Optiplex 755 + 2939 82801I (ICH9 Family) USB UHCI Controller #6 + 1028 0210 PowerEdge T300 + 293a 82801I (ICH9 Family) USB2 EHCI Controller #1 + 1028 020f PowerEdge R300 onboard EHCI + 1028 0210 PowerEdge T300 onboard EHCI + 1028 0211 Optiplex 755 + 293c 82801I (ICH9 Family) USB2 EHCI Controller #2 + 1028 0211 Optiplex 755 + 8086 293c Optiplex 755 + 293e 82801I (ICH9 Family) HD Audio Controller + 1028 0211 Optiplex 755 + 8086 293e Optiplex 755 + 8086 2940 Optiplex 755 + 2940 82801I (ICH9 Family) PCI Express Port 1 + 1028 0211 Optiplex 755 + 8086 2940 Optiplex 755 + 2942 82801I (ICH9 Family) PCI Express Port 2 + 2944 82801I (ICH9 Family) PCI Express Port 3 + 2946 82801I (ICH9 Family) PCI Express Port 4 + 2948 82801I (ICH9 Family) PCI Express Port 5 + 294a 82801I (ICH9 Family) PCI Express Port 6 + 294c 82566DC-2 Gigabit Network Connection + 17aa 302e 82566DM-2 Gigabit Network Connection + 2970 82946GZ/PL/GL Memory Controller Hub + 2971 82946GZ/PL/GL PCI Express Root Port + 2972 82946GZ/GL Integrated Graphics Controller + 2973 82946GZ/GL Integrated Graphics Controller + 2974 82946GZ/GL HECI Controller + 2975 82946GZ/GL HECI Controller + 2976 82946GZ/GL PT IDER Controller + 2977 82946GZ/GL KT Controller + 2980 82G35 Express DRAM Controller + 2981 82G35 Express PCI Express Root Port + 2982 82G35 Express Integrated Graphics Controller + 2983 82G35 Express Integrated Graphics Controller + 2984 82G35 Express HECI Controller + 2990 82Q963/Q965 Memory Controller Hub + 1028 01da OptiPlex 745 + 2991 82Q963/Q965 PCI Express Root Port + 2992 82Q963/Q965 Integrated Graphics Controller + 2993 82Q963/Q965 Integrated Graphics Controller + 2994 82Q963/Q965 HECI Controller + 2995 82Q963/Q965 HECI Controller + 2996 82Q963/Q965 PT IDER Controller + 2997 82Q963/Q965 KT Controller + 29a0 82P965/G965 Memory Controller Hub + 1043 81ea P5B + 1462 7276 MS-7276 [G965MDH] + 29a1 82P965/G965 PCI Express Root Port + 29a2 82G965 Integrated Graphics Controller + 1462 7276 MS-7276 [G965MDH] + 29a3 82G965 Integrated Graphics Controller + 29a4 82P965/G965 HECI Controller + 29a5 82P965/G965 HECI Controller + 29a6 82P965/G965 PT IDER Controller + 29a7 82P965/G965 KT Controller + 29b0 82Q35 Express DRAM Controller + 1028 0211 OptiPlex 755 + 29b1 82Q35 Express PCI Express Root Port + 1028 0211 OptiPlex 755 + 29b2 82Q35 Express Integrated Graphics Controller + 1028 0211 OptiPlex 755 + 29b3 82Q35 Express Integrated Graphics Controller + 1028 0211 OptiPlex 755 + 29b4 82Q35 Express MEI Controller + 1028 0211 OptiPlex 755 + 29b5 82Q35 Express MEI Controller + 29b6 82Q35 Express PT IDER Controller + 1028 0211 OptiPlex 755 + 29b7 82Q35 Express Serial KT Controller + 1028 0211 OptiPlex 755 + 29c0 82G33/G31/P35/P31 Express DRAM Controller + 1043 82b0 P5KPL-VM Motherboard + 29c1 82G33/G31/P35/P31 Express PCI Express Root Port + 29c2 82G33/G31 Express Integrated Graphics Controller + 1043 82b0 P5KPL-VM Motherboard + 29c3 82G33/G31 Express Integrated Graphics Controller + 1043 82b0 P5KPL-VM Motherboard + 29c4 82G33/G31/P35/P31 Express MEI Controller + 29c5 82G33/G31/P35/P31 Express MEI Controller + 29c6 82G33/G31/P35/P31 Express PT IDER Controller + 29c7 82G33/G31/P35/P31 Express Serial KT Controller + 29cf Virtual HECI Controller + 29d0 82Q33 Express DRAM Controller + 29d1 82Q33 Express PCI Express Root Port + 29d2 82Q33 Express Integrated Graphics Controller + 29d3 82Q33 Express Integrated Graphics Controller + 29d4 82Q33 Express MEI Controller + 29d5 82Q33 Express MEI Controller + 29d6 82Q33 Express PT IDER Controller + 29d7 82Q33 Express Serial KT Controller + 29e0 82X38/X48 Express DRAM Controller + 29e1 82X38/X48 Express Host-Primary PCI Express Bridge + 29e4 82X38/X48 Express MEI Controller + 29e5 82X38/X48 Express MEI Controller + 29e6 82X38/X48 Express PT IDER Controller + 29e7 82X38/X48 Express Serial KT Controller + 29e9 82X38/X48 Express Host-Secondary PCI Express Bridge + 29f0 3200/3210 Chipset DRAM Controller + 29f1 3200/3210 Chipset Host-Primary PCI Express Bridge + 29f4 3200/3210 Chipset MEI Controller + 29f5 3200/3210 Chipset MEI Controller + 29f6 3200/3210 Chipset PT IDER Controller + 29f7 3200/3210 Chipset Serial KT Controller + 29f9 3210 Chipset Host-Secondary PCI Express Bridge + 2a00 Mobile PM965/GM965/GL960 Memory Controller Hub + 1025 0121 Acer Aspire 5920G + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 103c 30c1 Compaq 6910p + 103c 30d9 Presario C700 + 104d 9005 Vaio VGN-FZ260E + 17aa 20b1 ThinkPad T61 + 17aa 20b3 T61 + e4bf cc47 CCG-RUMBA + 2a01 Mobile PM965/GM965/GL960 PCI Express Root Port + 2a02 Mobile GM965/GL960 Integrated Graphics Controller + 1028 01f3 Inspiron 1420 + 1028 01f9 Latitude D630 + 103c 30c0 Compaq 6710b + 103c 30d9 Presario C700 + 17aa 20b5 T61 + e4bf cc47 CCG-RUMBA + 2a03 Mobile GM965/GL960 Integrated Graphics Controller + 1028 01f3 Dell Inspiron 1420 + 103c 30c0 Compaq 6710b + 103c 30d9 Presario C700 + 17aa 20b5 T61 + e4bf cc47 CCG-RUMBA + 2a04 Mobile PM965/GM965 MEI Controller + 103c 30c1 Compaq 6910p + 2a05 Mobile PM965/GM965 MEI Controller + 2a06 Mobile PM965/GM965 PT IDER Controller + 103c 30c1 Compaq 6910p + 2a07 Mobile PM965/GM965 KT Controller + 103c 30c1 Compaq 6910p + 2a10 Mobile GME965/GLE960 Memory Controller Hub + e4bf cc47 CCG-RUMBA + 2a11 Mobile GME965/GLE960 PCI Express Root Port + 2a12 Mobile GME965/GLE960 Integrated Graphics Controller + e4bf cc47 CCG-RUMBA + 2a13 Mobile GME965/GLE960 Integrated Graphics Controller + e4bf cc47 CCG-RUMBA + 2a14 Mobile GME965/GLE960 MEI Controller + 2a15 Mobile GME965/GLE960 MEI Controller + 2a16 Mobile GME965/GLE960 PT IDER Controller + 2a17 Mobile GME965/GLE960 KT Controller + 2a40 Mobile 4 Series Chipset Memory Controller Hub + 2a41 Mobile 4 Series Chipset PCI Express Graphics Port + 2a42 Mobile 4 Series Chipset Integrated Graphics Controller + 2a43 Mobile 4 Series Chipset Integrated Graphics Controller + 2a44 Mobile 4 Series Chipset MEI Controller + 2a45 Mobile 4 Series Chipset MEI Controller + 2a46 Mobile 4 Series Chipset PT IDER Controller + 2a47 Mobile 4 Series Chipset AMT SOL Redirection + 2a50 Cantiga MEI Controller + 2a51 Cantiga MEI Controller + 2a52 Cantiga PT IDER Controller + 2a53 Cantiga AMT SOL Redirection + 2c01 QuickPath Architecture System Address Decoder + 2c10 QPI Link 0 + 2c11 QPI Physical 0 + 2c14 QPI Link 1 + 2c15 QPI Physical 1 + 2c18 QuickPath Memory Controller + 2c19 QuickPath Memory Controller Target Address Decoder + 2c1a QuickPath Memory Controller RAS Registers + 2c1c QuickPath Memory Controller Test Registers + 2c20 QuickPath Memory Controller Channel 0 Control Registers + 2c21 QuickPath Memory Controller Channel 0 Address Registers + 2c22 QuickPath Memory Controller Channel 0 Rank Registers + 2c23 QuickPath Memory Controller Channel 0 Thermal Control Registers + 2c28 QuickPath Memory Controller Channel 1 Control Registers + 2c29 QuickPath Memory Controller Channel 1 Address Registers + 2c2a QuickPath Memory Controller Channel 1 Rank Registers + 2c2b QuickPath Memory Controller Channel 1 Thermal Control Registers + 2c30 QuickPath Memory Controller Channel 2 Control Registers + 2c31 QuickPath Memory Controller Channel 2 Address Registers + 2c32 QuickPath Memory Controller Channel 2 Rank Registers + 2c33 QuickPath Memory Controller Channel 2 Thermal Control Registers + 2c40 QuickPath Architecture Generic Non-Core Registers + 2e00 4 Series Chipset DRAM Controller + 2e01 4 Series Chipset PCI Express Root Port + 2e02 4 Series Chipset Integrated Graphics Controller + 2e03 4 Series Chipset Integrated Graphics Controller + 2e04 4 Series Chipset HECI Controller + 2e05 4 Series Chipset HECI Controller + 2e06 4 Series Chipset PT IDER Controller + 2e07 4 Series Chipset Serial KT Controller + 2e10 4 Series Chipset DRAM Controller + 2e11 4 Series Chipset PCI Express Root Port + 2e12 4 Series Chipset Integrated Graphics Controller + 2e13 4 Series Chipset Integrated Graphics Controller + 2e14 4 Series Chipset HECI Controller + 2e15 4 Series Chipset HECI Controller + 2e16 4 Series Chipset PT IDER Controller + 2e17 4 Series Chipset Serial KT Controller + 2e20 4 Series Chipset DRAM Controller + 1458 5000 GA-EP45-DS5 Motherboard + 2e21 4 Series Chipset PCI Express Root Port + 1458 5000 GA-EP45-DS5 Motherboard + 2e22 4 Series Chipset Integrated Graphics Controller + 2e23 4 Series Chipset Integrated Graphics Controller + 2e24 4 Series Chipset HECI Controller + 2e25 4 Series Chipset HECI Controller + 2e26 4 Series Chipset PT IDER Controller + 2e27 4 Series Chipset Serial KT Controller + 2e29 4 Series Chipset PCI Express Root Port + 2e30 4 Series Chipset DRAM Controller + 2e31 4 Series Chipset PCI Express Root Port + 2e32 4 Series Chipset Integrated Graphics Controller + 2e33 4 Series Chipset Integrated Graphics Controller + 2e34 4 Series Chipset HECI Controller + 2e35 4 Series Chipset HECI Controller + 2e36 4 Series Chipset PT IDER Controller + 2e37 4 Series Chipset Serial KT Controller + 2e40 4 Series Chipset DRAM Controller + 2e41 4 Series Chipset PCI Express Root Port + 2e42 4 Series Chipset Integrated Graphics Controller + 2e43 4 Series Chipset Integrated Graphics Controller + 2e44 4 Series Chipset HECI Controller + 2e45 4 Series Chipset HECI Controller + 2e46 4 Series Chipset PT IDER Controller + 2e47 4 Series Chipset Serial KT Controller + 3200 GD31244 PCI-X SATA HBA + 1775 c200 C2K onboard SATA host bus adapter + 3313 IOP348 I/O Processor (SL8e) in IOC Mode SAS/SATA + 331b IOP348 I/O Processor (SL8x) in IOC Mode SAS/SATA + 3331 IOC340 I/O Controller (VV8e) SAS/SATA + 3339 IOC340 I/O Controller (VV8x) SAS/SATA + 3340 82855PM Processor to I/O Controller + 1014 0529 Thinkpad T40 series + 1025 005a TravelMate 290 + 103c 088c NC8000 laptop + 103c 0890 NC6000 laptop + 103c 08b0 tc1100 tablet + 144d c005 X10 Laptop + 144d c00c P30/P35 notebook + 3341 82855PM Processor to AGP Controller + 144d c00c P30 notebook + 3363 IOC340 I/O Controller in IOC Mode SAS/SATA + 33c3 IOP348 I/O Processor (SL8De) in IOC Mode SAS/SATA + 33cb IOP348 I/O Processor (SL8Dx) in IOC Mode SAS/SATA + 3400 QuickPath Architecture I/O Hub to ESI Port + 3401 QuickPath Architecture I/O Hub to ESI Port + 3402 QuickPath Architecture I/O Hub to ESI Port + 3403 QuickPath Architecture I/O Hub to ESI Port + 3404 QuickPath Architecture I/O Hub to ESI Port + 3405 QuickPath Architecture I/O Hub to ESI Port + 3406 QuickPath Architecture I/O Hub to ESI Port + 3407 QuickPath Architecture I/O Hub to ESI Port + 3408 QuickPath Architecture I/O Hub PCI Express Root Port 1 + 3409 QuickPath Architecture I/O Hub PCI Express Root Port 2 + 340a QuickPath Architecture I/O Hub PCI Express Root Port 3 + 340b QuickPath Architecture I/O Hub PCI Express Root Port 4 + 340c QuickPath Architecture I/O Hub PCI Express Root Port 5 + 340d QuickPath Architecture I/O Hub PCI Express Root Port 6 + 340e QuickPath Architecture I/O Hub PCI Express Root Port 7 + 340f QuickPath Architecture I/O Hub PCI Express Root Port 8 + 3410 QuickPath Architecture I/O Hub PCI Express Root Port 9 + 3411 QuickPath Architecture I/O Hub PCI Express Root Port 10 + 3418 Quickpath Interconnect Physical Layer Port 0 + 3419 Quickpath Interconnect Physical Layer Port 1 + 3420 QuickPath Architecture I/O Hub PCI Express Root Port 0 + 3421 QuickPath Architecture I/O Hub PCI Express Root Port 0 + 3422 QuickPath Architecture I/O Hub GPIO and Scratch Pad Registers + 3423 QuickPath Architecture I/O Hub Control Status and RAS Registers + 3425 QuickPath Interconnect Physical and Link Layer Registers Port 0 + 3426 QuickPath Interconnect Routing and Protocol Layer Registers Port 0 + 3427 QuickPath Interconnect Physical and Link Layer Registers Port 1 + 3428 QuickPath Interconnect Routing and Protocol Layer Registers Port 1 + 3429 DMA Engine + 342a DMA Engine + 342b DMA Engine + 342c DMA Engine + 342d QuickPath Architecture I/O Hub I/OxAPIC Interrupt Controller + 342e QuickPath Architecture I/O Hub System Management Registers + 342f Trusted Execution Technology Registers + 3430 DMA Engine + 3431 DMA Engine + 3432 DMA Engine + 3433 DMA Engine + 3438 QuickPath Architecture I/O Hub Throttle Registers + 3500 6311ESB/6321ESB PCI Express Upstream Port + 3501 6310ESB PCI Express Upstream Port + 3504 6311ESB/6321ESB I/OxAPIC Interrupt Controller + 3505 6310ESB I/OxAPIC Interrupt Controller + 350c 6311ESB/6321ESB PCI Express to PCI-X Bridge + 350d 6310ESB PCI Express to PCI-X Bridge + 3510 6311ESB/6321ESB PCI Express Downstream Port E1 + 3511 6310ESB PCI Express Downstream Port E1 + 3514 6311ESB/6321ESB PCI Express Downstream Port E2 + 3515 6310ESB PCI Express Downstream Port E2 + 3518 6311ESB/6321ESB PCI Express Downstream Port E3 + 3519 6310ESB PCI Express Downstream Port E3 + 3575 82830 830 Chipset Host Bridge + 0e11 0030 Evo N600c + 1014 021d ThinkPad A/T/X Series + 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP + 3576 82830 830 Chipset AGP Bridge + 3577 82830 CGC [Chipset Graphics Controller] + 1014 0513 ThinkPad A/T/X Series + 3578 82830 830 Chipset Host Bridge + 3580 82852/82855 GM/GME/PM/GMV Processor to I/O Controller + 1014 055c ThinkPad R50e + 1028 0139 Latitude D400 + 1028 014f Latitude X300 + 1028 0163 Latitude D505 + 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 + 114a 0582 PC8 + 1734 1055 Amilo M1420 + 1775 10d0 V5D Single Board Computer + 1775 ce90 CE9 + 4c53 10b0 CL9 mainboard + 4c53 10e0 PSL09 PrPMC + e4bf 0cc9 CC9-SAMBA + e4bf 0cd2 CD2-BEBOP + 3581 82852/82855 GM/GME/PM/GMV Processor to AGP Controller + 1734 1055 Amilo M1420 + 3582 82852/855GM Integrated Graphics Device + 1014 0562 ThinkPad R50e + 1028 0139 Latitude D400 + 1028 014f Latitude X300 + 1028 0163 Latitude D505 + 1028 018d Inspiron 700m/710m + 114a 0582 PC8 integrated graphics + 1775 10d0 V5D Single Board Computer VGA + 1775 ce90 CE9 + 4c53 10b0 CL9 mainboard + 4c53 10e0 PSL09 PrPMC + e4bf 0cc9 CC9-SAMBA + e4bf 0cd2 CD2-BEBOP + 3584 82852/82855 GM/GME/PM/GMV Processor to I/O Controller + 1014 055d ThinkPad R50e + 1028 0139 Latitude D400 + 1028 014f Latitude X300 + 1028 0163 Latitude D505 + 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 + 114a 0582 PC8 + 1734 1055 Amilo M1420 + 1775 10d0 V5D Single Board Computer + 1775 ce90 CE9 + 4c53 10b0 CL9 mainboard + 4c53 10e0 PSL09 PrPMC + 3585 82852/82855 GM/GME/PM/GMV Processor to I/O Controller + 1014 055e ThinkPad R50e + 1028 0139 Latitude D400 + 1028 014f Latitude X300 + 1028 0163 Latitude D505 + 1028 018d Inspiron 700m/710m + 1028 0196 Inspiron 5160 + 114a 0582 PC8 + 1734 1055 Amilo M1420 + 1775 10d0 V5D Single Board Computer + 1775 ce90 CE9 + 4c53 10b0 CL9 mainboard + 4c53 10e0 PSL09 PrPMC + 358c 82854 GMCH + 358e 82854 GMCH Integrated Graphics Device + 3590 E7520 Memory Controller Hub + 1014 02dd eServer xSeries server mainboard + 1028 016c PowerEdge 1850 + 1028 016d PowerEdge 2850=20 + 1028 019a PowerEdge SC1425 + 1734 103e PRIMERGY RX/TX S2 series + 1775 1100 CR11/VR11 Single Board Computer + 4c53 10d0 Telum ASLP10 Processor AMC + 3591 E7525/E7520 Error Reporting Registers + 1014 02dd eServer xSeries server mainboard + 1028 0169 Precision 470 + 4c53 10d0 Telum ASLP10 Processor AMC + 3592 E7320 Memory Controller Hub + 3593 E7320 Error Reporting Registers + 3594 E7520 DMA Controller + 1775 1100 CR11/VR11 Single Board Computer + 4c53 10d0 Telum ASLP10 Processor AMC + 3595 E7525/E7520/E7320 PCI Express Port A + 1775 1100 CR11/VR11 Single Board Computer + 3596 E7525/E7520/E7320 PCI Express Port A1 + 3597 E7525/E7520 PCI Express Port B + 1775 1100 CR11/VR11 Single Board Computer + 3598 E7520 PCI Express Port B1 + 1775 1100 CR11/VR11 Single Board Computer + 3599 E7520 PCI Express Port C + 1775 1100 CR11/VR11 Single Board Computer + 359a E7520 PCI Express Port C1 + 359b E7525/E7520/E7320 Extended Configuration Registers + 1014 02dd eServer xSeries server mainboard + 359e E7525 Memory Controller Hub + 1028 0169 Precision 470 + 35b0 3100 Chipset Memory I/O Controller Hub + 35b1 3100 DRAM Controller Error Reporting Registers + 35b5 3100 Chipset Enhanced DMA Controller + 35b6 3100 Chipset PCI Express Port A + 35b7 3100 Chipset PCI Express Port A1 + 35c8 3100 Extended Configuration Test Overflow Registers + 3600 7300 Chipset Memory Controller Hub + 3604 7300 Chipset PCI Express Port 1 + 3605 7300 Chipset PCI Express Port 2 + 3606 7300 Chipset PCI Express Port 3 + 3607 7300 Chipset PCI Express Port 4 + 3608 7300 Chipset PCI Express Port 5 + 3609 7300 Chipset PCI Express Port 6 + 360a 7300 Chipset PCI Express Port 7 + 360b 7300 Chipset QuickData Technology Device + 360c 7300 Chipset FSB Registers + 360d 7300 Chipset Snoop Filter Registers + 360e 7300 Chipset Debug and Miscellaneous Registers + 360f 7300 Chipset FBD Branch 0 Registers + 3610 7300 Chipset FBD Branch 1 Registers + 3a00 ICH10 4 port SATA IDE Controller + 3a02 ICH10 6 port SATA AHCI Controller + 3a05 ICH10 SATA RAID Controller + 3a06 ICH10 2 port SATA IDE Controller + 3a14 ICH10 LPC Interface Controller + 3a16 82801JIR (ICH10R) LPC Interface Controller + 1458 5001 GA-EP45-DS5 Motherboard + 3a18 82801JIB (ICH10) LPC Interface Controller + 3a1a ICH10 LPC Interface Controller + 3a20 82801JI (ICH10 Family) 4 port SATA IDE Controller + 3a22 82801JI (ICH10 Family) SATA AHCI Controller + 1458 b005 GA-EP45-DS5 Motherboard + 3a25 82801JIR (ICH10R) SATA RAID Controller + 3a26 82801JI (ICH10 Family) 2 port SATA IDE Controller + 3a30 82801JI (ICH10 Family) SMBus Controller + 1458 5001 GA-EP45-DS5 Motherboard + 3a32 82801JI (ICH10 Family) Thermal Subsystem + 3a34 82801JI (ICH10 Family) USB UHCI Controller #1 + 1458 5004 GA-EP45-DS5 Motherboard + 3a35 82801JI (ICH10 Family) USB UHCI Controller #2 + 1458 5004 GA-EP45-DS5 Motherboard + 3a36 82801JI (ICH10 Family) USB UHCI Controller #3 + 1458 5004 GA-EP45-DS5 Motherboard + 3a37 82801JI (ICH10 Family) USB UHCI Controller #4 + 1458 5004 GA-EP45-DS5 Motherboard + 3a38 82801JI (ICH10 Family) USB UHCI Controller #5 + 1458 5004 GA-EP45-DS5 Motherboard + 3a39 82801JI (ICH10 Family) USB UHCI Controller #6 + 1458 5004 GA-EP45-DS5 Motherboard + 3a3a 82801JI (ICH10 Family) USB2 EHCI Controller #1 + 1458 5006 GA-EP45-DS5 Motherboard + 3a3c 82801JI (ICH10 Family) USB2 EHCI Controller #2 + 1458 5006 GA-EP45-DS5 Motherboard + 3a3e 82801JI (ICH10 Family) HD Audio Controller + 1458 a102 GA-EP45-DS5 Motherboard + 3a40 82801JI (ICH10 Family) PCI Express Port 1 + 1458 5001 GA-EP45-DS5 Motherboard + 3a42 82801JI (ICH10 Family) PCI Express Port 2 + 3a44 82801JI (ICH10 Family) PCI Express Port 3 + 3a46 82801JI (ICH10 Family) PCI Express Port 4 + 1458 5001 GA-EP45-DS5 Motherboard + 3a48 82801JI (ICH10 Family) PCI Express Port 5 + 1458 5001 GA-EP45-DS5 Motherboard + 3a4a 82801JI (ICH10 Family) PCI Express Port 6 + 1458 5001 GA-EP45-DS5 Motherboard + 3a4c 82801JI (ICH10 Family) Gigabit Ethernet Controller + 3a51 ICH10 VECI Controller + 3a55 ICH10 Virtual SATA Controller + 3a60 ICH10 SMBus Controller + 3a62 ICH10 Thermal Subsystem + 3a64 ICH10 USB UHCI Controller #1 + 3a65 ICH10 USB UHCI Controller #2 + 3a66 ICH10 USB UHCI Controller #3 + 3a67 ICH10 USB UHCI Controller #4 + 3a68 ICH10 USB UHCI Controller #5 + 3a69 ICH10 USB UHCI Controller #6 + 3a6a ICH10 USB2 EHCI Controller #1 + 3a6c ICH10 USB2 EHCI Controller #2 + 3a6e ICH10 HD Audio Controller + 3a70 ICH10 PCI Express Port 1 + 3a72 ICH10 PCI Express Port 2 + 3a74 ICH10 PCI Express Port 3 + 3a76 ICH10 PCI Express Port 4 + 3a78 ICH10 PCI Express Port 5 + 3a7a ICH10 PCI Express Port 6 + 3a7c ICH10 Gigabit Ethernet Controller + 3b00 Ibex Peak LPC Interface Controller + 3b01 Ibex Peak LPC Interface Controller + 3b02 Ibex Peak LPC Interface Controller + 3b03 Ibex Peak LPC Interface Controller + 3b04 Ibex Peak LPC Interface Controller + 3b05 Ibex Peak LPC Interface Controller + 3b06 Ibex Peak LPC Interface Controller + 3b07 Ibex Peak LPC Interface Controller + 3b08 Ibex Peak LPC Interface Controller + 3b09 Ibex Peak LPC Interface Controller + 3b0a Ibex Peak LPC Interface Controller + 3b0b Ibex Peak LPC Interface Controller + 3b0c Ibex Peak LPC Interface Controller + 3b0d Ibex Peak LPC Interface Controller + 3b0e Ibex Peak LPC Interface Controller + 3b0f Ibex Peak LPC Interface Controller + 3b10 Ibex Peak LPC Interface Controller + 3b11 Ibex Peak LPC Interface Controller + 3b12 Ibex Peak LPC Interface Controller + 3b13 Ibex Peak LPC Interface Controller + 3b14 Ibex Peak LPC Interface Controller + 3b15 Ibex Peak LPC Interface Controller + 3b16 Ibex Peak LPC Interface Controller + 3b17 Ibex Peak LPC Interface Controller + 3b18 Ibex Peak LPC Interface Controller + 3b19 Ibex Peak LPC Interface Controller + 3b1a Ibex Peak LPC Interface Controller + 3b1b Ibex Peak LPC Interface Controller + 3b1c Ibex Peak LPC Interface Controller + 3b1d Ibex Peak LPC Interface Controller + 3b1e Ibex Peak LPC Interface Controller + 3b1f Ibex Peak LPC Interface Controller + 3b20 Ibex Peak 4 port SATA IDE Controller + 3b21 Ibex Peak 2 port SATA IDE Controller + 3b22 Ibex Peak 6 port SATA AHCI Controller + 3b23 Ibex Peak 4 port SATA AHCI Controller + 3b24 Ibex Peak SATA Enhanced RAID Controller + 3b25 Ibex Peak SATA RAID Controller + 3b26 Ibex Peak 2 port SATA IDE Controller + 3b28 Ibex Peak 4 port SATA IDE Controller + 3b29 Ibex Peak 4 port SATA AHCI Controller + 3b2b Ibex Peak SATA Enhanced RAID Controller + 3b2c Ibex Peak SATA RAID Controller + 3b2d Ibex Peak 2 port SATA IDE Controller + 3b2e Ibex Peak 4 port SATA IDE Controller + 3b2f Ibex Peak 6 port SATA AHCI Controller + 3b30 Ibex Peak SMBus Controller + 3b32 Ibex Peak Thermal Subsystem + 3b34 Ibex Peak USB2 Enhanced Host Controller + 3b36 Ibex Peak USB Universal Host Controller + 3b37 Ibex Peak USB Universal Host Controller + 3b38 Ibex Peak USB Universal Host Controller + 3b39 Ibex Peak USB Universal Host Controller + 3b3a Ibex Peak USB Universal Host Controller + 3b3b Ibex Peak USB Universal Host Controller + 3b3c Ibex Peak USB2 Enhanced Host Controller + 3b3e Ibex Peak USB Universal Host Controller + 3b3f Ibex Peak USB Universal Host Controller + 3b40 Ibex Peak USB Universal Host Controller + 3b41 Ibex Peak LAN Controller + 3b42 Ibex Peak PCI Express Root Port 1 + 3b44 Ibex Peak PCI Express Root Port 2 + 3b46 Ibex Peak PCI Express Root Port 3 + 3b48 Ibex Peak PCI Express Root Port 4 + 3b4a Ibex Peak PCI Express Root Port 5 + 3b4c Ibex Peak PCI Express Root Port 6 + 3b4e Ibex Peak PCI Express Root Port 7 + 3b50 Ibex Peak PCI Express Root Port 8 + 3b53 Ibex Peak VECI Controller + 3b56 Ibex Peak High Definition Audio + 3b64 Ibex Peak HECI Controller + 3b65 Ibex Peak HECI Controller + 3b66 Ibex Peak PT IDER Controller + 3b67 Ibex Peak KT Controller + 4000 5400 Chipset Memory Controller Hub + 4001 5400 Chipset Memory Controller Hub + 4003 5400 Chipset Memory Controller Hub + 4021 5400 Chipset PCI Express Port 1 + 4022 5400 Chipset PCI Express Port 2 + 4023 5400 Chipset PCI Express Port 3 + 4024 5400 Chipset PCI Express Port 4 + 4025 5400 Chipset PCI Express Port 5 + 4026 5400 Chipset PCI Express Port 6 + 4027 5400 Chipset PCI Express Port 7 + 4028 5400 Chipset PCI Express Port 8 + 4029 5400 Chipset PCI Express Port 9 + 402d 5400 Chipset IBIST Registers + 402e 5400 Chipset IBIST Registers + 402f 5400 Chipset QuickData Technology Device + 4030 5400 Chipset FSB Registers + 4031 5400 Chipset CE/SF Registers + 4032 5400 Chipset IOxAPIC + 4035 5400 Chipset FBD Registers + 4036 5400 Chipset FBD Registers + 4220 PRO/Wireless 2200BG [Calexico2] Network Connection + 103c 0934 Compaq nw8240/nx8220 + 103c 12f6 Compaq nw8240/nx8220 + 8086 2712 IBM ThinkPad R50e + 8086 2721 Dell B130 laptop integrated WLAN + 8086 2722 Dell Latitude D600 + 8086 2731 Samsung P35 integrated WLAN + 4222 PRO/Wireless 3945ABG [Golan] Network Connection + 103c 135c Compaq 6710b + 103c 30c0 Compaq 6710b + 8086 1000 PRO/Wireless 3945ABG Network Connection + 8086 1001 PRO/Wireless 3945ABG Network Connection + 8086 1005 PRO/Wireless 3945BG Network Connection + 8086 1034 PRO/Wireless 3945BG Network Connection + 8086 1044 PRO/Wireless 3945BG Network Connection + 8086 1c00 PRO/Wireless 3945ABG Network Connection + 4223 PRO/Wireless 2915ABG [Calexico2] Network Connection + 1000 8086 mPCI 3B Americas/Europe ZZA + 1001 8086 mPCI 3B Europe ZZE + 1002 8086 mPCI 3B Japan ZZJ + 1003 8086 mPCI 3B High-Band ZZH + 1351 103c Compaq NC6220 + 4224 PRO/Wireless 2915ABG [Calexico2] Network Connection + 4227 PRO/Wireless 3945ABG [Golan] Network Connection + 8086 1011 ThinkPad R60e/X60s + 8086 1014 PRO/Wireless 3945BG Network Connection + 4229 PRO/Wireless 4965 AG or AGN [Kedron] Network Connection + 4230 PRO/Wireless 4965 AG or AGN [Kedron] Network Connection + 8086 1110 Lenovo ThinkPad T51 + 8086 1111 Lenovo ThinkPad T61 + 4232 Wireless WiFi Link 5100 + 8086 1205 PRO/Wireless 5100BG Network Connection + 8086 1206 PRO/Wireless 5100ABG Network Connection + 8086 1216 PRO/Wireless 5100ABG Network Connection + 8086 1305 PRO/Wireless 5100BG Network Connection + 8086 1306 PRO/Wireless 5100ABG Network Connection + 8086 1326 PRO/Wireless 5100ABG Network Connection + 4235 PRO/Wireless 5300 AGN [Shiloh] Network Connection + 4236 Wireless WiFi Link 5100 + 4237 PRO/Wireless 5100 AGN [Shiloh] Network Connection + 423a PRO/Wireless 5350 AGN [Echo Peak] Network Connection + 444e Turbo Memory Controller + 5001 LE80578 + 5002 LE80578 Graphics Processor Unit + 5009 LE80578 Video Display Controller + 500d LE80578 Expansion Bus + 500e LE80578 UART Controller + 500f LE80578 General Purpose IO + 5010 LE80578 I2C Controller + 5012 LE80578 Serial Peripheral Interface Bus + 5020 EP80579 Memory Controller Hub + 5021 EP80579 DRAM Error Reporting Registers + 5023 EP80579 EDMA Controller + 5024 EP80579 PCI Express Port PEA0 + 5025 EP80579 PCI Express Port PEA1 + 5028 EP80579 S-ATA IDE + 5029 EP80579 S-ATA AHCI + 502a EP80579 S-ATA Reserved + 502b EP80579 S-ATA Reserved + 502c EP80579 Integrated Processor ASU + 502d EP80579 Integrated Processor with QuickAssist ASU + 502e EP80579 Reserved + 502f EP80579 Reserved + 5030 EP80579 Reserved + 5031 EP80579 LPC Bus + 5032 EP80579 SMBus Controller + 5033 EP80579 USB 1.1 Controller + 5035 EP80579 USB 2.0 Controller + 5037 EP80579 PCI-PCI Bridge (transparent mode) + 5039 EP80579 Controller Area Network (CAN) interface #1 + 503a EP80579 Controller Area Network (CAN) interface #2 + 503b EP80579 Synchronous Serial Port (SPP) + 503c EP80579 IEEE 1588 Hardware Assist + 503d EP80579 Local Expansion Bus + 503e EP80579 Global Control Unit (GCU) + 503f EP80579 Reserved + 5040 EP80579 Integrated Processor Gigabit Ethernet MAC + 5041 EP80579 Integrated Processor with QuickAssist Gigabit Ethernet MAC + 5042 EP80579 Reserved + 5043 EP80579 Reserved + 5044 EP80579 Integrated Processor Gigabit Ethernet MAC + 5045 EP80579 Integrated Processor with QuickAssist Gigabit Ethernet MAC + 5046 EP80579 Reserved + 5047 EP80579 Reserved + 5048 EP80579 Integrated Processor Gigabit Ethernet MAC + 5049 EP80579 Integrated Processor with QuickAssist Gigabit Ethernet MAC + 504a EP80579 Reserved + 504b EP80579 Reserved + 504c EP80579 Integrated Processor with QuickAssist TDM + 5200 EtherExpress PRO/100 Intelligent Server + 5201 EtherExpress PRO/100 Intelligent Server + 8086 0001 EtherExpress PRO/100 Server Ethernet Adapter + 530d 80310 (IOP) IO Processor + 65c0 5100 Chipset Memory Controller Hub + 65e2 5100 Chipset PCI Express x4 Port 2 + 65e3 5100 Chipset PCI Express x4 Port 3 + 65e4 5100 Chipset PCI Express x4 Port 4 + 65e5 5100 Chipset PCI Express x4 Port 5 + 65e6 5100 Chipset PCI Express x4 Port 6 + 65e7 5100 Chipset PCI Express x4 Port 7 + 65f0 5100 Chipset FSB Registers + 1028 020f PowerEdge R300 + 1028 0210 PowerEdge T300 + 65f1 5100 Chipset Reserved Registers + 1028 0210 PowerEdge T300 + 65f3 5100 Chipset Reserved Registers + 65f5 5100 Chipset DDR Channel 0 Registers + 65f6 5100 Chipset DDR Channel 1 Registers + 65f7 5100 Chipset PCI Express x8 Port 2-3 + 65f8 5100 Chipset PCI Express x8 Port 4-5 + 65f9 5100 Chipset PCI Express x8 Port 6-7 + 65fa 5100 Chipset PCI Express x16 Port 4-7 + 65ff 5100 Chipset DMA Engine + 7000 82371SB PIIX3 ISA [Natoma/Triton II] + 7010 82371SB PIIX3 IDE [Natoma/Triton II] + 7020 82371SB PIIX3 USB [Natoma/Triton II] + 7030 430VX - 82437VX TVX [Triton VX] + 7050 Intercast Video Capture Card + 7051 PB 642365-003 (Business Video Conferencing Card) + 7100 430TX - 82439TX MTXC + 7110 82371AB/EB/MB PIIX4 ISA + 15ad 1976 Virtual Machine Chipset + 7111 82371AB/EB/MB PIIX4 IDE + 15ad 1976 Virtual Machine Chipset + 7112 82371AB/EB/MB PIIX4 USB + 15ad 1976 Virtual Machine Chipset + 7113 82371AB/EB/MB PIIX4 ACPI + 15ad 1976 Virtual Machine Chipset + 7120 82810 GMCH (Graphics Memory Controller Hub) + 4c53 1040 CL7 mainboard + 4c53 1060 PC7 mainboard + 7121 82810 (CGC) Chipset Graphics Controller + 4c53 1040 CL7 mainboard + 4c53 1060 PC7 mainboard + 8086 4341 Cayman (CA810) Mainboard + 7122 82810 DC-100 (GMCH) Graphics Memory Controller Hub + 7123 82810 DC-100 (CGC) Chipset Graphics Controller + 7124 82810E DC-133 (GMCH) Graphics Memory Controller Hub + 1028 00b4 OptiPlex GX110 + 7125 82810E DC-133 (CGC) Chipset Graphics Controller + 1028 00b4 OptiPlex GX110 + 7126 82810 DC-133 System and Graphics Controller + 7128 82810-M DC-100 System and Graphics Controller + 712a 82810-M DC-133 System and Graphics Controller + 7180 440LX/EX - 82443LX/EX Host bridge + 7181 440LX/EX - 82443LX/EX AGP bridge + 7190 440BX/ZX/DX - 82443BX/ZX/DX Host bridge + 0e11 0500 Armada 1750 Laptop System Chipset + 0e11 b110 Armada M700/E500 + 1028 008e PowerEdge 1300 mainboard + 1043 803b CUBX-L/E Mainboard + 1179 0001 Toshiba Tecra 8100 Laptop System Chipset + 15ad 1976 Virtual Machine Chipset + 4c53 1050 CT7 mainboard + 4c53 1051 CE7 mainboard + 7191 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge + 1028 008e PowerEdge 1300 mainboard + 7192 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) + 0e11 0460 Armada 1700 Laptop System Chipset + 1179 0001 Satellite 4010 + 4c53 1000 CC7/CR7/CP7/VC7/VP7/VR7 mainboard + 8086 7190 Dell PowerEdge 350 + 7194 82440MX Host Bridge + 1033 0000 Versa Note Vxi + 4c53 10a0 CA3/CR3 mainboard + 7195 82440MX AC'97 Audio Controller + 1033 80cc Versa Note VXi + 10cf 1099 QSound_SigmaTel Stac97 PCI Audio + 11d4 0040 SoundMAX Integrated Digital Audio + 11d4 0048 SoundMAX Integrated Digital Audio + 7196 82440MX AC'97 Modem Controller + 7198 82440MX ISA Bridge + 7199 82440MX EIDE Controller + 719a 82440MX USB Universal Host Controller + 719b 82440MX Power Management Controller + 71a0 440GX - 82443GX Host bridge + 4c53 1050 CT7 mainboard + 4c53 1051 CE7 mainboard + 71a1 440GX - 82443GX AGP bridge + 71a2 440GX - 82443GX Host bridge (AGP disabled) + 4c53 1000 CC7/CR7/CP7/VC7/VP7/VR7 mainboard + 7600 82372FB PIIX5 ISA + 7601 82372FB PIIX5 IDE + 7602 82372FB PIIX5 USB + 7603 82372FB PIIX5 SMBus + 7800 82740 (i740) AGP Graphics Accelerator + 003d 0008 Starfighter AGP + 003d 000b Starfighter AGP + 1092 0100 Stealth II G460 + 10b4 201a Lightspeed 740 + 10b4 202f Lightspeed 740 + 8086 0000 Terminator 2x/i + 8086 0100 Intel740 Graphics Accelerator + 8002 Trusted Execution Technology Registers + 8003 Trusted Execution Technology Registers + 8100 System Controller Hub (SCH Poulsbo) + 8108 System Controller Hub (SCH Poulsbo) Graphics Controller + 8110 System Controller Hub (SCH Poulsbo) PCI Express Port 1 + 8112 System Controller Hub (SCH Poulsbo) PCI Express Port 2 + 8114 System Controller Hub (SCH Poulsbo) USB UHCI #1 + 8115 System Controller Hub (SCH Poulsbo) USB UHCI #2 + 8116 System Controller Hub (SCH Poulsbo) USB UHCI #3 + 8117 System Controller Hub (SCH Poulsbo) USB EHCI #1 + 8118 System Controller Hub (SCH Poulsbo) USB Client Controller + 8119 System Controller Hub (SCH Poulsbo) LPC Bridge + 811a System Controller Hub (SCH Poulsbo) IDE Controller + 811b System Controller Hub (SCH Poulsbo) HD Audio Controller + 811c System Controller Hub (SCH Poulsbo) SDIO Controller #1 + 811d System Controller Hub (SCH Poulsbo) SDIO Controller #2 + 811e System Controller Hub (SCH Poulsbo) SDIO Controller #3 + 84c4 450KX/GX [Orion] - 82454KX/GX PCI bridge + 84c5 450KX/GX [Orion] - 82453KX/GX Memory controller + 84ca 450NX - 82451NX Memory & I/O Controller + 84cb 450NX - 82454NX/84460GX PCI Expander Bridge + 84e0 460GX - 84460GX System Address Controller (SAC) + 84e1 460GX - 84460GX System Data Controller (SDC) + 84e2 460GX - 84460GX AGP Bridge (GXB function 2) + 84e3 460GX - 84460GX Memory Address Controller (MAC) + 84e4 460GX - 84460GX Memory Data Controller (MDC) + 84e6 460GX - 82466GX Wide and fast PCI eXpander Bridge (WXB) + 84ea 460GX - 84460GX AGP Bridge (GXB function 1) + 8500 IXP4XX Network Processor (IXP420/421/422/425/IXC1100) + 1993 0ded mGuard-PCI AV#2 + 1993 0dee mGuard-PCI AV#1 + 1993 0def mGuard-PCI AV#0 + 9000 IXP2000 Family Network Processor + 9001 IXP2400 Network Processor + 9002 IXP2300 Network Processor + 9004 IXP2800 Network Processor + 9621 Integrated RAID + 9622 Integrated RAID + 9641 Integrated RAID + 96a1 Integrated RAID + a620 6400/6402 Advanced Memory Buffer (AMB) + b152 21152 PCI-to-PCI Bridge + 8086 b152 21152 PCI-to-PCI Bridge +# observed, and documented in Intel revision note; new mask of 1011:0026 + b154 21154 PCI-to-PCI Bridge + b555 21555 Non transparent PCI-to-PCI Bridge + 12c7 5005 SS7HD PCI Adaptor Card + 12c7 5006 SS7HDC cPCI Adaptor Card + 12d9 000a PCI VoIP Gateway + 4c53 1050 CT7 mainboard + 4c53 1051 CE7 mainboard + e4bf 1000 CC8-1-BLUES + d130 Clarksfield/Lynnfield DMI + d131 Clarksfield/Lynnfield DMI + d132 Clarksfield/Lynnfield DMI + d133 Clarksfield/Lynnfield DMI + d134 Clarksfield/Lynnfield DMI + d135 Clarksfield/Lynnfield DMI + d136 Clarksfield/Lynnfield DMI + d137 Clarksfield/Lynnfield DMI + d138 Clarksfield/Lynnfield PCI Express Root Port 1 + d139 Lynnfield PCI Express Root Port 2 + d13a Clarksfield/Lynnfield PCI Express Root Port 3 + d13b Lynnfield PCI Express Root Port 4 + d155 Clarksfield/Lynnfield System Management Registers + d156 Clarksfield/Lynnfield Semaphore and Scratchpad Registers + d157 Clarksfield/Lynnfield System Control and Status Registers + d158 Clarksfield/Lynnfield Miscellaneous Registers +80ee InnoTek Systemberatung GmbH + beef VirtualBox Graphics Adapter + cafe VirtualBox Guest Service +8384 Sigmatel + 7618 High Definition Audio Codec + 7670 9770 High Definition Audio + 7672 9772 High Definition Audio +8401 TRENDware International Inc. +8686 ScaleMP + 1010 vSMPowered system controller [vSMP CTL] +8800 Trigem Computer Inc. + 2008 Video assistent component +8866 T-Square Design Inc. +8888 Silicon Magic +8912 TRX +# 8c4a is not Winbond but there is a board misprogrammed +8c4a Winbond + 1980 W89C940 misprogrammed [ne2k] +8e0e Computone Corporation +8e2e KTI + 3000 ET32P2 +9004 Adaptec + 0078 AHA-2940U_CN + 1078 AIC-7810 + 1160 AIC-1160 [Family Fibre Channel Adapter] + 2178 AIC-7821 + 3860 AHA-2930CU + 3b78 AHA-4844W/4844UW + 5075 AIC-755x + 5078 AHA-7850 + 9004 7850 AHA-2904/Integrated AIC-7850 + 5175 AIC-755x + 5178 AIC-7851 + 5275 AIC-755x + 5278 AIC-7852 + 5375 AIC-755x + 5378 AIC-7850 + 5475 AIC-755x + 5478 AIC-7850 + 5575 AVA-2930 + 5578 AIC-7855 + 5647 ANA-7711 TCP Offload Engine + 9004 7710 ANA-7711F TCP Offload Engine - Optical + 9004 7711 ANA-7711LP TCP Offload Engine - Copper + 5675 AIC-755x + 5678 AIC-7856 + 5775 AIC-755x + 5778 AIC-7850 + 5800 AIC-5800 + 5900 ANA-5910/5930/5940 ATM155 & 25 LAN Adapter + 5905 ANA-5910A/5930A/5940A ATM Adapter + 6038 AIC-3860 + 6075 AIC-1480 / APA-1480 + 9004 7560 AIC-1480 / APA-1480 Cardbus + 6078 AIC-7860 + 6178 AIC-7861 + 9004 7861 AHA-2940AU Single + 6278 AIC-7860 + 6378 AIC-7860 + 6478 AIC-786x + 6578 AIC-786x + 6678 AIC-786x + 6778 AIC-786x + 6915 ANA620xx/ANA69011A + 9004 0008 ANA69011A/TX 10/100 + 9004 0009 ANA69011A/TX 10/100 + 9004 0010 ANA62022 2-port 10/100 + 9004 0018 ANA62044 4-port 10/100 + 9004 0019 ANA62044 4-port 10/100 + 9004 0020 ANA62022 2-port 10/100 + 9004 0028 ANA69011A/TX 10/100 + 9004 8008 ANA69011A/TX 64 bit 10/100 + 9004 8009 ANA69011A/TX 64 bit 10/100 + 9004 8010 ANA62022 2-port 64 bit 10/100 + 9004 8018 ANA62044 4-port 64 bit 10/100 + 9004 8019 ANA62044 4-port 64 bit 10/100 + 9004 8020 ANA62022 2-port 64 bit 10/100 + 9004 8028 ANA69011A/TX 64 bit 10/100 + 7078 AHA-294x / AIC-7870 + 7178 AHA-2940/2940W / AIC-7871 + 7278 AHA-3940/3940W / AIC-7872 + 7378 AHA-3985 / AIC-7873 + 7478 AHA-2944/2944W / AIC-7874 + 7578 AHA-3944/3944W / AIC-7875 + 7678 AHA-4944W/UW / AIC-7876 + 7710 ANA-7711F Network Accelerator Card (NAC) - Optical + 7711 ANA-7711C Network Accelerator Card (NAC) - Copper + 7778 AIC-787x + 7810 AIC-7810 + 7815 AIC-7815 RAID+Memory Controller IC + 9004 7815 ARO-1130U2 RAID Controller + 9004 7840 AIC-7815 RAID+Memory Controller IC + 7850 AIC-7850 + 7855 AHA-2930 + 7860 AIC-7860 + 7870 AIC-7870 + 7871 AHA-2940 + 7872 AHA-3940 + 7873 AHA-3980 + 7874 AHA-2944 + 7880 AIC-7880P + 7890 AIC-7890 + 7891 AIC-789x + 7892 AIC-789x + 7893 AIC-789x + 7894 AIC-789x + 7895 AHA-2940U/UW / AHA-39xx / AIC-7895 + 9004 7890 AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B + 9004 7891 AHA-2940U/2940UW Dual + 9004 7892 AHA-3940AU/AUW/AUWD/UWD + 9004 7894 AHA-3944AUWD + 9004 7895 AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B + 9004 7896 AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B + 9004 7897 AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B + 7896 AIC-789x + 7897 AIC-789x + 8078 AIC-7880U + 9004 7880 AIC-7880P Ultra/Ultra Wide SCSI Chipset + 8178 AHA-2940U/UW/D / AIC-7881U + 9004 7881 AHA-2940UW SCSI Host Adapter + 8278 AHA-3940U/UW/UWD / AIC-7882U + 8378 AHA-3940U/UW / AIC-7883U + 8478 AHA-2944UW / AIC-7884U + 8578 AHA-3944U/UWD / AIC-7885 + 8678 AHA-4944UW / AIC-7886 + 8778 AHA-2940UW Pro / AIC-788x + 9004 7887 2940UW Pro Ultra-Wide SCSI Controller + 8878 AHA-2930UW / AIC-7888 + 9004 7888 AHA-2930UW SCSI Controller + 8b78 ABA-1030 + ec78 AHA-4944W/UW +9005 Adaptec + 0010 AHA-2940U2/U2W + 9005 2180 AHA-2940U2 SCSI Controller + 9005 8100 AHA-2940U2B SCSI Controller + 9005 a100 AHA-2940U2B SCSI Controller + 9005 a180 AHA-2940U2W SCSI Controller + 9005 e100 AHA-2950U2B SCSI Controller + 0011 AHA-2930U2 + 0013 78902 + 9005 0003 AAA-131U2 Array1000 1 Channel RAID Controller + 9005 000f AIC7890_ARO + 001f AHA-2940U2/U2W / 7890/7891 + 9005 000f 2940U2W SCSI Controller + 9005 a180 2940U2W SCSI Controller + 0020 AIC-7890 + 002f AIC-7890 + 0030 AIC-7890 + 003f AIC-7890 + 0050 AHA-3940U2x/395U2x + 9005 f500 AHA-3950U2B + 9005 ffff AHA-3950U2B + 0051 AHA-3950U2D + 9005 b500 AHA-3950U2D + 0053 AIC-7896 SCSI Controller + 9005 ffff AIC-7896 SCSI Controller mainboard implementation + 005f AIC-7896U2/7897U2 + 0080 AIC-7892A U160/m + 0e11 e2a0 Compaq 64-Bit/66MHz Wide Ultra3 SCSI Adapter + 9005 6220 AHA-29160C + 9005 62a0 29160N Ultra160 SCSI Controller + 9005 e220 29160LP Low Profile Ultra160 SCSI Controller + 9005 e2a0 29160 Ultra160 SCSI Controller + 0081 AIC-7892B U160/m + 9005 62a1 19160 Ultra160 SCSI Controller + 0083 AIC-7892D U160/m + 008f AIC-7892P U160/m + 1179 0001 Magnia Z310 + 15d9 9005 Onboard SCSI Host Adapter + 0092 AVC-2010 [VideoH!] + 0093 AVC-2410 [VideoH!] + 00c0 AHA-3960D / AIC-7899A U160/m + 0e11 f620 Compaq 64-Bit/66MHz Dual Channel Wide Ultra3 SCSI Adapter + 9005 f620 AHA-3960D U160/m + 00c1 AIC-7899B U160/m + 00c3 AIC-7899D U160/m + 00c5 RAID subsystem HBA + 1028 00c5 PowerEdge 2400,2500,2550,4400 + 00cf AIC-7899P U160/m + 1028 00ce PowerEdge 1400 + 1028 00d1 PowerEdge 2550 + 1028 00d9 PowerEdge 2500 + 10f1 2462 Thunder K7 S2462 + 15d9 9005 Onboard SCSI Host Adapter + 8086 3411 SDS2 Mainboard + 0241 Serial ATA II RAID 1420SA + 0242 Serial ATA II RAID 1220SA + 0243 Serial ATA II RAID 1430SA + 0250 ServeRAID Controller + 1014 0279 ServeRAID-xx + 1014 028c ServeRAID-xx + 0279 ServeRAID 6M + 0283 AAC-RAID + 9005 0283 Catapult + 0284 AAC-RAID + 9005 0284 Tomcat + 0285 AAC-RAID + 0e11 0295 SATA 6Ch (Bearcat) + 1014 02f2 ServeRAID 8i + 1028 0287 PowerEdge Expandable RAID Controller 320/DC + 1028 0291 CERC SATA RAID 2 PCI SATA 6ch (DellCorsair) + 103c 3227 AAR-2610SA + 108e 0286 STK RAID INT + 108e 0287 STK RAID EXT + 108e 7aac STK RAID REM + 108e 7aae STK RAID EX + 15d9 02b5 AOC-USAS-S4i + 15d9 02b6 AOC-USAS-S8i + 15d9 02c9 AOC-USAS-S4iR + 15d9 02ca AOC-USAS-S8iR + 17aa 0286 Legend S220 (Legend Crusader) + 17aa 0287 Legend S230 (Legend Vulcan) + 9005 0285 2200S (Vulcan) + 9005 0286 2120S (Crusader) + 9005 0287 2200S (Vulcan-2m) + 9005 0288 3230S (Harrier) + 9005 0289 3240S (Tornado) +# Some early versions reported 2020S + 9005 028a ASR-2020ZCR +# Some early versions reported 2025S + 9005 028b ASR-2025ZCR (Terminator) + 9005 028e ASR-2020SA (Skyhawk) + 9005 028f ASR-2025SA + 9005 0290 AAR-2410SA PCI SATA 4ch (Jaguar II) + 9005 0292 AAR-2810SA PCI SATA 8ch (Corsair-8) + 9005 0293 AAR-21610SA PCI SATA 16ch (Corsair-16) + 9005 0294 ESD SO-DIMM PCI-X SATA ZCR (Prowler) + 9005 0296 ASR-2240S + 9005 0297 ASR-4005SAS + 9005 0298 ASR-4000 + 9005 0299 ASR-4800SAS + 9005 029a 4805SAS + 9005 02a4 ICP ICP9085LI + 9005 02a5 ICP ICP5085BR + 9005 02b5 ASR5800 + 9005 02b6 ASR5805 + 9005 02b7 ASR5808 + 9005 02b8 ICP5445SL + 9005 02b9 ICP5085SL + 9005 02ba ICP5805SL + 9005 02bb 3405 + 9005 02bc 3805 + 9005 02bd 31205 + 9005 02be 31605 + 9005 02bf ICP ICP5045BL + 9005 02c0 ICP ICP5085BL + 9005 02c1 ICP ICP5125BR + 9005 02c2 ICP ICP5165BR + 9005 02c3 51205 + 9005 02c4 51605 + 9005 02c5 ICP ICP5125SL + 9005 02c6 ICP ICP5165SL + 9005 02c7 3085 + 9005 02c8 ICP5805BL + 9005 02ce 51245 + 9005 02cf 51645 + 9005 02d0 52445 + 9005 02d1 5405 + 0286 AAC-RAID (Rocket) + 1014 034d 8s + 1014 9540 ServeRAID 8k/8k-l4 + 1014 9580 ServeRAID 8k/8k-l8 + 9005 028c ASR-2230S + ASR-2230SLP PCI-X (Lancer) + 9005 028d ASR-2130S + 9005 029b ASR-2820SA + 9005 029c ASR-2620SA + 9005 029d ASR-2420SA + 9005 029e ICP ICP9024R0 + 9005 029f ICP ICP9014R0 + 9005 02a0 ICP ICP9047MA + 9005 02a1 ICP ICP9087MA + 9005 02a2 3800 + 9005 02a3 ICP ICP5445AU + 9005 02a4 ICP ICP9085LI + 9005 02a5 ICP ICP5085BR + 9005 02a6 ICP9067MA + 9005 02a7 3805 + 9005 02a8 3400 + 9005 02a9 ICP ICP5085AU + 9005 02aa ICP ICP5045AU + 9005 02ac 1800 + 9005 02b3 2400 + 9005 02b4 ICP ICP5045AL + 9005 0800 Callisto + 0410 AIC-9410W SAS (Razor HBA RAID) + 9005 0410 ASC-48300(Spirit RAID) + 9005 0411 ASC-58300 (Oakmont RAID) + 0412 AIC-9410W SAS (Razor HBA non-RAID) + 9005 0412 ASC-48300 (Spirit non-RAID) + 9005 0413 ASC-58300 (Oakmont non-RAID) + 0415 ASC-58300 SAS (Razor-External HBA RAID) + 0416 ASC-58300 SAS (Razor-External HBA non-RAID) + 041e AIC-9410W SAS (Razor ASIC non-RAID) + 041f AIC-9410W SAS (Razor ASIC RAID) + 9005 041f AIC-9410W SAS (Razor ASIC RAID) + 0430 AIC-9405W SAS (Razor-Lite HBA RAID) + 9005 0430 ASC-44300 (Spirit-Lite RAID) + 0432 AIC-9405W SAS (Razor-Lite HBA non-RAID) + 9005 0432 ASC-44300 (Spirit-Lite non-RAID) + 043e AIC-9405W SAS (Razor-Lite ASIC non-RAID) + 043f AIC-9405W SAS (Razor-Lite ASIC RAID) + 0500 Obsidian chipset SCSI controller + 1014 02c1 PCI-X DDR 3Gb SAS Adapter (572A/572C) + 1014 02c2 PCI-X DDR 3Gb SAS RAID Adapter (572B/572D) + 0503 Scamp chipset SCSI controller + 1014 02bf Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571E) + 1014 02c3 PCI-X DDR 3Gb SAS RAID Adapter (572F) + 1014 02d5 Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571F) + 0910 AUA-3100B + 091e AUA-3100B + 8000 ASC-29320A U320 + 800f AIC-7901 U320 + 8010 ASC-39320 U320 + 8011 ASC-39320D + 0e11 00ac ASC-39320D U320 + 9005 0041 ASC-39320D U320 + 8012 ASC-29320 U320 + 8013 ASC-29320B U320 + 8014 ASC-29320LP U320 + 8015 ASC-39320B U320 + 8016 ASC-39320A U320 + 8017 ASC-29320ALP U320 + 9005 0044 ASC-29320ALP PCIx U320 + 9005 0045 ASC-29320LPE PCIe U320 + 801c ASC-39320D U320 + 801d AIC-7902B U320 + 1014 02cc ServeRAID 7e + 801e AIC-7901A U320 + 801f AIC-7902 U320 + 1734 1011 Primergy RX300 + 8080 ASC-29320A U320 w/HostRAID + 808f AIC-7901 U320 w/HostRAID + 8090 ASC-39320 U320 w/HostRAID + 8091 ASC-39320D U320 w/HostRAID + 8092 ASC-29320 U320 w/HostRAID + 8093 ASC-29320B U320 w/HostRAID + 8094 ASC-29320LP U320 w/HostRAID + 8095 ASC-39320(B) U320 w/HostRAID + 8096 ASC-39320A U320 w/HostRAID + 8097 ASC-29320ALP U320 w/HostRAID + 809c ASC-39320D(B) U320 w/HostRAID + 809d AIC-7902(B) U320 w/HostRAID + 1014 02cc ServeRAID 7e + 809e AIC-7901A U320 w/HostRAID + 809f AIC-7902 U320 w/HostRAID +907f Atronics + 2015 IDE-2015PL +919a Gigapixel Corp +9412 Holtek + 6565 6565 +9699 Omni Media Technology Inc + 6565 6565 +9710 NetMos Technology + 7780 USB IRDA-port + 9805 PCI 1 port parallel adapter + 9815 PCI 9815 Multi-I/O Controller + 1000 0020 2P0S (2 port parallel adaptor) + 9835 PCI 9835 Multi-I/O Controller + 1000 0002 2S (16C550 UART) + 1000 0012 1P2S + 9845 PCI 9845 Multi-I/O Controller + 1000 0004 0P4S (4 port 16550A serial card) + 1000 0006 0P6S (6 port 16550a serial card) + 9855 PCI 9855 Multi-I/O Controller + 1000 0014 1P4S +9902 Stargen Inc. + 0001 SG2010 PCI over Starfabric Bridge + 0002 SG2010 PCI to Starfabric Gateway + 0003 SG1010 Starfabric Switch and PCI Bridge +a0a0 AOPEN Inc. +a0f1 UNISYS Corporation +a200 NEC Corporation +a259 Hewlett Packard +a25b Hewlett Packard GmbH PL24-MKT +a304 Sony +a727 3Com Corporation + 0013 3CRPAG175 Wireless PC Card +aa42 Scitex Digital Video +ac1e Digital Receiver Technology Inc +ac3d Actuality Systems +aecb Adrienne Electronics Corporation + 6250 VITC/LTC Timecode Reader card [PCI-VLTC/RDR] +affe Sirrix AG security technologies + 02e1 PCI2E1 2-port ISDN E1 interface + dead Sirrix.PCI4S0 4-port ISDN S0 interface +# Not registered officially +b10b Uakron PCI Project +b1b3 Shiva Europe Limited +# Pinnacle should be 11bd, but they got it wrong several times --mj +bd11 Pinnacle Systems, Inc. (Wrong ID) +c001 TSI Telsys +c0a9 Micron/Crucial Technology +c0de Motorola +c0fe Motion Engineering, Inc. +ca50 Varian Australia Pty Ltd +cafe Chrysalis-ITS + 0003 Luna K3 Hardware Security Module +cccc Catapult Communications +ccec Curtiss-Wright Controls Embedded Computing +cddd Tyzx, Inc. + 0101 DeepSea 1 High Speed Stereo Vision Frame Grabber + 0200 DeepSea 2 High Speed Stereo Vision Frame Grabber +d161 Digium, Inc. + 0120 Wildcard TE120P single-span T1/E1/J1 card + 0205 Wildcard TE205P dual-span T1/E1/J1 card 5.0V + 0210 Wildcard TE210P dual-span T1/E1/J1 card 3.3V + 0405 Wildcard TE405P quad-span T1/E1/J1 card 5.0V + 0410 Wildcard TE410P quad-span T1/E1/J1 card 3.3V + 0800 Wildcard TDM800P 8-port analog card + 2400 Wildcard TDM2400P 24-port analog card + 3400 Wildcard TC400P transcoder base card + b410 Wildcard B410 quad-BRI card +d4d4 Dy4 Systems Inc + 0601 PCI Mezzanine Card +d531 I+ME ACTIA GmbH +d84d Exsys +dead Indigita Corporation +deaf Middle Digital Inc. + 9050 PC Weasel Virtual VGA + 9051 PC Weasel Serial Port + 9052 PC Weasel Watchdog Timer +e000 Winbond + e000 W89C940 +e159 Tiger Jet Network Inc. + 0001 Tiger3XX Modem/ISDN interface + 0059 0001 128k ISDN-S/T Adapter + 0059 0003 128k ISDN-U Adapter + 00a7 0001 TELES.S0/PCI 2.x ISDN Adapter + 8086 0003 Digium X100P/X101P analogue PSTN FXO interface + 0002 Tiger100APC ISDN chipset +e4bf EKF Elektronik GmbH +e55e Essence Technology, Inc. +ea01 Eagle Technology + 000a PCI-773 Temperature Card + 0032 PCI-730 & PC104P-30 Card + 003e PCI-762 Opto-Isolator Card + 0041 PCI-763 Reed Relay Card + 0043 PCI-769 Opto-Isolator Reed Relay Combo Card + 0046 PCI-766 Analog Output Card + 0052 PCI-703 Analog I/O Card + 0800 PCI-800 Digital I/O Card +# The main chip of all these devices is by Xilinx -> It could also be a Xilinx ID. +ea60 RME + 9896 Digi32 + 9897 Digi32 Pro + 9898 Digi32/8 +eabb Aashima Technology B.V. +eace Endace Measurement Systems, Ltd + 3100 DAG 3.10 OC-3/OC-12 + 3200 DAG 3.2x OC-3/OC-12 + 320e DAG 3.2E Fast Ethernet + 340e DAG 3.4E Fast Ethernet + 341e DAG 3.41E Fast Ethernet + 3500 DAG 3.5 OC-3/OC-12 + 351c DAG 3.5ECM Fast Ethernet + 4100 DAG 4.10 OC-48 + 4110 DAG 4.11 OC-48 + 4220 DAG 4.2 OC-48 + 422e DAG 4.2E Dual Gigabit Ethernet +ec80 Belkin Corporation + ec00 F5D6000 +ecc0 Echo Digital Audio Corporation +edd8 ARK Logic Inc + a091 1000PV [Stingray] + a099 2000PV [Stingray] + a0a1 2000MT + a0a9 2000MI +f1d0 AJA Video + c0fe Xena HS/HD-R + c0ff Kona/Xena 2 + cafe Kona SD + cfee Xena LS/SD-22-DA/SD-DA + dcaf Kona HD + dfee Xena HD-DA + efac Xena SD-MM/SD-22-MM + facd Xena HD-MM +fa57 Interagon AS + 0001 PMC [Pattern Matching Chip] +fab7 Fabric7 Systems, Inc. +febd Ultraview Corp. +# Nee Epigram +feda Broadcom Inc + a0fa BCM4210 iLine10 HomePNA 2.0 + a10e BCM4230 iLine10 HomePNA 2.0 +fede Fedetec Inc. + 0003 TABIC PCI v3 +fffd XenSource, Inc. + 0101 PCI Event Channel Controller +fffe VMWare Inc + 0405 Virtual SVGA 4.0 + 0710 Virtual SVGA +ffff Illegal Vendor ID + + +# List of known device classes, subclasses and programming interfaces + +# Syntax: +# C class class_name +# subclass subclass_name <-- single tab +# prog-if prog-if_name <-- two tabs + +C 00 Unclassified device + 00 Non-VGA unclassified device + 01 VGA compatible unclassified device +C 01 Mass storage controller + 00 SCSI storage controller + 01 IDE interface + 02 Floppy disk controller + 03 IPI bus controller + 04 RAID bus controller + 05 ATA controller + 20 ADMA single stepping + 30 ADMA continuous operation + 06 SATA controller + 00 Vendor specific + 01 AHCI 1.0 + 07 Serial Attached SCSI controller + 80 Mass storage controller +C 02 Network controller + 00 Ethernet controller + 01 Token ring network controller + 02 FDDI network controller + 03 ATM network controller + 04 ISDN controller + 05 WorldFip controller + 06 PICMG controller + 80 Network controller +C 03 Display controller + 00 VGA compatible controller + 00 VGA controller + 01 8514 controller + 01 XGA compatible controller + 02 3D controller + 80 Display controller +C 04 Multimedia controller + 00 Multimedia video controller + 01 Multimedia audio controller + 02 Computer telephony device + 03 Audio device + 80 Multimedia controller +C 05 Memory controller + 00 RAM memory + 01 FLASH memory + 80 Memory controller +C 06 Bridge + 00 Host bridge + 01 ISA bridge + 02 EISA bridge + 03 MicroChannel bridge + 04 PCI bridge + 00 Normal decode + 01 Subtractive decode + 05 PCMCIA bridge + 06 NuBus bridge + 07 CardBus bridge + 08 RACEway bridge + 00 Transparent mode + 01 Endpoint mode + 09 Semi-transparent PCI-to-PCI bridge + 40 Primary bus towards host CPU + 80 Secondary bus towards host CPU + 0a InfiniBand to PCI host bridge + 80 Bridge +C 07 Communication controller + 00 Serial controller + 00 8250 + 01 16450 + 02 16550 + 03 16650 + 04 16750 + 05 16850 + 06 16950 + 01 Parallel controller + 00 SPP + 01 BiDir + 02 ECP + 03 IEEE1284 + fe IEEE1284 Target + 02 Multiport serial controller + 03 Modem + 00 Generic + 01 Hayes/16450 + 02 Hayes/16550 + 03 Hayes/16650 + 04 Hayes/16750 + 04 GPIB controller + 05 Smard Card controller + 80 Communication controller +C 08 Generic system peripheral + 00 PIC + 00 8259 + 01 ISA PIC + 02 EISA PIC + 10 IO-APIC + 20 IO(X)-APIC + 01 DMA controller + 00 8237 + 01 ISA DMA + 02 EISA DMA + 02 Timer + 00 8254 + 01 ISA Timer + 02 EISA Timers + 03 RTC + 00 Generic + 01 ISA RTC + 04 PCI Hot-plug controller + 05 SD Host controller + 80 System peripheral +C 09 Input device controller + 00 Keyboard controller + 01 Digitizer Pen + 02 Mouse controller + 03 Scanner controller + 04 Gameport controller + 00 Generic + 10 Extended + 80 Input device controller +C 0a Docking station + 00 Generic Docking Station + 80 Docking Station +C 0b Processor + 00 386 + 01 486 + 02 Pentium + 10 Alpha + 20 Power PC + 30 MIPS + 40 Co-processor +C 0c Serial bus controller + 00 FireWire (IEEE 1394) + 00 Generic + 10 OHCI + 01 ACCESS Bus + 02 SSA + 03 USB Controller + 00 UHCI + 10 OHCI + 20 EHCI + 80 Unspecified + fe USB Device + 04 Fibre Channel + 05 SMBus + 06 InfiniBand + 07 IPMI SMIC interface + 08 SERCOS interface + 09 CANBUS +C 0d Wireless controller + 00 IRDA controller + 01 Consumer IR controller + 10 RF controller + 11 Bluetooth + 12 Broadband + 20 802.1a controller + 21 802.1b controller + 80 Wireless controller +C 0e Intelligent controller + 00 I2O +C 0f Satellite communications controller + 01 Satellite TV controller + 02 Satellite audio communication controller + 03 Satellite voice communication controller + 04 Satellite data communication controller +C 10 Encryption controller + 00 Network and computing encryption device + 10 Entertainment encryption device + 80 Encryption controller +C 11 Signal processing controller + 00 DPIO module + 01 Performance counters + 10 Communication synchronizer + 20 Signal processing management + 80 Signal processing controller diff --git a/pcilib.man b/pcilib.man new file mode 100644 index 0000000..6cf5682 --- /dev/null +++ b/pcilib.man @@ -0,0 +1,109 @@ +.TH pcilib 7 "@TODAY@" "@VERSION@" "The PCI Utilities" +.IX pcilib +.SH NAME +pcilib \- a library for accessing PCI devices + +.SH DESCRIPTION + +The PCI library (also known as \fIpcilib\fP and \fIlibpci\fP) is a portable library +for accessing PCI devices and their configuration space. + +.SH ACCESS METHODS + +.PP +The library supports a variety of methods to access the configuration space +on different operating systems. By default, the first matching method in this +list is used, but you can specify override the decision (see the \fB-A\fP switch +of \fIlspci\fP). + +.TP +.B linux-sysfs +The +.B /sys +filesystem on Linux 2.6 and newer. The standard header of the config space is available +to all users, the rest only to root. Supports extended configuration space, PCI domains +and information on attached kernel drivers. +.TP +.B linux-proc +The +.B /proc/bus/pci +interface supported by Linux 2.1 and newer. The standard header of the config space is available +to all users, the rest only to root. +.TP +.B intel-conf1 +Direct hardware access via Intel configuration mechanism 1. Available on i386 and compatibles +on Linux, Solaris/x86, GNU Hurd and Windows. Requires root privileges. +.TP +.B intel-conf2 +Direct hardware access via Intel configuration mechanism 2. Available on i386 and compatibles +on Linux, Solaris/x86, GNU Hurd and Windows. Requires root privileges. Warning: This method +is able to address only the first 16 devices on any bus and it seems to be very +unreliable in many cases. +.TP +.B fbsd-device +The +.B /dev/pci +device on FreeBSD. Requires root privileges. +.TP +.B aix-device +Access method used on AIX. Requires root privileges. +.TP +.B nbsd-libpci +The +.B /dev/pci0 +device on NetBSD accessed using the local libpci library. +.TP +.B obsd-device +The +.B /dev/pci +device on OpenBSD. Requires root privileges. +.TP +.B dump +Read the contents of configuration registers from a file specified in the +.B dump.name +parameter. The format corresponds to the output of \fIlspci\fP \fB-x\fP. + +.SH PARAMETERS + +.PP +The library is controlled by several parameters. They should have sensible default +values, but in case you want to do something unusual (or even something weird), +you can override them (see the \fB-O\fP switch of \fIlspci\fP). + +.SS Parameters of specific access methods + +.TP +.B dump.name +Name of the bus dump file to read from. +.TP +.B fbsd.path +Path to the FreeBSD PCI device. +.TP +.B nbsd.path +Path to the NetBSD PCI device. +.TP +.B obsd.path +Path to the OpenBSD PCI device. +.TP +.B proc.path +Path to the procfs bus tree. +.TP +.B sysfs.path +Path to the sysfs device tree. + +.SS Parameters for resolving of ID's via DNS +.TP +.B net.domain +DNS domain containing the ID database. +.TP +.B net.cache_name +Name of the file used for caching of resolved ID's. + +.SH SEE ALSO + +.BR lspci (8), +.BR setpci (8), +.BR update-pciids (8) + +.SH AUTHOR +The PCI Utilities are maintained by Martin Mares . diff --git a/pcimodules.c b/pcimodules.c new file mode 100644 index 0000000..e2d0164 --- /dev/null +++ b/pcimodules.c @@ -0,0 +1,185 @@ +/* + * pcimodules: Load all kernel modules for PCI device currently + * plugged into any PCI slot. + * + * Copyright 2000 Yggdrasil Computing, Incorporated + * This file may be copied under the terms and conditions of version + * two of the GNU General Public License, as published by the Free + * Software Foundation (Cambridge, Massachusetts, USA). + * + * This file is based on pciutils/lib/example.c, which has the following + * authorship and copyright statement: + * + * Written by Martin Mares and put to public domain. You can do + * with it anything you want, but I don't give you any warranty. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define _GNU_SOURCE +#include + +#include "pciutils.h" + +const char program_name[] = "pcimodules"; + +#define MODDIR "/lib/modules" +#define PCIMAP "modules.pcimap" + +#define LINELENGTH 8000 + +#define DEVICE_ANY 0xffffffff +#define VENDOR_ANY 0xffffffff + +#include "lib/pci.h" + +struct pcimap_entry { + unsigned int vendor, subsys_vendor, dev, subsys_dev, class, class_mask; + char *module; + struct pcimap_entry *next; +}; + +static struct pcimap_entry *pcimap_list = NULL; + +#define OPT_STRING "h" +static struct option long_options[] = { + {"class", required_argument, NULL, 'c'}, + {"classmask", required_argument, NULL, 'm'}, + {"help", no_argument, NULL, 'h'}, + { 0, 0, 0, 0} +}; + +static unsigned long desired_class; +static unsigned long desired_classmask; /* Default is 0: accept all classes.*/ + +void +read_pcimap(void) +{ + struct utsname utsname; + char filename[MAXPATHLEN]; + FILE *pcimap_file; + char line[LINELENGTH]; + struct pcimap_entry *entry; + unsigned int driver_data; + char *prevmodule = ""; + char module[LINELENGTH]; + + if (uname(&utsname) < 0) { + perror("uname"); + exit(1); + } + sprintf(filename, "%s/%s/%s", MODDIR, utsname.release, PCIMAP); + if ((pcimap_file = fopen(filename, "r")) == NULL) { + perror(filename); + exit(1); + } + + while(fgets(line, LINELENGTH, pcimap_file) != NULL) { + if (line[0] == '#') + continue; + + entry = xmalloc(sizeof(struct pcimap_entry)); + + if (sscanf(line, "%s 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x", + module, + &entry->vendor, &entry->dev, + &entry->subsys_vendor, &entry->subsys_dev, + &entry->class, &entry->class_mask, + &driver_data) != 8) { + fprintf (stderr, + "modules.pcimap unparsable line: %s.\n", line); + free(entry); + continue; + } + + /* Optimize memory allocation a bit, in case someday we + have Linux systems with ~100,000 modules. It also + allows us to just compare pointers to avoid trying + to load a module twice. */ + if (strcmp(module, prevmodule) != 0) { + prevmodule = xmalloc(strlen(module)+1); + strcpy(prevmodule, module); + } + entry->module = prevmodule; + entry->next = pcimap_list; + pcimap_list = entry; + } + fclose(pcimap_file); +} + +/* Return a filled in pci_access->dev tree, with the device classes + stored in dev->aux. +*/ +static void +match_pci_modules(void) +{ + struct pci_access *pacc; + struct pci_dev *dev; + unsigned int class, subsys_dev, subsys_vendor; + struct pcimap_entry *map; + const char *prevmodule = ""; + + pacc = pci_alloc(); /* Get the pci_access structure */ + /* Set all options you want -- here we stick with the defaults */ + pci_init(pacc); /* Initialize the PCI library */ + pci_scan_bus(pacc); /* We want to get the list of devices */ + for(dev=pacc->devices; dev; dev=dev->next) { + pci_fill_info(dev, PCI_FILL_IDENT | PCI_FILL_BASES); + class = (pci_read_word(dev, PCI_CLASS_DEVICE) << 8) + | pci_read_byte(dev, PCI_CLASS_PROG); + subsys_dev = pci_read_word(dev, PCI_SUBSYSTEM_ID); + subsys_vendor = pci_read_word(dev,PCI_SUBSYSTEM_VENDOR_ID); + for(map = pcimap_list; map != NULL; map = map->next) { + if (((map->class ^ class) & map->class_mask) == 0 && + ((desired_class ^ class) & desired_classmask)==0 && + (map->dev == DEVICE_ANY || + map->dev == dev->device_id) && + (map->vendor == VENDOR_ANY || + map->vendor == dev->vendor_id) && + (map->subsys_dev == DEVICE_ANY || + map->subsys_dev == subsys_dev) && + (map->subsys_vendor == VENDOR_ANY || + map->subsys_vendor == subsys_vendor) && + prevmodule != map->module) { + printf("%s\n", map->module); + prevmodule = map->module; + } + } + + } + pci_cleanup(pacc); +} + +int +main (int argc, char **argv) +{ + int opt_index = 0; + int opt; + + while ((opt = getopt_long(argc, argv, OPT_STRING, long_options, + &opt_index)) != -1) { + switch(opt) { + case 'c': + desired_class = strtol(optarg, NULL, 0); + break; + case 'm': + desired_classmask = strtol(optarg, NULL, 0); + break; + case 'h': + printf ("Usage: pcimodules [--help]\n" + " Lists kernel modules corresponding to PCI devices currently plugged" + " into the computer.\n"); + } + } + + read_pcimap(); + match_pci_modules(); + return 0; +} diff --git a/pcimodules.man b/pcimodules.man new file mode 100644 index 0000000..d7943c9 --- /dev/null +++ b/pcimodules.man @@ -0,0 +1,92 @@ +.TH pcimodules 8 "@TODAY@" "@VERSION@" "Linux PCI Utilities" +.IX pcimodules +.SH NAME +pcimodules \- List kernel driver modules available for all currently plugged +in PCI devices +.SH SYNOPSIS +.B pcimodules +.RB [ --class class_id ] +.RB [ --classmask mask ] +.RB [ --help ] +.SH DESCRIPTION +.B pcimodules +lists all driver modules for all currently plugged in PCI devices. +.B pcimodules +should be run at boot time, and whenever a PCI device is "hot plugged" +into the system. This can be done by the following Bourne shell syntax: +.IP + for module in $(pcimodules) ; do +.IP + modprobe -s -k "$module" +.IP + done +.PP +When a PCI device is removed from the system, the Linux kernel will +decrement a usage count on PCI driver module. If this count drops +to zero (i.e., there are no PCI drivers), then the +.B modprobe -r +process that is normally configured to run from cron every few minutes +will eventually remove the unneeded module. +.PP +The --class and --classmask arguments can be used to limit the search +to certain classes of PCI devices. This is useful, for example, to +generate a list of ethernet card drivers to be loaded when the kernel +has indicated that it is trying to resolve an unknown network interface. +.PP +Modules are listed in the order in which the PCI devices are physically +arranged so that the computer owner can arrange things like having scsi +device 0 be on a controller that is not alphabetically the first scsi +controller. +.SH OPTIONS +.TP +.B --class class --classmask mask +.PP +--class and --classmask limit the search to PCI +cards in particular classes. These arguments are always used together. +The arguments to --class and --classmask +can be given as hexadecimal numbers by prefixing a leading "0x". +Note that the classes used by pcimodules are in "Linux" format, +meaning the class value that you see with lspci would be shifted +left eight bits, with the new low eight bits programming interface ID. +An examples of how to use class and classmask is provided below. +.B --help, -h +Print a help message and exit. +.SH EXAMPLES +.TP +pcimodules +lists all modules corresponding to currently plugged in PCI devices. +.TP +pcimodules --class 0x20000 --classmask 0xffff00 +lists all modules corresponding to currently plugged in ethernet PCI devices. +.SH FILES +.TP +.B /lib/modules//modules.pcimap +This file is automatically generated by +.B depmod, +and used by +.B pcimodules +to determine which modules correspond to which PCI ID's. +.TP +.B /proc/bus/pci +An interface to PCI bus configuration space provided by the post-2.1.82 Linux +kernels. Contains per-bus subdirectories with per-card config space files and a +.I devices +file containing a list of all PCI devices. + +.SH SEE ALSO +.BR lspci (8) + +.SH MAINTAINER +The Linux PCI Utilities are maintained by Martin Mares . + +.SH AUTHOR +.B pcimodules +was written by Adam J. Richter , based on public +domain example code by Martin Mares . + +.SH COPYRIGHT +.B pcimodules +is copyright 2000, Yggdrasil Computing, Incorporated, and may +be copied under the terms and conditions of version 2 of the GNU +General Public License as published by the Free Software Foundation +(Cambridge, Massachusetts, United States of America). diff --git a/pciutils.h b/pciutils.h new file mode 100644 index 0000000..67b586f --- /dev/null +++ b/pciutils.h @@ -0,0 +1,45 @@ +/* + * The PCI Utilities -- Declarations + * + * Copyright (c) 1997--2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include "lib/pci.h" +#include "lib/sysdep.h" + +#ifdef PCI_OS_WINDOWS +#include "compat/getopt.h" +#endif + +#define PCIUTILS_VERSION PCILIB_VERSION + +extern const char program_name[]; + +void die(char *msg, ...) NONRET PCI_PRINTF(1,2); +void *xmalloc(unsigned int howmuch); +void *xrealloc(void *ptr, unsigned int howmuch); +int parse_generic_option(int i, struct pci_access *pacc, char *optarg); + +#ifdef PCI_HAVE_PM_INTEL_CONF +#define GENOPT_INTEL "H:" +#define GENHELP_INTEL "-H \tUse direct hardware access ( = 1 or 2)\n" +#else +#define GENOPT_INTEL +#define GENHELP_INTEL +#endif +#if defined(PCI_HAVE_PM_DUMP) && !defined(PCIUTILS_SETPCI) +#define GENOPT_DUMP "F:" +#define GENHELP_DUMP "-F \tRead PCI configuration dump from a given file\n" +#else +#define GENOPT_DUMP +#define GENHELP_DUMP +#endif + +#define GENERIC_OPTIONS "A:GO:" GENOPT_INTEL GENOPT_DUMP +#define GENERIC_HELP \ + "-A \tUse the specified PCI access method (see `-A help' for a list)\n" \ + "-O =\tSet PCI access parameter (see `-O help' for a list)\n" \ + "-G\t\tEnable PCI access debugging\n" \ + GENHELP_INTEL GENHELP_DUMP diff --git a/pciutils.lsm b/pciutils.lsm new file mode 100644 index 0000000..0898a63 --- /dev/null +++ b/pciutils.lsm @@ -0,0 +1,14 @@ +Begin3 +Title: The PCI Utilities +Version: 3.0.0 +Entered-date: 080410 +Description: This package contains various utilities for inspecting and + setting of devices connected to the PCI bus. +Keywords: kernel, pci, lspci, setpci, libpci +Author: mj@ucw.cz (Martin Mares) +Maintained-by: mj@ucw.cz (Martin Mares) +Primary-site: atrey.karlin.mff.cuni.cz pub/linux/pci/pciutils-3.0.0.tar.gz +Alternate-site: ftp.kernel.org pub/software/utils/pciutils/pciutils-3.0.0.tar.gz +Alternate-site: metalab.unc.edu pub/Linux/hardware/pciutils-3.0.0.tar.gz +Copying-policy: GPL +End diff --git a/pciutils.spec b/pciutils.spec new file mode 100644 index 0000000..58e8c0c --- /dev/null +++ b/pciutils.spec @@ -0,0 +1,49 @@ +Name: pciutils +Version: 3.0.0 +Release: 1 +Source: ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci/%{name}-%{version}.tar.gz +Copyright: GNU GPL +Buildroot: /tmp/%{name}-%{version}-root +ExclusiveOS: Linux +Summary: The PCI Utilities +Summary(pl): Narzêdzia do manipulacji ustawieniami urz±dzeñ PCI +Group: Utilities/System + +%description +This package contains various utilities for inspecting and +setting of devices connected to the PCI bus. + +%description -l pl +Pakiet zawiera narzêdzia do ustawiania i odczytywania informacji +o urz±dzeniach pod³±czonych do szyny PCI w Twoim komputerze. + +%description -l de +Dieses Paket enthält verschiedene Programme zum Anzeigen und +Einstellen von PCI-Bus Erweiterungen. + +%prep +%setup -q + +%build +make OPT="$RPM_OPT_FLAGS" + +%install +rm -rf $RPM_BUILD_ROOT +make install PREFIX=$RPM_BUILD_ROOT/usr ROOT=$RPM_BUILD_ROOT/ \ + MANDIR=$RPM_BUILD_ROOT/%{_mandir} + +%files +%defattr(0644, root, root, 0755) +%attr(0644, root, man) %{_mandir}/man8/* +%attr(0711, root, root) /usr/sbin/* +%config /usr/share/pci.ids +%doc README ChangeLog pciutils.lsm + +%clean +rm -rf $RPM_BUILD_ROOT + +%changelog +* Tue Sep 29 1998 Krzysztof G. Baranowski +[1.07-1] +- build from non-root account against glibc-2.0 +- written spec from scratch diff --git a/setpci.c b/setpci.c new file mode 100644 index 0000000..3ebbaee --- /dev/null +++ b/setpci.c @@ -0,0 +1,513 @@ +/* + * The PCI Utilities -- Manipulate PCI Configuration Registers + * + * Copyright (c) 1998--2008 Martin Mares + * + * Can be freely distributed and used under the terms of the GNU GPL. + */ + +#include +#include +#include +#include +#include + +#define PCIUTILS_SETPCI +#include "pciutils.h" + +static int force; /* Don't complain if no devices match */ +static int verbose; /* Verbosity level */ +static int demo_mode; /* Only show */ + +const char program_name[] = "setpci"; + +static struct pci_access *pacc; + +struct value { + unsigned int value; + unsigned int mask; +}; + +struct op { + struct op *next; + struct pci_dev **dev_vector; + unsigned int addr; + unsigned int width; /* Byte width of the access */ + int num_values; /* Number of values to write; <0=read */ + struct value values[0]; +}; + +static struct op *first_op, **last_op = &first_op; +static unsigned int max_values[] = { 0, 0xff, 0xffff, 0, 0xffffffff }; + +static struct pci_dev ** +select_devices(struct pci_filter *filt) +{ + struct pci_dev *z, **a, **b; + int cnt = 1; + + for(z=pacc->devices; z; z=z->next) + if (pci_filter_match(filt, z)) + cnt++; + a = b = xmalloc(sizeof(struct device *) * cnt); + for(z=pacc->devices; z; z=z->next) + if (pci_filter_match(filt, z)) + *a++ = z; + *a = NULL; + return b; +} + +static void +exec_op(struct op *op, struct pci_dev *dev) +{ + char *formats[] = { NULL, "%02x", "%04x", NULL, "%08x" }; + char *mask_formats[] = { NULL, "%02x->(%02x:%02x)->%02x", "%04x->(%04x:%04x)->%04x", NULL, "%08x->(%08x:%08x)->%08x" }; + unsigned int x, y; + int i, addr; + int width = op->width; + + if (verbose) + printf("%02x:%02x.%x:%02x", dev->bus, dev->dev, dev->func, op->addr); + addr = op->addr; + if (op->num_values >= 0) + { + for(i=0; inum_values; i++) + { + if ((op->values[i].mask & max_values[width]) == max_values[width]) + { + x = op->values[i].value; + if (verbose) + { + putchar(' '); + printf(formats[width], op->values[i].value); + } + } + else + { + switch (width) + { + case 1: + y = pci_read_byte(dev, addr); + break; + case 2: + y = pci_read_word(dev, addr); + break; + default: + y = pci_read_long(dev, addr); + break; + } + x = (y & ~op->values[i].mask) | op->values[i].value; + if (verbose) + { + putchar(' '); + printf(mask_formats[width], y, op->values[i].value, op->values[i].mask, x); + } + } + if (!demo_mode) + { + switch (width) + { + case 1: + pci_write_byte(dev, addr, x); + break; + case 2: + pci_write_word(dev, addr, x); + break; + default: + pci_write_long(dev, addr, x); + break; + } + } + addr += width; + } + if (verbose) + putchar('\n'); + } + else + { + if (verbose) + printf(" = "); + switch (width) + { + case 1: + x = pci_read_byte(dev, addr); + break; + case 2: + x = pci_read_word(dev, addr); + break; + default: + x = pci_read_long(dev, addr); + break; + } + printf(formats[width], x); + putchar('\n'); + } +} + +static void +execute(struct op *op) +{ + struct pci_dev **vec = NULL; + struct pci_dev **pdev, *dev; + struct op *oops; + + while (op) + { + pdev = vec = op->dev_vector; + while (dev = *pdev++) + for(oops=op; oops && oops->dev_vector == vec; oops=oops->next) + exec_op(oops, dev); + while (op && op->dev_vector == vec) + op = op->next; + } +} + +static void +scan_ops(struct op *op) +{ + while (op) + { + if (op->num_values >= 0) + pacc->writeable = 1; + op = op->next; + } +} + +struct reg_name { + unsigned int offset; + unsigned int width; + const char *name; +}; + +static const struct reg_name pci_reg_names[] = { + { 0x00, 2, "VENDOR_ID", }, + { 0x02, 2, "DEVICE_ID", }, + { 0x04, 2, "COMMAND", }, + { 0x06, 2, "STATUS", }, + { 0x08, 1, "REVISION", }, + { 0x09, 1, "CLASS_PROG", }, + { 0x0a, 2, "CLASS_DEVICE", }, + { 0x0c, 1, "CACHE_LINE_SIZE", }, + { 0x0d, 1, "LATENCY_TIMER", }, + { 0x0e, 1, "HEADER_TYPE", }, + { 0x0f, 1, "BIST", }, + { 0x10, 4, "BASE_ADDRESS_0", }, + { 0x14, 4, "BASE_ADDRESS_1", }, + { 0x18, 4, "BASE_ADDRESS_2", }, + { 0x1c, 4, "BASE_ADDRESS_3", }, + { 0x20, 4, "BASE_ADDRESS_4", }, + { 0x24, 4, "BASE_ADDRESS_5", }, + { 0x28, 4, "CARDBUS_CIS", }, + { 0x2c, 4, "SUBSYSTEM_VENDOR_ID", }, + { 0x2e, 2, "SUBSYSTEM_ID", }, + { 0x30, 4, "ROM_ADDRESS", }, + { 0x3c, 1, "INTERRUPT_LINE", }, + { 0x3d, 1, "INTERRUPT_PIN", }, + { 0x3e, 1, "MIN_GNT", }, + { 0x3f, 1, "MAX_LAT", }, + { 0x18, 1, "PRIMARY_BUS", }, + { 0x19, 1, "SECONDARY_BUS", }, + { 0x1a, 1, "SUBORDINATE_BUS", }, + { 0x1b, 1, "SEC_LATENCY_TIMER", }, + { 0x1c, 1, "IO_BASE", }, + { 0x1d, 1, "IO_LIMIT", }, + { 0x1e, 2, "SEC_STATUS", }, + { 0x20, 2, "MEMORY_BASE", }, + { 0x22, 2, "MEMORY_LIMIT", }, + { 0x24, 2, "PREF_MEMORY_BASE", }, + { 0x26, 2, "PREF_MEMORY_LIMIT", }, + { 0x28, 4, "PREF_BASE_UPPER32", }, + { 0x2c, 4, "PREF_LIMIT_UPPER32", }, + { 0x30, 2, "IO_BASE_UPPER16", }, + { 0x32, 2, "IO_LIMIT_UPPER16", }, + { 0x38, 4, "BRIDGE_ROM_ADDRESS", }, + { 0x3e, 2, "BRIDGE_CONTROL", }, + { 0x10, 4, "CB_CARDBUS_BASE", }, + { 0x14, 2, "CB_CAPABILITIES", }, + { 0x16, 2, "CB_SEC_STATUS", }, + { 0x18, 1, "CB_BUS_NUMBER", }, + { 0x19, 1, "CB_CARDBUS_NUMBER", }, + { 0x1a, 1, "CB_SUBORDINATE_BUS", }, + { 0x1b, 1, "CB_CARDBUS_LATENCY", }, + { 0x1c, 4, "CB_MEMORY_BASE_0", }, + { 0x20, 4, "CB_MEMORY_LIMIT_0", }, + { 0x24, 4, "CB_MEMORY_BASE_1", }, + { 0x28, 4, "CB_MEMORY_LIMIT_1", }, + { 0x2c, 2, "CB_IO_BASE_0", }, + { 0x2e, 2, "CB_IO_BASE_0_HI", }, + { 0x30, 2, "CB_IO_LIMIT_0", }, + { 0x32, 2, "CB_IO_LIMIT_0_HI", }, + { 0x34, 2, "CB_IO_BASE_1", }, + { 0x36, 2, "CB_IO_BASE_1_HI", }, + { 0x38, 2, "CB_IO_LIMIT_1", }, + { 0x3a, 2, "CB_IO_LIMIT_1_HI", }, + { 0x40, 2, "CB_SUBSYSTEM_VENDOR_ID", }, + { 0x42, 2, "CB_SUBSYSTEM_ID", }, + { 0x44, 4, "CB_LEGACY_MODE_BASE", }, + { 0x00, 0, NULL } +}; + +static void NONRET PCI_PRINTF(1,2) +usage(char *msg, ...) +{ + va_list args; + va_start(args, msg); + if (msg) + { + fprintf(stderr, "setpci: "); + vfprintf(stderr, msg, args); + fprintf(stderr, "\n\n"); + } + fprintf(stderr, +"Usage: setpci [] (+ [=]*)*\n" +"\n" +"General options:\n" +"-f\t\tDon't complain if there's nothing to do\n" +"-v\t\tBe verbose\n" +"-D\t\tList changes, don't commit them\n" +"\n" +"PCI access options:\n" +GENERIC_HELP +"\n" +"Setting commands:\n" +":\t-s [[[]:][]:][][.[]]\n" +"\t|\t-d []:[]\n" +":\t\t[.(B|W|L)]\n" +" |\t\t\n" +":\t[,...]\n" +":\t\n" +" |\t:\n"); + exit(1); +} + +int +main(int argc, char **argv) +{ + enum { STATE_INIT, STATE_GOT_FILTER, STATE_GOT_OP } state = STATE_INIT; + struct pci_filter filter; + struct pci_dev **selected_devices = NULL; + char *opts = GENERIC_OPTIONS ; + + if (argc == 2 && !strcmp(argv[1], "--version")) + { + puts("setpci version " PCIUTILS_VERSION); + return 0; + } + argc--; + argv++; + + pacc = pci_alloc(); + pacc->error = die; + + while (argc && argv[0][0] == '-') + { + char *c = argv[0]+1; + char *d = c; + char *e; + while (*c) + switch (*c) + { + case 'v': + verbose++; + c++; + break; + case 'f': + force++; + c++; + break; + case 'D': + demo_mode++; + c++; + break; + case 0: + break; + default: + if (e = strchr(opts, *c)) + { + char *arg; + c++; + if (e[1] == ':') + { + if (*c) + arg = c; + else if (argc > 1) + { + arg = argv[1]; + argc--; argv++; + } + else + usage(NULL); + c = ""; + } + else + arg = NULL; + if (!parse_generic_option(*e, pacc, arg)) + usage(NULL); + } + else + { + if (c != d) + usage(NULL); + goto next; + } + } + argc--; + argv++; + } +next: + + pci_init(pacc); + pci_scan_bus(pacc); + + while (argc) + { + char *c = argv[0]; + char *d, *e, *f; + int n, i; + struct op *op; + unsigned long ll; + unsigned int lim; + + if (*c == '-') + { + if (!c[1] || !strchr("sd", c[1])) + usage(NULL); + if (c[2]) + d = (c[2] == '=') ? c+3 : c+2; + else if (argc > 1) + { + argc--; + argv++; + d = argv[0]; + } + else + usage(NULL); + if (state != STATE_GOT_FILTER) + { + pci_filter_init(pacc, &filter); + state = STATE_GOT_FILTER; + } + switch (c[1]) + { + case 's': + if (d = pci_filter_parse_slot(&filter, d)) + die("-s: %s", d); + break; + case 'd': + if (d = pci_filter_parse_id(&filter, d)) + die("-d: %s", d); + break; + default: + usage(NULL); + } + } + else if (state == STATE_INIT) + usage(NULL); + else + { + if (state == STATE_GOT_FILTER) + selected_devices = select_devices(&filter); + if (!selected_devices[0] && !force) + fprintf(stderr, "setpci: Warning: No devices selected for `%s'.\n", c); + state = STATE_GOT_OP; + /* look for setting of values and count how many */ + d = strchr(c, '='); + if (d) + { + *d++ = 0; + if (!*d) + usage("Missing value"); + for(e=d, n=1; *e; e++) + if (*e == ',') + n++; + op = xmalloc(sizeof(struct op) + n*sizeof(struct value)); + } + else + { + n = -1; + op = xmalloc(sizeof(struct op)); + } + op->dev_vector = selected_devices; + op->num_values = n; + e = strchr(c, '.'); + if (e) + { + *e++ = 0; + if (e[1]) + usage("Missing width"); + switch (*e & 0xdf) + { + case 'B': + op->width = 1; break; + case 'W': + op->width = 2; break; + case 'L': + op->width = 4; break; + default: + usage("Invalid width \"%c\"", *e); + } + } + else + op->width = 1; + ll = strtol(c, &f, 16); + if (f && *f) + { + const struct reg_name *r; + for(r = pci_reg_names; r->name; r++) + if (!strcasecmp(r->name, c)) + break; + if (!r->name) + usage("Unknown register \"%s\"", c); + if (e && op->width != r->width) + usage("Explicit width doesn't correspond with the named register \"%s\"", c); + ll = r->offset; + op->width = r->width; + } + if (ll > 0x1000 || ll + op->width*((n < 0) ? 1 : n) > 0x1000) + die("Register number out of range!"); + if (ll & (op->width - 1)) + die("Unaligned register address!"); + op->addr = ll; + /* read in all the values to be set */ + for(i=0; iwidth]; + if (f && *f && *f != ':') + usage("Invalid value \"%s\"", d); + if (ll > lim && ll < ~0UL - lim) + usage("Value \"%s\" is out of range", d); + op->values[i].value = ll; + if (f && *f == ':') + { + d = ++f; + ll = strtoul(d, &f, 16); + if (f && *f) + usage("Invalid mask \"%s\"", d); + if (ll > lim && ll < ~0UL - lim) + usage("Mask \"%s\" is out of range", d); + op->values[i].mask = ll; + op->values[i].value &= ll; + } + else + op->values[i].mask = ~0U; + d = e; + } + *last_op = op; + last_op = &op->next; + op->next = NULL; + } + argc--; + argv++; + } + if (state == STATE_INIT) + usage("No operation specified"); + + scan_ops(first_op); + execute(first_op); + + return 0; +} diff --git a/setpci.man b/setpci.man new file mode 100644 index 0000000..d682c37 --- /dev/null +++ b/setpci.man @@ -0,0 +1,207 @@ +.TH setpci 8 "@TODAY@" "@VERSION@" "The PCI Utilities" +.IX setpci +.SH NAME +setpci \- configure PCI devices +.SH SYNOPSIS +.B setpci +.RB [ options ] +.B devices +.BR operations ... + +.SH DESCRIPTION +.PP +.B setpci +is a utility for querying and configuring PCI devices. + +All numbers are entered in hexadecimal notation. + +Root privileges are necessary for almost all operations, excluding reads +of the standard header of the configuration space on some operating systems. +Please see +.BR lspci(8) +for details on access rights. + +.SH OPTIONS + +.SS General options +.TP +.B -v +Tells +.I setpci +to be verbose and display detailed information about configuration space accesses. +.TP +.B -f +Tells +.I setpci +not to complain when there's nothing to do (when no devices are selected). +This option is intended for use in widely-distributed configuration scripts +where it's uncertain whether the device in question is present in the machine +or not. +.TP +.B -D +`Demo mode' -- don't write anything to the configuration registers. +It's useful to try +.B setpci -vD +to see what your complex sequence of +.B setpci +operations does before you actually execute it. +.TP +.B --version +Shows +.I setpci +version. This option should be used stand-alone. + +.SS PCI access options +.PP +The PCI utilities use the PCI library to talk to PCI devices (see +\fBpcilib\fP(7) for details). You can use the following options to +influence its behavior: +.TP +.B -A +The library supports a variety of methods to access the PCI hardware. +By default, it uses the first access method available, but you can use +this option to override this decision. See \fB-A help\fP for a list of +available methods and their descriptions. +.TP +.B -O = +The behavior of the library is controlled by several named parameters. +This option allows to set the value of any of the parameters. Use \fB-O help\fP +for a list of known parameters and their default values. +.TP +.B -H1 +Use direct hardware access via Intel configuration mechanism 1. +(This is a shorthand for \fB-A intel-conf1\fP.) +.TP +.B -H2 +Use direct hardware access via Intel configuration mechanism 2. +(This is a shorthand for \fB-A intel-conf2\fP.) +.TP +.B -G +Increase debug level of the library. + +.SH DEVICE SELECTION +.PP +Before each sequence of operations you need to select which devices you wish that +operation to affect. +.TP +.B -s [[[[]:]]:][][.[]] +Show only devices in the specified domain (in case your machine has several host bridges, +they can either share a common bus number space or each of them can address a PCI domain +of its own; domains are numbered from 0 to ffff), bus (0 to ff), slot (0 to 1f) and function (0 to 7). +Each component of the device address can be omitted or set to "*", both meaning "any value". All numbers are +hexadecimal. E.g., "0:" means all devices on bus 0, "0" means all functions of device 0 +on any bus, "0.3" selects third function of device 0 on all buses and ".4" shows only +the fourth function of each device. +.TP +.B -d []:[] +Select devices with specified vendor and device ID. Both ID's are given in +hexadecimal and may be omitted or given as "*", both meaning "any value". + +.SH OPERATIONS +.PP +To query value of a configuration register, just name it (either by typing its name or +by typing register address with optional +.BR .B , +.B .W +or +.B .L +suffix specifying register width as byte, word or longword). +.PP +To set a register, write +.BR reg = values +where +.B reg +is the same as you would use to query the register and +.B values +is a comma-separated list of values you want to write starting with the given +address. Each value to be written can be specified either as a hexadecimal number +or as a +.BR bits : mask +pair which causes the bits corresponding to binary ones in the +.B mask +to be changed to values of the corresponding bits in the +.B bits +. + +.SH REGISTER NAMES +.PP +.B setpci +knows the following configuration register names. See PCI bus specifications for their precise +meaning or consult +.B header.h +or +.B /usr/include/linux/pci.h +for a couple of comments. +.PP +.nf +VENDOR_ID +DEVICE_ID +COMMAND +STATUS +REVISION +CLASS_PROG +CLASS_DEVICE +CACHE_LINE_SIZE +LATENCY_TIMER +HEADER_TYPE +BIST +BASE_ADDRESS_0 +BASE_ADDRESS_1 +BASE_ADDRESS_2 +BASE_ADDRESS_3 +BASE_ADDRESS_4 +BASE_ADDRESS_5 +CARDBUS_CIS +SUBSYSTEM_VENDOR_ID +SUBSYSTEM_ID +ROM_ADDRESS +INTERRUPT_LINE +INTERRUPT_PIN +MIN_GNT +MAX_LAT +PRIMARY_BUS +SECONDARY_BUS +SUBORDINATE_BUS +SEC_LATENCY_TIMER +IO_BASE +IO_LIMIT +SEC_STATUS +MEMORY_BASE +MEMORY_LIMIT +PREF_MEMORY_BASE +PREF_MEMORY_LIMIT +PREF_BASE_UPPER32 +PREF_LIMIT_UPPER32 +IO_BASE_UPPER16 +IO_LIMIT_UPPER16 +BRIDGE_ROM_ADDRESS +BRIDGE_CONTROL +CB_CARDBUS_BASE +CB_CAPABILITIES +CB_SEC_STATUS +CB_BUS_NUMBER +CB_CARDBUS_NUMBER +CB_SUBORDINATE_BUS +CB_CARDBUS_LATENCY +CB_MEMORY_BASE_0 +CB_MEMORY_LIMIT_0 +CB_MEMORY_BASE_1 +CB_MEMORY_LIMIT_1 +CB_IO_BASE_0 +CB_IO_BASE_0_HI +CB_IO_LIMIT_0 +CB_IO_LIMIT_0_HI +CB_IO_BASE_1 +CB_IO_BASE_1_HI +CB_IO_LIMIT_1 +CB_IO_LIMIT_1_HI +CB_SUBSYSTEM_VENDOR_ID +CB_SUBSYSTEM_ID +CB_LEGACY_MODE_BASE + +.SH SEE ALSO +.BR lspci (8), +.BR pcilib (7) + +.SH AUTHOR +The PCI Utilities are maintained by Martin Mares . diff --git a/tests/PCI-X-bridges-and-domains b/tests/PCI-X-bridges-and-domains new file mode 100644 index 0000000..94bbcbb --- /dev/null +++ b/tests/PCI-X-bridges-and-domains @@ -0,0 +1,558 @@ +0000:00:01.0 Co-processor: IBM: Unknown device 00e0 (rev 01) +00: 14 10 e0 00 46 00 20 02 01 ff 40 0b 00 48 80 00 +10: 08 00 70 fd 08 00 80 fd 08 00 00 f4 08 00 00 f8 +20: 00 00 00 00 00 00 00 00 00 00 00 00 14 10 e1 00 +30: 00 00 00 00 00 00 00 00 00 00 00 00 ff 01 00 00 +40: ff ff ff ff 00 00 00 00 eb 0f 00 00 00 00 00 00 +50: 4d 00 08 00 2f 00 00 00 00 00 00 00 00 00 00 00 +60: 81 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +0000:00:03.0 ISA bridge: Symphony Labs W83C553 (rev 10) +00: ad 10 65 05 07 00 00 02 10 00 01 06 00 00 80 00 +10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +40: 22 04 00 00 00 00 00 00 ff ff 00 00 00 00 01 02 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +80: e0 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 +90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +f0: 00 00 b5 03 01 01 00 00 00 00 00 00 00 00 00 00 + +0001:00:02.0 PCI bridge: IBM EADS-X PCI-X to PCI-X Bridge (rev 02) +00: 14 10 88 01 47 01 30 04 02 0f 04 06 20 f8 81 80 +10: 0c 00 ff ff 00 00 00 00 00 01 10 f8 01 f1 20 04 +20: 00 e0 f0 e3 01 00 01 00 00 00 00 00 00 00 00 00 +30: 00 00 00 00 a0 00 00 00 00 00 00 00 00 01 03 00 +40: 12 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: d1 10 00 00 00 55 55 01 55 aa 55 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 c0 00 04 00 00 00 00 +80: 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 +90: 44 44 44 44 00 00 00 00 44 44 44 44 00 00 00 00 +a0: 07 b0 03 00 10 00 03 00 00 00 00 00 00 00 00 00 +b0: 01 b8 0a 76 00 00 00 00 0c 00 00 00 01 00 01 01 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff +f0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff + +0001:00:02.2 PCI bridge: IBM EADS-X PCI-X to PCI-X Bridge (rev 02) +00: 14 10 88 01 47 01 30 04 02 0f 04 06 20 f8 81 80 +10: 0c 00 00 00 00 00 00 00 00 21 30 f8 01 f1 20 04 +20: 00 e4 f0 e7 01 00 01 00 00 00 00 00 00 00 00 00 +30: 01 00 01 00 a0 00 00 00 00 00 00 00 00 01 03 00 +40: 12 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: d1 30 00 00 00 55 55 01 55 aa 55 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 c0 00 04 00 00 00 00 +80: 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 +90: 44 44 44 44 00 00 00 00 44 44 44 44 00 00 00 00 +a0: 07 b0 00 00 12 00 03 00 00 00 00 00 00 00 00 00 +b0: 01 b8 0a 76 00 00 00 00 0c 00 00 00 01 00 01 01 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff +f0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff + +0001:00:02.3 PCI bridge: IBM EADS-X PCI-X to PCI-X Bridge (rev 02) +00: 14 10 88 01 47 01 30 04 02 0f 04 06 20 f8 81 80 +10: 0c 00 00 00 00 00 00 00 00 31 40 f8 01 f1 20 04 +20: 00 e8 f0 ef 01 00 01 00 00 00 00 00 00 00 00 00 +30: 02 00 02 00 a0 00 00 00 00 00 00 00 00 01 43 00 +40: 12 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: d1 40 00 00 00 55 55 01 55 aa 55 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 c0 00 04 00 00 00 00 +80: 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 +90: 44 44 44 44 00 00 00 00 44 44 44 44 00 00 00 00 +a0: 07 b0 00 00 13 00 03 00 00 00 00 00 00 00 00 00 +b0: 01 b8 0a 76 00 00 00 00 0c 00 00 00 01 00 01 01 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff +f0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff + +0001:00:02.4 PCI bridge: IBM EADS-X PCI-X to PCI-X Bridge (rev 02) +00: 14 10 88 01 47 01 30 04 02 0f 04 06 20 f8 81 80 +10: 0c 00 00 00 00 00 00 00 00 41 50 f8 01 f1 20 04 +20: 00 f0 f0 f7 01 00 01 00 00 00 00 00 00 00 00 00 +30: 03 00 03 00 a0 00 00 00 00 00 00 00 00 01 03 00 +40: 12 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: d1 50 00 00 00 55 55 01 55 aa 55 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 c0 00 04 00 00 00 00 +80: 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 +90: 44 44 44 44 00 00 00 00 44 44 44 44 00 00 00 00 +a0: 07 b0 03 00 14 00 03 00 00 00 00 00 00 00 00 00 +b0: 01 b8 0a 76 00 00 00 00 0c 00 00 00 01 00 01 01 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff +f0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff + +0001:00:02.6 PCI bridge: IBM EADS-X PCI-X to PCI-X Bridge (rev 02) +00: 14 10 88 01 47 01 30 04 02 0f 04 06 20 f8 81 80 +10: 0c 00 00 00 00 00 00 00 00 61 70 f8 01 f1 20 04 +20: 00 f8 e0 ff 01 00 01 00 00 00 00 00 00 00 00 00 +30: 04 00 04 00 a0 00 00 00 00 00 00 00 00 01 03 00 +40: 12 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: d1 70 00 00 00 55 55 01 55 aa 55 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 c0 00 04 00 00 00 00 +80: 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 +90: 44 44 44 44 00 00 00 00 44 44 44 44 00 00 00 00 +a0: 07 b0 03 00 16 00 03 00 00 00 00 00 00 00 00 00 +b0: 01 b8 0a 76 00 00 00 00 0c 00 00 00 01 00 01 01 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff +f0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff + +0001:01:01.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1010 66MHz Ultra3 SCSI Adapter (rev 01) +00: 00 10 21 00 57 01 30 02 01 00 00 01 20 4a 80 00 +10: 01 f8 00 00 04 50 00 e0 00 00 00 00 04 20 00 e0 +20: 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 10 +30: 00 00 00 00 40 00 00 00 00 00 00 00 73 01 11 12 +40: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +0001:01:01.1 SCSI storage controller: LSI Logic / Symbios Logic 53c1010 66MHz Ultra3 SCSI Adapter (rev 01) +00: 00 10 21 00 57 01 30 02 01 00 00 01 20 4a 80 00 +10: 01 fc 00 00 04 40 00 e0 00 00 00 00 04 00 00 e0 +20: 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 10 +30: 00 00 00 00 40 00 00 00 00 00 00 00 74 02 11 12 +40: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +0001:21:01.0 Ethernet controller: Intel Corporation 82557/8/9 [Ethernet Pro 100] (rev 0d) +00: 86 80 29 12 47 01 90 02 0d 00 00 02 00 4a 00 00 +10: 00 00 03 e4 01 ec 01 00 00 00 00 e4 00 00 00 00 +20: 00 00 00 00 00 00 00 00 00 00 00 00 14 10 ff 01 +30: 00 00 02 e4 dc 00 00 00 00 00 00 00 75 01 08 38 +40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 22 7e +e0: 00 40 00 4b 00 00 00 00 00 00 00 00 00 00 00 00 +f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +0001:41:01.0 Ethernet controller: Intel Corporation 82557/8/9 [Ethernet Pro 100] (rev 0d) +00: 86 80 29 12 47 01 90 02 0d 00 00 02 00 4a 00 00 +10: 00 00 03 f0 01 ec 03 00 00 00 00 f0 00 00 00 00 +20: 00 00 00 00 00 00 00 00 00 00 00 00 14 10 ff 01 +30: 00 00 02 f0 dc 00 00 00 00 00 00 00 77 01 08 38 +40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 22 7e +e0: 00 40 00 4b 00 00 00 00 00 00 00 00 00 00 00 00 +f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +0001:61:01.0 PCI bridge: Hint Corp HB6 Universal PCI-PCI bridge (non-transparent mode) (rev 13) +00: 88 33 21 00 47 01 90 02 13 00 04 06 08 4a 01 00 +10: 00 00 00 00 00 00 00 00 61 62 62 80 11 01 80 22 +20: 00 f8 00 fb 01 01 f1 00 00 00 00 00 00 00 00 00 +30: 00 01 00 01 80 00 00 00 00 00 00 00 69 00 00 00 +40: 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +80: 01 90 02 f6 00 00 00 00 00 00 00 00 00 00 00 00 +90: 06 a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 03 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 +b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +c0: 00 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +f0: 88 33 21 00 00 00 00 00 00 00 00 00 00 00 00 00 + +0001:62:00.0 VGA compatible controller: Matrox Graphics, Inc. G400/G450 (rev 85) +00: 2b 10 25 05 02 00 90 02 85 00 00 03 20 48 00 00 +10: 08 00 00 f8 00 00 80 fa 00 00 00 fa 00 00 00 00 +20: 00 00 00 00 00 00 00 00 00 00 00 00 14 10 33 02 +30: 00 00 00 fb dc 00 00 00 00 00 00 00 79 01 10 20 +40: 60 15 0a c0 00 3c 00 00 10 ff ff 11 00 00 00 00 +50: 00 ac 00 00 09 a4 90 00 04 00 00 80 00 00 00 00 +60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 01 f0 22 00 +e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +f0: 02 00 20 00 03 02 00 1f 00 00 00 00 00 00 00 00 + +0002:00:02.0 PCI bridge: IBM EADS-X PCI-X to PCI-X Bridge (rev 02) +00: 14 10 88 01 47 01 30 04 02 0f 04 06 20 f8 81 80 +10: 0c 00 ff ff 00 00 00 00 00 01 10 f8 01 f1 20 04 +20: 00 e0 f0 e7 01 00 01 00 00 00 00 00 00 00 00 00 +30: 00 00 00 00 a0 00 00 00 00 00 00 00 00 01 03 00 +40: 12 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: f1 11 00 00 00 11 11 01 11 ee 11 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 c0 00 04 00 00 00 00 +80: 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 +90: 44 44 44 44 00 00 00 00 44 44 44 44 00 00 00 00 +a0: 07 b0 c3 00 10 00 03 00 00 00 00 00 00 00 00 00 +b0: 01 b8 0a 76 00 00 00 00 0c 00 00 00 01 00 01 01 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff +f0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff + +0002:00:02.2 PCI bridge: IBM EADS-X PCI-X to PCI-X Bridge (rev 02) +00: 14 10 88 01 47 01 30 04 02 0f 04 06 20 f8 81 80 +10: 0c 00 00 00 00 00 00 00 00 21 30 f8 01 f1 20 04 +20: 00 e8 f0 ef 01 00 01 00 00 00 00 00 00 00 00 00 +30: 01 00 01 00 a0 00 00 00 00 00 00 00 00 01 43 00 +40: 12 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: f1 31 00 00 00 11 11 01 11 ee 11 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 c0 00 04 00 00 00 00 +80: 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 +90: 44 44 44 44 00 00 00 00 44 44 44 44 00 00 00 00 +a0: 07 b0 03 00 12 00 03 00 00 00 00 00 00 00 00 00 +b0: 01 b8 0a 76 00 00 00 00 0c 00 00 00 01 00 01 01 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff +f0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff + +0002:00:02.4 PCI bridge: IBM EADS-X PCI-X to PCI-X Bridge (rev 02) +00: 14 10 88 01 47 01 30 04 02 0f 04 06 20 f8 81 80 +10: 0c 00 00 00 00 00 00 00 00 41 50 f8 01 f1 20 04 +20: 00 f0 f0 f7 01 00 01 00 00 00 00 00 00 00 00 00 +30: 02 00 02 00 a0 00 00 00 00 00 00 00 00 01 03 00 +40: 12 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: f1 51 00 00 00 11 11 01 11 ee 11 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 c0 00 04 00 00 00 00 +80: 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 +90: 44 44 44 44 00 00 00 00 44 44 44 44 00 00 00 00 +a0: 07 b0 03 00 14 00 03 00 00 00 00 00 00 00 00 00 +b0: 01 b8 0a 76 00 00 00 00 0c 00 00 00 01 00 01 01 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff +f0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff + +0002:00:02.6 PCI bridge: IBM EADS-X PCI-X to PCI-X Bridge (rev 02) +00: 14 10 88 01 47 01 30 04 02 0f 04 06 20 f8 81 80 +10: 0c 00 00 00 00 00 00 00 00 61 70 f8 01 f1 20 04 +20: 00 f8 e0 ff 01 00 01 00 00 00 00 00 00 00 00 00 +30: 03 00 03 00 a0 00 00 00 00 00 00 00 00 01 43 00 +40: 12 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: f1 71 00 00 00 11 11 01 11 ee 11 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 c0 00 04 00 00 00 00 +80: 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 +90: 44 44 44 44 00 00 00 00 44 44 44 44 00 00 00 00 +a0: 07 b0 03 00 16 00 03 00 00 00 00 00 00 00 00 00 +b0: 01 b8 0a 76 00 00 00 00 0c 00 00 00 01 00 01 01 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff +f0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff + +0002:01:01.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01) +00: 86 80 0f 10 47 01 30 02 01 00 00 02 20 90 00 00 +10: 04 00 08 e0 00 00 00 00 04 00 04 e0 00 00 00 00 +20: 01 fc 00 00 00 00 00 00 00 00 00 00 14 10 69 02 +30: 00 00 00 e0 dc 00 00 00 00 00 00 00 83 01 ff 00 +40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 01 e4 22 00 +e0: 00 00 00 00 07 f0 08 00 08 01 43 04 00 00 00 00 +f0: 05 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 + +0002:41:01.0 PCI bridge: Intel Corporation 21154 PCI-to-PCI Bridge +00: 86 80 54 b1 47 01 90 02 00 00 04 06 20 4a 01 00 +10: 00 00 00 00 00 00 00 00 41 42 42 80 e1 e1 80 22 +20: 00 f0 40 f0 01 01 f1 00 00 00 00 00 00 00 00 00 +30: 02 00 02 00 dc 00 00 00 00 00 00 00 00 00 00 00 +40: 12 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: 00 00 00 00 00 00 00 f0 00 00 00 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 +e0: 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 +f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +0002:42:00.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 26) +00: 23 10 00 20 47 01 80 02 26 00 00 02 00 4a 00 00 +10: 01 e0 02 00 00 30 40 f0 00 00 00 00 00 00 00 00 +20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +30: 00 00 30 f0 00 00 00 00 00 00 00 00 87 01 06 ff +40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +0002:42:01.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 26) +00: 23 10 00 20 47 01 80 02 26 00 00 02 00 4a 00 00 +10: 01 e4 02 00 00 20 40 f0 00 00 00 00 00 00 00 00 +20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +30: 00 00 20 f0 00 00 00 00 00 00 00 00 88 01 06 ff +40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +0002:42:02.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 26) +00: 23 10 00 20 47 01 80 02 26 00 00 02 00 4a 00 00 +10: 01 e8 02 00 00 10 40 f0 00 00 00 00 00 00 00 00 +20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +30: 00 00 10 f0 00 00 00 00 00 00 00 00 87 01 06 ff +40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +0002:42:03.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 26) +00: 23 10 00 20 47 01 80 02 26 00 00 02 00 4a 00 00 +10: 01 ec 02 00 00 00 40 f0 00 00 00 00 00 00 00 00 +20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +30: 00 00 00 f0 00 00 00 00 00 00 00 00 88 01 06 ff +40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +0003:00:02.0 PCI bridge: IBM EADS-X PCI-X to PCI-X Bridge (rev 02) +00: 14 10 88 01 47 01 30 04 02 0f 04 06 20 f8 81 80 +10: 0c 00 ff ff 00 00 00 00 00 01 10 f8 01 f1 20 04 +20: 00 e0 f0 e7 01 00 01 00 00 00 00 00 00 00 00 00 +30: 00 00 00 00 a0 00 00 00 00 00 00 00 00 01 43 00 +40: 12 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: f1 11 00 00 00 04 04 00 04 fb 04 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 c0 00 04 00 00 00 00 +80: 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 +90: 44 44 44 44 00 00 00 00 44 44 44 44 00 00 00 00 +a0: 07 b0 03 00 10 00 03 00 00 00 00 00 00 00 00 00 +b0: 01 b8 0a 76 00 00 00 00 0c 00 00 00 01 00 01 01 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff +f0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff + +0003:00:02.2 PCI bridge: IBM EADS-X PCI-X to PCI-X Bridge (rev 02) +00: 14 10 88 01 47 01 30 04 02 0f 04 06 20 f8 81 80 +10: 0c 00 00 00 00 00 00 00 00 21 30 f8 01 f1 20 04 +20: 00 e8 f0 ef 01 00 01 00 00 00 00 00 00 00 00 00 +30: 01 00 01 00 a0 00 00 00 00 00 00 00 00 01 03 00 +40: 12 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: f1 31 00 00 00 04 04 00 04 fb 04 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 c0 00 04 00 00 00 00 +80: 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 +90: 44 44 44 44 00 00 00 00 44 44 44 44 00 00 00 00 +a0: 07 b0 03 00 12 00 03 00 00 00 00 00 00 00 00 00 +b0: 01 b8 0a 76 00 00 00 00 0c 00 00 00 01 00 01 01 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff +f0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff + +0003:00:02.6 PCI bridge: IBM EADS-X PCI-X to PCI-X Bridge (rev 02) +00: 14 10 88 01 47 01 30 04 02 0f 04 06 20 f8 81 80 +10: 0c 00 00 00 00 00 00 00 00 61 70 f8 01 f1 20 04 +20: 00 f0 f0 f7 01 00 01 00 00 00 00 00 00 00 00 00 +30: 02 00 02 00 a0 00 00 00 00 00 00 00 00 01 43 00 +40: 12 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: f1 71 00 00 00 04 04 00 04 fb 04 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 c0 00 04 00 00 00 00 +80: 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 +90: 44 44 44 44 00 00 00 00 44 44 44 44 00 00 00 00 +a0: 07 b0 03 00 16 00 03 00 00 00 00 00 00 00 00 00 +b0: 01 b8 0a 76 00 00 00 00 0c 00 00 00 01 00 01 01 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff +f0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff + +0003:21:01.0 Ethernet controller: Intel Corporation 82557/8/9 [Ethernet Pro 100] (rev 0d) +00: 86 80 29 12 47 01 90 02 0d 00 00 02 00 4a 00 00 +10: 00 00 03 e8 01 ec 01 00 00 00 00 e8 00 00 00 00 +20: 00 00 00 00 00 00 00 00 00 00 00 00 14 10 ff 01 +30: 00 00 02 e8 dc 00 00 00 00 00 00 00 a5 01 08 38 +40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 22 7e +e0: 00 40 00 4b 00 00 00 00 00 00 00 00 00 00 00 00 +f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +0004:00:02.0 PCI bridge: IBM EADS-X PCI-X to PCI-X Bridge (rev 02) +00: 14 10 88 01 47 01 30 04 02 0f 04 06 20 f8 81 80 +10: 0c 00 ff ff 00 00 00 00 00 01 10 f8 01 f1 20 04 +20: 00 e0 f0 e7 01 00 01 00 00 00 00 00 00 00 00 00 +30: 00 00 00 00 a0 00 00 00 00 00 00 00 00 01 03 00 +40: 12 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: f1 12 00 00 00 01 01 00 01 fe 01 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 c0 00 04 00 00 00 00 +80: 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 +90: 44 44 44 44 00 00 00 00 44 44 44 44 00 00 00 00 +a0: 07 b0 03 00 10 00 03 00 00 00 00 00 00 00 00 00 +b0: 01 b8 0a 76 00 00 00 00 0c 00 00 00 01 00 01 01 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff +f0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff + +0004:00:02.2 PCI bridge: IBM EADS-X PCI-X to PCI-X Bridge (rev 02) +00: 14 10 88 01 47 01 30 04 02 0f 04 06 20 f8 81 80 +10: 0c 00 00 00 00 00 00 00 00 21 30 f8 01 f1 20 04 +20: 00 e8 f0 ef 01 00 01 00 00 00 00 00 00 00 00 00 +30: 01 00 01 00 a0 00 00 00 00 00 00 00 00 01 43 00 +40: 12 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: f1 32 00 00 00 01 01 00 01 fe 01 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 c0 00 04 00 00 00 00 +80: 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 +90: 44 44 44 44 00 00 00 00 44 44 44 44 00 00 00 00 +a0: 07 b0 03 00 12 00 03 00 00 00 00 00 00 00 00 00 +b0: 01 b8 0a 76 00 00 00 00 0c 00 00 00 01 00 01 01 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff +f0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff + +0004:00:02.6 PCI bridge: IBM EADS-X PCI-X to PCI-X Bridge (rev 02) +00: 14 10 88 01 47 01 30 04 02 0f 04 06 20 f8 81 80 +10: 0c 00 00 00 00 00 00 00 00 61 70 f8 01 f1 20 04 +20: 00 f0 f0 f7 01 00 01 00 00 00 00 00 00 00 00 00 +30: 02 00 02 00 a0 00 00 00 00 00 00 00 00 01 43 00 +40: 12 00 03 01 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: f1 72 00 00 00 01 01 00 01 fe 01 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 c0 00 04 00 00 00 00 +80: 00 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 +90: 44 44 44 44 00 00 00 00 44 44 44 44 00 00 00 00 +a0: 07 b0 03 00 16 00 03 00 00 00 00 00 00 00 00 00 +b0: 01 b8 0a 76 00 00 00 00 0c 00 00 00 01 00 01 01 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff +f0: 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff + +0004:01:01.0 Ethernet controller: Intel Corporation 82557/8/9 [Ethernet Pro 100] (rev 0d) +00: 86 80 29 12 47 01 90 02 0d 00 00 02 00 4a 00 00 +10: 00 00 03 e0 01 fc 00 00 00 00 00 e0 00 00 00 00 +20: 00 00 00 00 00 00 00 00 00 00 00 00 14 10 ff 01 +30: 00 00 02 e0 dc 00 00 00 00 00 00 00 b3 01 08 38 +40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 22 7e +e0: 00 40 00 4b 00 00 00 00 00 00 00 00 00 00 00 00 +f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + diff --git a/tests/cap-MSI-mapping b/tests/cap-MSI-mapping new file mode 100644 index 0000000..30bd01d --- /dev/null +++ b/tests/cap-MSI-mapping @@ -0,0 +1,17 @@ +0a:01.0 PCI bridge: Broadcom HT2100 PCI-Express Bridge (rev a2) (prog-if 01 [Subtractive decode]) +00: 66 11 40 01 47 00 10 00 a2 01 04 06 40 00 01 00 +10: 00 00 00 00 00 00 00 00 0a 0b 0b 00 51 51 00 20 +20: 60 ff 60 ff f1 ff 01 00 ff ff ff ff 00 00 00 00 +30: 00 00 00 00 a0 00 00 00 00 00 00 00 00 01 01 00 +40: 00 00 00 00 01 00 01 00 01 00 00 00 00 00 01 00 +50: 08 00 a1 00 20 00 11 11 40 00 11 77 40 05 75 00 +60: 02 00 75 00 00 00 00 00 00 00 00 00 0c 05 03 03 +70: 00 00 00 00 00 00 00 00 0d 50 00 00 00 00 00 00 +80: 05 78 82 00 00 00 00 00 00 00 00 00 00 00 00 00 +90: 00 00 00 00 00 00 00 00 01 80 03 c8 08 00 00 00 +a0: 08 b0 01 a8 00 00 e0 fe 0f 00 00 00 00 00 00 00 +b0: 10 98 41 00 02 80 00 00 10 08 00 00 01 6d 1a 01 +c0: 08 00 81 20 00 00 08 00 c0 03 48 01 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +f0: 01 00 08 01 00 00 00 00 00 00 00 00 00 00 00 03 diff --git a/tests/cap-debug-port b/tests/cap-debug-port new file mode 100644 index 0000000..7b785ee --- /dev/null +++ b/tests/cap-debug-port @@ -0,0 +1,17 @@ +0000:00:02.1 USB Controller: nVidia Corporation CK804 USB Controller (rev a3) +00: de 10 5b 00 06 00 b0 00 a3 20 03 0c 00 00 80 00 +10: 00 00 b0 fe 00 00 00 00 00 00 00 00 00 00 00 00 +20: 00 00 00 00 00 00 00 00 00 00 00 00 62 14 85 71 +30: 00 00 00 00 44 00 00 00 00 00 00 00 03 02 03 01 +40: 62 14 85 71 0a 80 98 20 00 00 00 00 00 00 00 00 +50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +60: 20 20 01 00 00 60 18 85 03 3c 3f 01 00 00 00 00 +70: 00 00 08 05 00 10 20 80 89 3d b6 22 77 25 04 00 +80: 01 00 02 fe 00 00 00 00 00 00 00 00 15 16 00 00 +90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +a0: 01 00 00 00 00 00 08 c0 00 00 00 00 00 00 00 00 +b0: 00 11 22 33 44 00 00 00 ff 03 00 00 00 00 00 00 +c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +f0: 00 00 00 00 00 00 00 00 10 ff ff ff 00 00 30 07 diff --git a/update-pciids.man b/update-pciids.man new file mode 100644 index 0000000..6b1d65c --- /dev/null +++ b/update-pciids.man @@ -0,0 +1,34 @@ +.TH update-pciids 8 "@TODAY@" "@VERSION@" "The PCI Utilities" +.IX update-pciids + +.SH NAME +update-pciids \- download new version of the PCI ID list + +.SH SYNOPSIS +.B update-pciids +.RB [ -q ] + +.SH DESCRIPTION +.B update-pciids +fetches the current version of the pci.ids file from the primary distribution +site and installs it. + +This utility requires curl, wget or lynx to be installed. If gzip or bzip2 +are available, it automatically downloads the compressed version of the list. + +.SH OPTIONS +.TP +.B -q +Be quiet and do not report anything except errors. + +.SH FILES +.TP +.B @IDSDIR@/pci.ids +Here we install the new list. + +.SH SEE ALSO +.BR lspci (8), +.BR setpci (8) + +.SH AUTHOR +The PCI Utilities are maintained by Martin Mares . diff --git a/update-pciids.sh b/update-pciids.sh new file mode 100755 index 0000000..34ed2c8 --- /dev/null +++ b/update-pciids.sh @@ -0,0 +1,128 @@ +#!/bin/sh + +# update-pciids.sh is licensed under the GNU General Public License +# (GPL) version 2 or above. +# +# Copyright (C) 2008 Anibal Monsalve Salazar +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# Please read the "COPYING" file in the archive root, or visit +# http://www.gnu.org/licenses/gpl.html, for information about the GPL. +# +# This scipt is a rewrite of a script with the same name by +# Martin Mares. + +set -e + +#URL="http://pci-ids.ucw.cz/pci.ids" +URL="http://pciids.sourceforge.net/v2.2/pci.ids" +FILE="pci.ids" + +RM="/bin/rm" +MV="/bin/mv" +SED="/bin/sed" +GREP="/bin/grep" +GZIP="/bin/gzip" +ECHO="/bin/echo" +CHMOD="/bin/chmod" +GUNZIP="/bin/gunzip" +BUNZIP2="/bin/bunzip2" +TOUCH="/usr/bin/touch" +WGET="/usr/bin/wget" +CURL="/usr/bin/curl" +LYNX="/usr/bin/lynx" + +NEWFILE="$FILE.new" +OLDFILE="$FILE.old" + +if [ "$1" = "-q" ] +then + quiet="yes" +else + quiet="no" +fi + +if ! $TOUCH $NEWFILE > /dev/null 2>&1 +then + $ECHO >&2 "update-pciids: $NEWFILE is read-only" + exit 1 +fi + +[ -f $NEWFILE ] && $RM $NEWFILE +[ -f $NEWFILE.bz2 ] && $RM $NEWFILE.bz2 +[ -f $NEWFILE.gz ] && $RM $NEWFILE.gz + +if [ -x $BUNZIP2 ] +then + EXT=".bz2" + UNZIP=$BUNZIP2 +elif [ -x $GUNZIP ] +then + EXT=".gz" + UNZIP=$GUNZIP +else + $ECHO >&2 "update-pciids: cannot find bunzip2 or gunzip" + exit 1 +fi + +if [ -x $WGET ] +then + $WGET -nv -O $NEWFILE$EXT $URL$EXT > /dev/null 2>&1 +elif [ -x $CURL ] +then + $CURL -o $NEWFILE$EXT $URL$EXT > /dev/null 2>&1 +elif [ -x $LYNX ] +then + $LYNX -source $URL$EXT > $NEWFILE$EXT +else + $ECHO >&2 "update-pciids: cannot find wget, curl or lynx" + exit 1 +fi + +$UNZIP < $NEWFILE$EXT > $NEWFILE +$RM $NEWFILE$EXT + +if ! $GREP > /dev/null "^C " $NEWFILE +then + $ECHO >&2 "update-pciids: missing class info, probably truncated file" + exit 1 +fi + +date=$( $GREP -E "^#[[:space:]]Date:[[:space:]]*" $NEWFILE 2> /dev/null | $SED "s/^#[[:space:]]Date:[[:space:]]*//" ) + +if [ -z "$date" ] +then + $ECHO >&2 "update-pciids: missing snapshot date, probably truncated file" + exit 1 +fi + +if [ -f $FILE ] +then + [ -f $OLDFILE ] && $RM $OLDFILE + $MV $FILE $OLDFILE +fi + +$MV $NEWFILE $FILE +$TOUCH -d "$date" $FILE + +if [ -f $FILE.gz ] +then + [ -f $OLDFILE.gz ] && $RM $OLDFILE.gz + $MV $FILE.gz $OLDFILE.gz +fi + +if [ $quiet = "no" ] +then + $ECHO "Downloaded daily snapshot dated $date" +fi + +exit 0 diff --git a/win32/config.h b/win32/config.h new file mode 100644 index 0000000..7df065c --- /dev/null +++ b/win32/config.h @@ -0,0 +1,6 @@ +#define PCI_ARCH_I386 +#define PCI_OS_WINDOWS +#define PCI_HAVE_PM_INTEL_CONF +#define PCI_IDS "pci.ids" +#define PCI_PATH_IDS_DIR "." +#define PCILIB_VERSION "3.0.0" diff --git a/win32/config.mk b/win32/config.mk new file mode 100644 index 0000000..98240c0 --- /dev/null +++ b/win32/config.mk @@ -0,0 +1,10 @@ +# TOOLPREFIX is for cross compiling + +CC=$(TOOLPREFIX)gcc +LD=$(TOOLPREFIX)ld +AR=$(TOOLPREFIX)ar +RANLIB=$(TOOLPREFIX)ranlib + +PCI_ARCH_I386=yes +PCI_OS_WINDOWS=yes +PCI_HAVE_PM_INTEL_CONF=yes