This patch should be applied to an un-modified XFree86 version 4.7.0 source tree. It is patch 2 of 4 patches that will will convert the source tree to XFree86 version 4.8.0. To apply this patch, run the following from the directory containing your 'xc' directory: patch -p0 -E < XFree86-4.7.0-4.8.0.diff1 patch -p0 -E < XFree86-4.7.0-4.8.0.diff2 patch -p0 -E < XFree86-4.7.0-4.8.0.diff3 patch -p0 -E < XFree86-4.7.0-4.8.0.diff4 sh XFree86-4.7.0-4.8.0-cleanup.sh gzip -d < XFree86-4.7.0-4.8.0-diff0.tgz | tar vxf - ------------------------------------------------------------------------------- Prereq: 4.7.0 Index: xc/programs/Xserver/hw/xfree86/drivers/chips/util/Imakefile diff -u xc/programs/Xserver/hw/xfree86/drivers/chips/util/Imakefile:1.5 xc/programs/Xserver/hw/xfree86/drivers/chips/util/Imakefile:1.6 --- xc/programs/Xserver/hw/xfree86/drivers/chips/util/Imakefile:1.5 Fri Oct 14 08:16:38 2005 +++ xc/programs/Xserver/hw/xfree86/drivers/chips/util/Imakefile Thu Jun 19 10:09:45 2008 @@ -1,4 +1,4 @@ -XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/drivers/chips/util/Imakefile,v 1.5 2005/10/14 15:16:38 tsi Exp $ +XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/drivers/chips/util/Imakefile,v 1.6 2008/06/19 17:09:45 tsi Exp $ #include @@ -14,15 +14,14 @@ ProgramTargetName(memClock) INCLUDES = -I$(XF86COMSRC) -I$(XF86OSSRC) -I$(XF86SRC)/dummylib \ -I$(SERVERSRC)/include -LOCALLIBS = $(XF86OSSRC)/libxf86_os.a $(XF86SRC)/dummylib/libdummy.a LOCAL_LDFLAGS = -L$(XF86OSSRC) -lxf86_os -L$(XF86SRC)/dummylib -ldummy \ $(SERVEREXTRASYSLIBS) MathLibrary AllTarget($(PROGS)) -NormalProgramTarget(dRegs,dRegs.o,$(LOCALLIBS),$(LOCAL_LDFLAGS),NullParameter) -NormalProgramTarget(mRegs,mRegs.o,$(LOCALLIBS),$(LOCAL_LDFLAGS),NullParameter) -NormalProgramTarget(modClock,modClock.o,$(LOCALLIBS),$(LOCAL_LDFLAGS),NullParameter) +NormalProgramTarget(dRegs,dRegs.o,NullParameter,$(LOCAL_LDFLAGS),NullParameter) +NormalProgramTarget(mRegs,mRegs.o,NullParameter,$(LOCAL_LDFLAGS),NullParameter) +NormalProgramTarget(modClock,modClock.o,NullParameter,$(LOCAL_LDFLAGS),NullParameter) ProgramTargetName(memClock): ProgramTargetName(modClock) RemoveFile($@) Index: xc/programs/Xserver/hw/xfree86/drivers/glide/Imakefile diff -u xc/programs/Xserver/hw/xfree86/drivers/glide/Imakefile:1.13 xc/programs/Xserver/hw/xfree86/drivers/glide/Imakefile:1.14 --- xc/programs/Xserver/hw/xfree86/drivers/glide/Imakefile:1.13 Fri Dec 16 19:02:49 2005 +++ xc/programs/Xserver/hw/xfree86/drivers/glide/Imakefile Sat Sep 15 17:14:42 2007 @@ -1,7 +1,7 @@ XCOMM XCOMM This is an Imakefile for the glide driver. XCOMM -XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/drivers/glide/Imakefile,v 1.13 2005/12/17 03:02:49 dawes Exp $ +XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/drivers/glide/Imakefile,v 1.14 2007/09/16 00:14:42 tsi Exp $ /* * Copyright (c) 1994-2005 by The XFree86 Project, Inc. * All rights reserved. @@ -52,25 +52,16 @@ #define IHaveModules #include -#if !HasGlide2 || !defined(Glide2IncDir) -all:: - @echo "This driver requires that you define HasGlide2 and Glide2IncDir in host.def" - @exit 1 -install:: - @echo "This driver requires that you define HasGlide2 and Glide2IncDir in host.def" - @exit 1 -#endif - SRCS = glide_driver.c OBJS = glide_driver.o #if defined(XF86DriverSDK) INCLUDES = -I../../include #else -INCLUDES = -I$(GLIDE2INCDIR) -I$(XF86COMSRC) -I$(XF86OSSRC) \ - -I$(SERVERSRC)/fb -I$(SERVERSRC)/mi -I$(XF86SRC)/ramdac \ - -I$(XF86SRC)/ddc -I$(XF86SRC)/i2c -I$(SERVERSRC)/Xext \ - -I$(SERVERSRC)/include -I$(XF86SRC)/shadowfb -I$(SERVERSRC)/render +INCLUDES = -I$(XF86COMSRC) -I$(XF86OSSRC) -I$(SERVERSRC)/fb -I$(SERVERSRC)/mi \ + -I$(XF86SRC)/ramdac -I$(XF86SRC)/ddc -I$(XF86SRC)/i2c \ + -I$(SERVERSRC)/Xext -I$(SERVERSRC)/include -I$(XF86SRC)/shadowfb \ + -I$(SERVERSRC)/render #endif #if MakeHasPosixVariableSubstitutions Index: xc/programs/Xserver/hw/xfree86/drivers/glide/glide.h diff -u /dev/null xc/programs/Xserver/hw/xfree86/drivers/glide/glide.h:1.1 --- /dev/null Mon Dec 15 09:54:58 2008 +++ xc/programs/Xserver/hw/xfree86/drivers/glide/glide.h Sat Sep 15 17:15:27 2007 @@ -0,0 +1,199 @@ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/glide/glide.h,v 1.1 2007/09/16 00:15:27 tsi Exp $ */ + +#ifndef __GLIDE_H__ +#define __GLIDE_H__ + +typedef unsigned char FxU8; +typedef signed char FxI8; +typedef unsigned short FxU16; +typedef signed short FxI16; +typedef signed int FxI32; +typedef unsigned int FxU32; +typedef int FxBool; +typedef float FxFloat; +typedef double FxDouble; + +#ifndef GLIDE_NUM_TMU +# define GLIDE_NUM_TMU 2 +#endif + +#if ((GLIDE_NUM_TMU < 0) || (GLIDE_NUM_TMU > 3)) +# error "GLIDE_NUM_TMU set to an invalid value" +#endif + +/* Video defines */ + +typedef FxI32 GrScreenRefresh_t; +#define GR_REFRESH_60Hz 0x0 +#define GR_REFRESH_70Hz 0x1 +#define GR_REFRESH_72Hz 0x2 +#define GR_REFRESH_75Hz 0x3 +#define GR_REFRESH_80Hz 0x4 +#define GR_REFRESH_90Hz 0x5 +#define GR_REFRESH_100Hz 0x6 +#define GR_REFRESH_85Hz 0x7 +#define GR_REFRESH_120Hz 0x8 +#define GR_REFRESH_NONE 0xff + +typedef FxI32 GrScreenResolution_t; +#define GR_RESOLUTION_320x200 0x0 +#define GR_RESOLUTION_320x240 0x1 +#define GR_RESOLUTION_400x256 0x2 +#define GR_RESOLUTION_512x384 0x3 +#define GR_RESOLUTION_640x200 0x4 +#define GR_RESOLUTION_640x350 0x5 +#define GR_RESOLUTION_640x400 0x6 +#define GR_RESOLUTION_640x480 0x7 +#define GR_RESOLUTION_800x600 0x8 +#define GR_RESOLUTION_960x720 0x9 +#define GR_RESOLUTION_856x480 0xa +#define GR_RESOLUTION_512x256 0xb +#define GR_RESOLUTION_1024x768 0xC +#define GR_RESOLUTION_1280x1024 0xD +#define GR_RESOLUTION_1600x1200 0xE +#define GR_RESOLUTION_400x300 0xF +#define GR_RESOLUTION_1152x864 0x10 +#define GR_RESOLUTION_1280x960 0x11 +#define GR_RESOLUTION_1600x1024 0x12 +#define GR_RESOLUTION_1792x1344 0x13 +#define GR_RESOLUTION_1856x1392 0x14 +#define GR_RESOLUTION_1920x1440 0x15 +#define GR_RESOLUTION_2048x1536 0x16 +#define GR_RESOLUTION_2048x2048 0x17 +#define GR_RESOLUTION_NONE 0xff + +#ifdef GR_RESOLUTION_MAX +#undef GR_RESOLUTION_MAX +#endif +#ifdef GR_RESOLUTION_MIN +#undef GR_RESOLUTION_MIN +#endif +#define GR_RESOLUTION_MIN GR_RESOLUTION_320x200 +#define GR_RESOLUTION_MAX GR_RESOLUTION_2048x2048 + +typedef FxU32 GrColor_t; +typedef FxU8 GrAlpha_t; + +#define MAX_NUM_SST 4 + +#define GR_ZDEPTHVALUE_NEAREST 0xFFFF +#define GR_ZDEPTHVALUE_FARTHEST 0x0000 +#define GR_WDEPTHVALUE_NEAREST 0x0000 +#define GR_WDEPTHVALUE_FARTHEST 0xFFFF + +typedef FxI32 GrBuffer_t; +#define GR_BUFFER_FRONTBUFFER 0x0 +#define GR_BUFFER_BACKBUFFER 0x1 +#define GR_BUFFER_AUXBUFFER 0x2 +#define GR_BUFFER_DEPTHBUFFER 0x3 +#define GR_BUFFER_ALPHABUFFER 0x4 +#define GR_BUFFER_TRIPLEBUFFER 0x5 + +#ifdef CHRIS_DENIS_ANTHONY_HACK +#define GR_BUFFER_DENIS_HACK_ON 0x6 +#define GR_BUFFER_DENIS_HACK_OFF 0x7 +#endif + +typedef FxI32 GrColorFormat_t; +#define GR_COLORFORMAT_ARGB 0x0 +#define GR_COLORFORMAT_ABGR 0x1 + +#define GR_COLORFORMAT_RGBA 0x2 +#define GR_COLORFORMAT_BGRA 0x3 + +typedef FxU32 GrLock_t; +#define GR_LFB_READ_ONLY 0x00 +#define GR_LFB_WRITE_ONLY 0x01 +#define GR_LFB_IDLE 0x00 +#define GR_LFB_NOIDLE 0x10 + +typedef FxI32 GrLfbWriteMode_t; +#define GR_LFBWRITEMODE_565 0x0 /* RGB:RGB */ +#define GR_LFBWRITEMODE_555 0x1 /* RGB:RGB */ +#define GR_LFBWRITEMODE_1555 0x2 /* ARGB:ARGB */ +#define GR_LFBWRITEMODE_RESERVED1 0x3 +#define GR_LFBWRITEMODE_888 0x4 /* RGB */ +#define GR_LFBWRITEMODE_8888 0x5 /* ARGB */ +#define GR_LFBWRITEMODE_RESERVED2 0x6 +#define GR_LFBWRITEMODE_RESERVED3 0x7 +#define GR_LFBWRITEMODE_RESERVED4 0x8 +#define GR_LFBWRITEMODE_RESERVED5 0x9 +#define GR_LFBWRITEMODE_RESERVED6 0xa +#define GR_LFBWRITEMODE_RESERVED7 0xb +#define GR_LFBWRITEMODE_565_DEPTH 0xc /* RGB:DEPTH */ +#define GR_LFBWRITEMODE_555_DEPTH 0xd /* RGB:DEPTH */ +#define GR_LFBWRITEMODE_1555_DEPTH 0xe /* ARGB:DEPTH */ +#define GR_LFBWRITEMODE_ZA16 0xf /* DEPTH:DEPTH */ +#define GR_LFBWRITEMODE_ANY 0xFF + +typedef FxI32 GrOriginLocation_t; +#define GR_ORIGIN_UPPER_LEFT 0x0 +#define GR_ORIGIN_LOWER_LEFT 0x1 +#define GR_ORIGIN_ANY 0xFF + +typedef struct { + int size; + void *lfbPtr; + FxU32 strideInBytes; + GrLfbWriteMode_t writeMode; + GrOriginLocation_t origin; +} GrLfbInfo_t; + +typedef int GrSstType; +#define GR_SSTTYPE_VOODOO 0 +#define GR_SSTTYPE_SST96 1 +#define GR_SSTTYPE_AT3D 2 +#define GR_SSTTYPE_Voodoo2 3 +#define GR_SSTTYPE_Banshee 4 + +typedef struct GrTMUConfig_St { + int tmuRev; /* Rev of Texelfx chip */ + int tmuRam; /* 1, 2, or 4 MB */ +} GrTMUConfig_t; + +typedef struct GrVoodooConfig_St { + int fbRam; /* 1, 2, or 4 MB */ + int fbiRev; /* Rev of Pixelfx chip */ + int nTexelfx; /* How many texelFX chips are there? */ + FxBool sliDetect; /* Is it a scan-line interleaved board? */ + GrTMUConfig_t tmuConfig[GLIDE_NUM_TMU]; /* Configuration of the Texelfx chips */ +} GrVoodooConfig_t; + +typedef struct GrSst96Config_St { + int fbRam; /* How much? */ + int nTexelfx; + GrTMUConfig_t tmuConfig; +} GrSst96Config_t; + +typedef GrVoodooConfig_t GrVoodoo2Config_t; + +typedef struct GrAT3DConfig_St { + int rev; +} GrAT3DConfig_t; + +typedef struct { + int num_sst; /* # of HW units in the system */ + struct { + GrSstType type; /* Which hardware is it? */ + union SstBoard_u { + GrVoodooConfig_t VoodooConfig; + GrSst96Config_t SST96Config; + GrAT3DConfig_t AT3DConfig; + GrVoodoo2Config_t Voodoo2Config; + } sstBoard; + } SSTs[MAX_NUM_SST]; /* configuration for each board */ +} GrHwConfiguration; + +typedef FxU32 GrLfbSrcFmt_t; +#define GR_LFB_SRC_FMT_565 0x00 +#define GR_LFB_SRC_FMT_555 0x01 +#define GR_LFB_SRC_FMT_1555 0x02 +#define GR_LFB_SRC_FMT_888 0x04 +#define GR_LFB_SRC_FMT_8888 0x05 +#define GR_LFB_SRC_FMT_565_DEPTH 0x0c +#define GR_LFB_SRC_FMT_555_DEPTH 0x0d +#define GR_LFB_SRC_FMT_1555_DEPTH 0x0e +#define GR_LFB_SRC_FMT_ZA16 0x0f +#define GR_LFB_SRC_FMT_RLE16 0x80 + +#endif /* __GLIDE_H__ */ Index: xc/programs/Xserver/hw/xfree86/drivers/glide/glide_driver.c diff -u xc/programs/Xserver/hw/xfree86/drivers/glide/glide_driver.c:1.34 xc/programs/Xserver/hw/xfree86/drivers/glide/glide_driver.c:1.35 --- xc/programs/Xserver/hw/xfree86/drivers/glide/glide_driver.c:1.34 Tue Jan 23 10:03:02 2007 +++ xc/programs/Xserver/hw/xfree86/drivers/glide/glide_driver.c Sat Sep 15 17:14:42 2007 @@ -1,4 +1,4 @@ - +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/glide/glide_driver.c,v 1.35 2007/09/16 00:14:42 tsi Exp $ */ /* XFree86 driver for Glide(tm). (Mainly for Voodoo 1 and 2 cards) @@ -45,7 +45,6 @@ * Support static loading. */ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/glide/glide_driver.c,v 1.34 2007/01/23 18:03:02 tsi Exp $ */ #include "xf86Cursor.h" #include "colormapst.h" @@ -63,7 +62,7 @@ #include "xf86cmap.h" #include "shadowfb.h" -#include +#include "glide.h" /* Now a local header file */ #define TRUE 1 #define FALSE 0 @@ -78,9 +77,8 @@ typedef unsigned char u8; typedef signed short int s16; typedef unsigned short int u16; -typedef signed long int s32; -typedef unsigned long int u32; -typedef u8 bool; +typedef signed int s32; +typedef unsigned int u32; /* Card-specific driver information */ @@ -95,9 +93,6 @@ typedef void (*pgrRenderBuffer_t)(GrBuffer_t); typedef void (*pgrClipWindow_t)(FxU32, FxU32, FxU32, FxU32); typedef void (*pgrBufferClear_t)(GrColor_t, GrAlpha_t, FxU16); -typedef FxBool (*pgrLfbLock_t)(GrLock_t, GrBuffer_t, GrLfbWriteMode_t, GrOriginLocation_t, - FxBool, GrLfbInfo_t*); -typedef FxBool (*pgrLfbUnlock_t)(GrLock_t, GrBuffer_t); typedef void (*pgrGlideShutdown_t)(void); @@ -131,8 +126,6 @@ static pgrRenderBuffer_t pgrRenderBuffer; static pgrClipWindow_t pgrClipWindow; static pgrBufferClear_t pgrBufferClear; -static pgrLfbLock_t pgrLfbLock; -static pgrLfbUnlock_t pgrLfbUnlock; static pgrGlideShutdown_t pgrGlideShutdown; static pgrLfbWriteRegion_t pgrLfbWriteRegion; @@ -417,7 +410,7 @@ pScrn->EnterVT = GLIDEEnterVT; pScrn->LeaveVT = GLIDELeaveVT; pScrn->FreeScreen = GLIDEFreeScreen; - pScrn->driverPrivate = (void*)sst; + pScrn->driverPrivate = (void *)(unsigned long)sst; /* * XXX This is a hack because don't have the PCI info. Set it as * an ISA entity with no resources. @@ -454,7 +447,7 @@ if (pScrn->numEntities != 1) return FALSE; - sst = (int)(pScrn->driverPrivate); + sst = (int)(unsigned long)pScrn->driverPrivate; pScrn->driverPrivate = NULL; /* Set pScrn->monitor */ @@ -957,12 +950,6 @@ pgrClipWindow(0, 0, 1024, 768); pgrBufferClear(0, 0, GR_ZDEPTHVALUE_FARTHEST); - if (!r) - { - xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Could not lock glide frame buffer\n"); - return FALSE; - } - pGlide->Blanked = FALSE; pGlide->GlideInitiated = TRUE; return TRUE; @@ -1003,8 +990,6 @@ GLIDE_FIND_FUNC(grRenderBuffer); GLIDE_FIND_FUNC(grClipWindow); GLIDE_FIND_FUNC(grBufferClear); - GLIDE_FIND_FUNC(grLfbLock); - GLIDE_FIND_FUNC(grLfbUnlock); GLIDE_FIND_FUNC(grGlideShutdown); GLIDE_FIND_FUNC(grLfbWriteRegion); return TRUE; Index: xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c diff -u xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c:1.99 xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c:1.101 --- xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c:1.99 Mon Apr 9 08:37:15 2007 +++ xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c Wed Oct 3 07:28:21 2007 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c,v 1.99 2007/04/09 15:37:15 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c,v 1.101 2007/10/03 14:28:21 tsi Exp $ */ /************************************************************************** Copyright 2001 VA Linux Systems Inc., Fremont, California. @@ -1605,6 +1605,8 @@ #if HAVE_GET_PUT_BIOSMEMSIZE if ((pI830->saveBIOSMemSize = GetBIOSMemSize(pScrn)) != -1) return TRUE; + + pI830->saveBIOSMemSize = 0; #endif if (IS_I830(pI830) || IS_845G(pI830)) { @@ -1637,6 +1639,8 @@ /* * TweakMemorySize() tweaks the BIOS image to set the correct size. * Original implementation by Christian Zietz in a stand-alone tool. + * Returns the previous value on success, or 1 (a value not aligned on a + * 64K boundary). */ static CARD32 TweakMemorySize(ScrnInfoPtr pScrn, CARD32 newsize, Bool preinit) @@ -1657,21 +1661,21 @@ int reg = (IS_845G(pI830) || IS_I865G(pI830)) ? _845_DRAM_RW_CONTROL : _855_DRAM_RW_CONTROL; - PCITAG tag =pciTag(0,0,0); + PCITAG tag = pciTag(0,0,0); if(!pI830->PciInfo || !(IS_845G(pI830) || IS_I85X(pI830) || IS_I865G(pI830))) - return 0; + return 1; if (!pI830->pVbe) - return 0; + return 1; biosAddr = xf86int10Addr(pI830->pVbe->pInt10, pI830->pVbe->pInt10->BIOSseg << 4); if (!pI830->BIOSMemSizeLoc) { if (!preinit) - return 0; + return 1; /* Search for MAGIC string */ for (i = 0; i < SIZE; i++) { @@ -1683,7 +1687,7 @@ j = 0; } } - if (j < len) return 0; + if (j < len) return 1; pI830->BIOSMemSizeLoc = (i - j + 1 + (IS_845G(pI830) ? _845_IDOFFSET : _855_IDOFFSET)); @@ -1696,7 +1700,7 @@ /* verify that register really contains current size */ if (preinit && ((ret >> 16) != pI830->vbeInfo->TotalMemory)) - return 0; + return 1; oldpermission = pciReadLong(tag, reg); pciWriteLong(tag, reg, DRAM_WRITE | (oldpermission & 0xffff)); @@ -1712,7 +1716,7 @@ /* verify that change was successful */ if (pI830->vbeInfo->TotalMemory != (newsize >> 16)){ - ret = 0; + ret = 1; *(CARD32 *)position = oldsize; } else { pI830->BIOSMemorySize = KB(pI830->vbeInfo->TotalMemory * 64); @@ -1724,7 +1728,7 @@ pciWriteLong(tag, reg, oldpermission); - return ret; + return ret; } static void @@ -1735,7 +1739,7 @@ DPRINTF(PFX, "RestoreBIOSMemSize\n"); - if (TweakMemorySize(pScrn, pI830->saveBIOSMemSize,FALSE)) + if (TweakMemorySize(pScrn, pI830->saveBIOSMemSize, FALSE) != 1) return; if (!pI830->overrideBIOSMemSize) @@ -2734,9 +2738,10 @@ "BIOS now sees %ld kB VideoRAM\n", pI830->BIOSMemorySize / 1024); } else if ((pI830->saveBIOSMemSize - = TweakMemorySize(pScrn, pI830->newBIOSMemSize,TRUE)) != 0) + = TweakMemorySize(pScrn, pI830->newBIOSMemSize, TRUE)) != 1) pI830->overrideBIOSMemSize = TRUE; else { + pI830->saveBIOSMemSize = 0; xf86DrvMsg(pScrn->scrnIndex, X_INFO, "BIOS view of memory size can't be changed " "(this is not an error).\n"); @@ -4673,7 +4678,7 @@ if (pI830->pVbe) vbeFree(pI830->pVbe); pI830->pVbe = VBEInit(NULL, pI830->pEnt->index); - if (!TweakMemorySize(pScrn, pI830->newBIOSMemSize,FALSE)) + if (TweakMemorySize(pScrn, pI830->newBIOSMemSize, FALSE) == 1) SetBIOSMemSize(pScrn, pI830->newBIOSMemSize); if (!pI830->pVbe) return FALSE; @@ -5408,7 +5413,7 @@ return FALSE; CheckInheritedState(pScrn); - if (!TweakMemorySize(pScrn, pI830->newBIOSMemSize,FALSE)) + if (TweakMemorySize(pScrn, pI830->newBIOSMemSize, FALSE) == 1) SetBIOSMemSize(pScrn, pI830->newBIOSMemSize); ResetState(pScrn, FALSE); Index: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c diff -u xc/programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c:1.261 xc/programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c:1.262 --- xc/programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c:1.261 Mon Apr 9 12:05:34 2007 +++ xc/programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c Sat Sep 15 20:44:18 2007 @@ -1,3 +1,4 @@ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c,v 1.262 2007/09/16 03:44:18 tsi Exp $ */ /* * MGA Millennium (MGA2064W) with Ti3026 RAMDAC driver v.1.1 * @@ -44,7 +45,6 @@ * Added digital screen option for first head */ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c,v 1.261 2007/04/09 19:05:34 tsi Exp $ */ /* * This is a first cut at a non-accelerated version to work with the @@ -3654,28 +3654,19 @@ fgets(sCmdIn, 255, fdIn); - if(sCmdIn) - { - - MGAExecuteEscCmd(xf86Screens[scrnIndex], sCmdIn, sCmdOut, mode); + MGAExecuteEscCmd(xf86Screens[scrnIndex], sCmdIn, sCmdOut, mode); - /* Remove file and close file descriptor */ - remove("/tmp/mgaDriverIn"); - fclose(fdIn); - MWB( - /* Write output data to output file for - calling application */ - fputs(sCmdOut, fdOut); - fclose(fdOut); - ) - mode->Flags &= 0x7FFFFFFF; - return TRUE; - } - else - { - mode->Flags &= 0x7FFFFFFF; - return FALSE; - } + /* Remove file and close file descriptor */ + remove("/tmp/mgaDriverIn"); + fclose(fdIn); + MWB( + /* Write output data to output file for + calling application */ + fputs(sCmdOut, fdOut); + fclose(fdOut); + ) + mode->Flags &= 0x7FFFFFFF; + return TRUE; } else { Index: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_esc.c diff -u xc/programs/Xserver/hw/xfree86/drivers/mga/mga_esc.c:1.5 xc/programs/Xserver/hw/xfree86/drivers/mga/mga_esc.c:1.6 --- xc/programs/Xserver/hw/xfree86/drivers/mga/mga_esc.c:1.5 Thu Aug 25 06:27:51 2005 +++ xc/programs/Xserver/hw/xfree86/drivers/mga/mga_esc.c Sat Sep 15 20:44:18 2007 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_esc.c,v 1.5 2005/08/25 13:27:51 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_esc.c,v 1.6 2007/09/16 03:44:18 tsi Exp $ */ /**************************************************************************** * mga_esc.c * @@ -119,6 +119,7 @@ pMode->VRefresh = pModeInfo->ulRefreshRate; } +/* This function cannot fail */ static LPMGAMODEINFO GetModeInfoPtr(ULONG ulScreen) { @@ -298,13 +299,6 @@ pModeInfo = GetModeInfoPtr(param[0] >> 16); - if ( !pMgaModeInfo ) - { - strcpy(sResult, "#error 1"); - return; - } - - if (pModeInfo->ulHBPorch > (8 * param[1]) ) { pModeInfo->ulHBPorch -=8 * param[1]; @@ -325,12 +319,6 @@ pModeInfo = GetModeInfoPtr(param[0] >> 16); - if ( !pMgaModeInfo ) - { - strcpy(sResult, "#error 1"); - return; - } - if (pModeInfo->ulHFPorch > (8 * param[1]) ) { pModeInfo->ulHFPorch -=8 * param[1]; @@ -352,12 +340,6 @@ pModeInfo = GetModeInfoPtr(param[0] >> 16); - if ( !pMgaModeInfo ) - { - strcpy(sResult, "#error 1"); - return; - } - if (pModeInfo->ulVBPorch > (param[1]) ) { pModeInfo->ulVBPorch -= param[1]; @@ -378,12 +360,6 @@ pModeInfo = GetModeInfoPtr(param[0] >> 16); - if ( !pMgaModeInfo ) - { - strcpy(sResult, "#error 1"); - return; - } - if (pModeInfo->ulVFPorch >= (param[1]) ) { pModeInfo->ulVFPorch -= param[1]; @@ -406,20 +382,12 @@ pModeInfo = GetModeInfoPtr(param[0] >> 16); - if ( !pMgaModeInfo ) - { - strcpy(sResult, "#error 1"); - return; - } - if ((param[0] & 0xffff) > 1) { - ulStep = param[1] * 8; } else { - ulStep = 8; } @@ -451,24 +419,15 @@ pModeInfo = GetModeInfoPtr(param[0] >> 16); - if ( !pMgaModeInfo ) - { - strcpy(sResult, "#error 1"); - return; - } - if ((param[0] & 0xffff) > 1) { - ulStep = param[1] * 8; } else { - ulStep = 8; } - fRefresh = GetVRefresh(pModeInfo); fPixelClock = (float)pModeInfo->ulPixClock; pModeInfo->ulHBPorch += ulStep; @@ -490,20 +449,12 @@ pModeInfo = GetModeInfoPtr(param[0] >> 16); - if ( !pMgaModeInfo ) - { - strcpy(sResult, "#error 1"); - return; - } - if ((param[0] & 0xffff) > 1) { - ulStep = param[1]; } else { - ulStep = 1; } @@ -536,24 +487,15 @@ pModeInfo = GetModeInfoPtr(param[0] >> 16); - if ( !pMgaModeInfo ) - { - strcpy(sResult, "#error 1"); - return; - } - if ((param[0] & 0xffff) > 1) { - ulStep = param[1]; } else { - ulStep = 1; } - fRefresh = GetVRefresh(pModeInfo); fPixelClock = (float)pModeInfo->ulPixClock; pModeInfo->ulVFPorch += ulStep; @@ -574,12 +516,6 @@ pModeInfo = GetModeInfoPtr(param[0] >> 16); - if ( !pMgaModeInfo ) - { - strcpy(sResult, "#error 1"); - return; - } - if ((param[0] & 0xffff) < 2) { strcpy(sResult, "#error 1"); Index: xc/programs/Xserver/hw/xfree86/drivers/via/via_dri.c diff -u xc/programs/Xserver/hw/xfree86/drivers/via/via_dri.c:1.10 xc/programs/Xserver/hw/xfree86/drivers/via/via_dri.c:1.11 --- xc/programs/Xserver/hw/xfree86/drivers/via/via_dri.c:1.10 Fri Dec 10 08:07:03 2004 +++ xc/programs/Xserver/hw/xfree86/drivers/via/via_dri.c Wed Oct 15 13:56:32 2008 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/via/via_dri.c,v 1.10 2004/12/10 16:07:03 alanh Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/via/via_dri.c,v 1.11 2008/10/15 20:56:32 tsi Exp $ */ /* * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved. * Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved. @@ -727,10 +727,8 @@ drmInfo.sarea_priv_offset = sizeof(XF86DRISAREARec); drmInfo.fb_offset = pVia->FrameBufferBase; drmInfo.mmio_offset = pVia->registerHandle; - if (pVia->IsPCI) - drmInfo.agpAddr = (CARD32)NULL; - else - drmInfo.agpAddr = (CARD32)pVia->agpAddr; + if (!pVia->IsPCI) + drmInfo.agpAddr = pVia->agpAddr; if ((drmCommandWrite(pVia->drmFD, DRM_VIA_MAP_INIT,&drmInfo, sizeof(drmViaInit))) < 0) Index: xc/programs/Xserver/hw/xfree86/etc/apSolaris.shar diff -u xc/programs/Xserver/hw/xfree86/etc/apSolaris.shar:1.4 xc/programs/Xserver/hw/xfree86/etc/apSolaris.shar:1.5 --- xc/programs/Xserver/hw/xfree86/etc/apSolaris.shar:1.4 Mon Jul 10 15:19:11 2006 +++ xc/programs/Xserver/hw/xfree86/etc/apSolaris.shar Thu May 15 10:25:40 2008 @@ -1,6 +1,6 @@ #! /bin/sh -# $XFree86: xc/programs/Xserver/hw/xfree86/etc/apSolaris.shar,v 1.4 2006/07/10 22:19:11 tsi Exp $ - +# $XFree86: xc/programs/Xserver/hw/xfree86/etc/apSolaris.shar,v 1.5 2008/05/15 17:25:40 tsi Exp $ +# # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and @@ -24,9 +24,9 @@ X# X# File: makefile for aperture Framebuffer Driver X# Author: Doug Anson (danson@lgc.com) -X# Date: 2/15/94 +X# Date: 1994.02.15 X# Modified: David Holland (davidh@use.com) -X# Date: 2/23/94 +X# Date: 1994.02.23 X# - Changed name, and debugging structure X# Modified: Marc Aurele La France (tsi@xfree86.org) X# Date: 2001.06.08 @@ -42,6 +42,12 @@ X# X# >>NOTE<< Have a look at Makefile.amd64 for amd64 specifics. X# +X# Modified: Marc Aurele La France (tsi@xfree86.org) +X# Date: 2008.05.13 +X# - Turf debugging messages that have outlived their usefullness +X# - Minor changes for stricter DDI compliance +X# - Ensure mmap'ings are non-cacheable and marked as having side effects +X# X# GNU gcc compiler XCC=gcc XCFLGS=-fno-builtin -Wall -O3 @@ -52,14 +58,9 @@ X#CFLGS=-Xa -xnolib -xO3 X X# -X# Debug error reporting -X#DEBUG_FLG= -X#DEBUG_FLG=-DAPERTURE_DEBUG -X -X# X# Files and object declarations XKERNEL_FLGS=-D_KERNEL -DSUNDDI -XCFLAGS= $(CFLGS) $(KERNEL_FLGS) $(DEBUG_FLG) +XCFLAGS= $(CFLGS) $(KERNEL_FLGS) XCFILES= aperture.c XOBJS= aperture.o XDRIVER= aperture @@ -112,18 +113,24 @@ X# X# File: Makefile for aperture Framebuffer Driver X# Author: Doug Anson (danson@lgc.com) -X# Date: 2/15/94 +X# Date: 1994.02.15 X# Modified: David Holland (davidh@use.com) -X# Date: 2/23/94 +X# Date: 1994.02.23 X# - Changed name, and debugging structure X# Modified: Marc Aurele La France (tsi@xfree86.org) X# Date: 2001.06.08 X# - SPARC support, cleanup and turf aptest. X# Modified: Martin Bochnig (martin@martux.org) +X# Date: 2006.06.24 X# - amd64 64 bit kernel support, cosmetics and also X# supporting sun4v (and arbitrary sparcv9) platforms X# as well as SunOS 5.10 or higher now X# - Changed name +X# Modified: Marc Aurele La France (tsi@xfree86.org) +X# Date: 2008.05.13 +X# - Turf debugging messages that have outlived their usefullness +X# - Minor changes for stricter DDI compliance +X# - Ensure mmap'ings are non-cacheable and marked as having side effects X# X X# @@ -138,14 +145,9 @@ X#CFLGS=-Xa -xarch=v9 -xnolib -xO3 X X# -X# Debug error reporting -X#DEBUG_FLG= -X#DEBUG_FLG=-DAPERTURE_DEBUG -X -X# X# Files and object declarations XKERNEL_FLGS=-D_KERNEL -DSUNDDI -XCFLAGS= $(CFLGS) $(KERNEL_FLGS) $(DEBUG_FLG) +XCFLAGS= $(CFLGS) $(KERNEL_FLGS) XCFILES= aperture.c XOBJS= aperture.o XDRIVER= aperture @@ -178,9 +180,9 @@ X# X# File: Makefile for aperture Framebuffer Driver X# Author: Doug Anson (danson@lgc.com) -X# Date: 2/15/94 +X# Date: 1994.02.15 X# Modified: David Holland (davidh@use.com) -X# Date: 2/23/94 +X# Date: 1994.02.23 X# - Changed name, and debugging structure X# Modified: Marc Aurele La France (tsi@xfree86.org) X# Date: 2001.06.08 @@ -189,6 +191,11 @@ X# Date: 2006.06.24 X# - Changed name for generic sparcv9 support X# - updated to better work with Solaris 10 and 11 +X# Modified: Marc Aurele La France (tsi@xfree86.org) +X# Date: 2008.05.13 +X# - Turf debugging messages that have outlived their usefullness +X# - Minor changes for stricter DDI compliance +X# - Ensure mmap'ings are non-cacheable and marked as having side effects X# X X# @@ -203,14 +210,9 @@ X#CFLGS=-Xa -xarch=v9 -xnolib -xO3 X X# -X# Debug error reporting -X#DEBUG_FLG= -X#DEBUG_FLG=-DAPERTURE_DEBUG -X -X# X# Files and object declarations XKERNEL_FLGS=-D_KERNEL -DSUNDDI -XCFLAGS= $(CFLGS) $(KERNEL_FLGS) $(DEBUG_FLG) +XCFLAGS= $(CFLGS) $(KERNEL_FLGS) XCFILES= aperture.c XOBJS= aperture.o XDRIVER= aperture @@ -252,9 +254,7 @@ X XInstallation instructions: X -X1) Check the Makefile, for appropriate CC, and CFLAGS definitions. Compiling -X with APERTURE_DEBUG defined means the driver will generate streams of -X debugging output. You'll probably want to leave this off... +X1) Check the Makefile, for appropriate CC, and CFLAGS definitions. X X2) type 'make' (or 'gmake'). The driver should compile without any problems. X No warning messages should be generated. @@ -330,6 +330,9 @@ X#include X#include X#include +X#include +X +X#include X X#define DEV_IDENT "aperture" X#define DEV_BANNER "XFree86 aperture driver" @@ -353,6 +356,8 @@ X#define NODESPECIFIC_DEV 0 X#endif X +Xstatic dev_info_t *aperture_dip; /* private copy of devinfo pointer */ +X X/* X * open(9E) X */ @@ -374,26 +379,10 @@ X struct cred *cred; X#endif X{ -X int error; -X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": entering open()\n"); -X -X#endif -X X if ((typ != OTYP_CHR) || (getminor(*devp))) -X error = EINVAL; -X else -X error = 0; +X return EINVAL; X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": leaving open() = %d\n", error); -X -X#endif -X -X return error; +X return 0; X} X X/* @@ -418,25 +407,91 @@ X pfn_t pf; X int error; X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": entering mmap(0x%016lx)\n", off); -X -X#endif -X -X pf = btop((unsigned long)off); +X pf = ddi_btop(aperture_dip, (unsigned long)off); X X /* Deal with mmap(9E) interface limits */ X error = (int)pf; X if ((error < 0) || (pf != (pfn_t)error)) X error = -1; X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": leaving mmap() = 0x%08lx", error); +X return error; +X} X +X/* +X * segmap(9E) +X */ +X/*ARGSUSED*/ +Xstatic int +Xaperture_segmap +X( +X#ifdef __STDC__ +X dev_t dev, +X off_t off, +X struct as *as, +X caddr_t *addrp, +X off_t len, +X uint_t prot, +X uint_t maxprot, +X uint_t flags, +X struct cred *cred X#endif +X) +X#ifndef __STDC__ +X dev_t dev; +X off_t off; +X struct as *as; +X caddr_t *addrp; +X off_t len; +X uint_t prot; +X uint_t maxprot; +X uint_t flags; +X struct cred *cred; +X#endif +X{ +X struct segdev_crargs segdev_args; +X off_t page; +X int error; +X +X /* Only allow shared non-exec mappings */ +X if (((flags & MAP_TYPE) != MAP_SHARED) || (prot & PROT_EXEC) || +X !(prot & (PROT_READ | PROT_WRITE))) +X return (EINVAL); +X +X /* Validate range through mmap(9E) */ +X for (page = 0; page < len; page += PAGESIZE) +X if (aperture_mmap(dev, off + page, maxprot) == -1) +X return (ENXIO); X +X as_rangelock(as); +X if ((flags & MAP_FIXED) == 0) +X { +X /* Pick an address */ +X map_addr(addrp, len, (offset_t)off, 1, flags); +X if (*addrp == NULL) +X { +X as_rangeunlock(as); +X return (ENOMEM); +X } +X } +X else +X { +X /* Specific address; Turf any previous mappings */ +X (void) as_unmap(as, *addrp, len); +X } +X +X segdev_args.offset = off; +X segdev_args.mapfunc = aperture_mmap; +X segdev_args.dev = dev; +X segdev_args.type = MAP_SHARED; +X segdev_args.prot = (uchar_t)prot; +X segdev_args.maxprot = (uchar_t)maxprot; +X segdev_args.hat_attr = 0; +X /* Mark mappings as non-cacheable and having side effects */ +X segdev_args.hat_flags = HAT_LOAD_NOCONSIST; +X segdev_args.devmap_data = NULL; +X +X error = as_map(as, *addrp, len, segdev_create, &segdev_args); +X as_rangeunlock(as); X return error; X} X @@ -452,16 +507,13 @@ X nodev, /* ioctl */ X nodev, /* devmap */ X aperture_mmap, /* mmap */ -X ddi_segmap, /* segmap */ +X aperture_segmap, /* segmap */ X nochpoll, /* poll */ X ddi_prop_op, /* cb_prop_op */ X 0, /* streamtab */ X D_NEW | D_MP | D_64BIT /* Driver compatibility flag */ X}; X -X -Xstatic dev_info_t *aperture_dip; /* private copy of devinfo pointer */ -X X/* X * getinfo(9E) X */ @@ -483,34 +535,17 @@ X void **result; X#endif X{ -X int error; -X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": entering getinfo()\n"); -X -X#endif -X X switch (infocmd) { X case DDI_INFO_DEVT2DEVINFO: X *result = aperture_dip; -X error = DDI_SUCCESS; -X break; +X return DDI_SUCCESS; X case DDI_INFO_DEVT2INSTANCE: X *result = NULL; -X error = DDI_SUCCESS; -X break; +X return DDI_SUCCESS; X default: -X error = DDI_FAILURE; +X return DDI_FAILURE; X } -X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": leaving getinfo() = %d\n", error); -X -X#endif -X -X return error; +X /*NOTREACHED*/ X} X X/* @@ -528,26 +563,28 @@ X dev_info_t *dip; X#endif X{ -X int error; -X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": entering identify()\n"); -X -X#endif -X X if (strcmp(ddi_get_name(dip), DEV_IDENT)) -X error = DDI_NOT_IDENTIFIED; -X else -X error = DDI_IDENTIFIED; +X return DDI_NOT_IDENTIFIED; X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": leaving identify() = %d\n", error); +X return DDI_IDENTIFIED; +X} X +X/* +X * probe(9E) +X */ +X/*ARGSUSED*/ +Xstatic int +Xaperture_probe +X( +X#ifdef __STDC__ +X dev_info_t *dip X#endif -X -X return error; +X) +X#ifndef __STDC__ +X dev_info_t *dip; +X#endif +X{ +X return DDI_PROBE_SUCCESS; X} X X/* @@ -569,22 +606,9 @@ X{ X int error; X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": entering attach()\n"); -X -X#endif -X X if (cmd != DDI_ATTACH) X { -X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": not attach(, DDI_ATTACH)\n"); -X -X#endif -X -X error = DDI_FAILURE; +X error = DDI_SUCCESS; X } X else X { @@ -599,12 +623,6 @@ X } X } X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": leaving attach() = %d\n", error); -X -X#endif -X X return error; X} X @@ -624,42 +642,22 @@ X ddi_detach_cmd_t cmd; X#endif X{ -X int error; -X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": entering detach()\n"); -X -X#endif -X -X if (cmd != DDI_DETACH) -X { -X error = DDI_FAILURE; -X } -X else +X if (cmd == DDI_DETACH) X { X ddi_remove_minor_node(dip, NULL); X aperture_dip = NULL; -X error = DDI_SUCCESS; X } X -X#if APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": leaving detach() = %d\n", error); -X -X#endif -X -X return error; +X return DDI_SUCCESS; X} X -X Xstatic struct dev_ops aperture_ops = X{ X DEVO_REV, /* revision */ X 0, /* refcnt */ X aperture_getinfo, /* getinfo */ X aperture_identify, /* identify */ -X nulldev, /* probe */ +X aperture_probe, /* probe */ X aperture_attach, /* attach */ X aperture_detach, /* detach */ X nodev, /* reset */ @@ -667,7 +665,6 @@ X NULL /* bus operations */ X}; X -X Xstatic struct modldrv modldrv = X{ X &mod_driverops, /* mod_ops structure pointer */ @@ -675,7 +672,6 @@ X &aperture_ops, /* dev_ops structure pointer */ X}; X -X Xstatic struct modlinkage modlinkage = X{ X MODREV_1, /* module API revision */ @@ -685,7 +681,6 @@ X } X}; X -X X/* X * _init(9E) X */ @@ -697,23 +692,7 @@ X#endif X) X{ -X int error; -X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": entering _init()\n"); -X -X#endif -X -X error = mod_install(&modlinkage); -X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": leaving _init() = %d\n", error); -X -X#endif -X -X return error; +X return mod_install(&modlinkage); X} X X/* @@ -730,23 +709,7 @@ X struct modinfo *modinfop; X#endif X{ -X int error; -X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": entering _info()\n"); -X -X#endif -X -X error = mod_info(&modlinkage, modinfop); -X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": leaving _info() = %d\n", error); -X -X#endif -X -X return error; +X return mod_info(&modlinkage, modinfop); X} X X/* @@ -760,23 +723,7 @@ X#endif X) X{ -X int error; -X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": entering _fini()\n"); -X -X#endif -X -X error = mod_remove(&modlinkage); -X -X#ifdef APERTURE_DEBUG -X -X cmn_err(CE_CONT, DEV_IDENT ": leaving _fini() = %d\n", error); -X -X#endif -X -X return error; +X return mod_remove(&modlinkage); X} END-of-aperture/aperture.c echo x - aperture/aperture.conf @@ -804,4 +751,3 @@ Xtype=ddi_pseudo;name=aperture fbs/\M0 END-of-aperture/devlink.tab exit - Index: xc/programs/Xserver/hw/xfree86/etc/ioport.c diff -u xc/programs/Xserver/hw/xfree86/etc/ioport.c:1.9 xc/programs/Xserver/hw/xfree86/etc/ioport.c:1.10 --- xc/programs/Xserver/hw/xfree86/etc/ioport.c:1.9 Thu Jun 28 06:22:26 2007 +++ xc/programs/Xserver/hw/xfree86/etc/ioport.c Mon Dec 31 16:40:13 2007 @@ -1,6 +1,6 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/ioport.c,v 1.9 2007/06/28 13:22:26 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/ioport.c,v 1.10 2008/01/01 00:40:13 tsi Exp $ */ /* - * Copyright 2002 through 2007 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + * Copyright 2002 through 2008 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that Index: xc/programs/Xserver/hw/xfree86/etc/mmapr.c diff -u xc/programs/Xserver/hw/xfree86/etc/mmapr.c:1.18 xc/programs/Xserver/hw/xfree86/etc/mmapr.c:1.19 --- xc/programs/Xserver/hw/xfree86/etc/mmapr.c:1.18 Mon Jan 1 08:08:21 2007 +++ xc/programs/Xserver/hw/xfree86/etc/mmapr.c Mon Dec 31 16:40:13 2007 @@ -1,6 +1,6 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/mmapr.c,v 1.18 2007/01/01 16:08:21 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/mmapr.c,v 1.19 2008/01/01 00:40:13 tsi Exp $ */ /* - * Copyright 2002 through 2007 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + * Copyright 2002 through 2008 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that Index: xc/programs/Xserver/hw/xfree86/etc/mmapw.c diff -u xc/programs/Xserver/hw/xfree86/etc/mmapw.c:1.16 xc/programs/Xserver/hw/xfree86/etc/mmapw.c:1.17 --- xc/programs/Xserver/hw/xfree86/etc/mmapw.c:1.16 Mon Jan 1 08:08:21 2007 +++ xc/programs/Xserver/hw/xfree86/etc/mmapw.c Mon Dec 31 16:40:13 2007 @@ -1,6 +1,6 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/mmapw.c,v 1.16 2007/01/01 16:08:21 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/mmapw.c,v 1.17 2008/01/01 00:40:13 tsi Exp $ */ /* - * Copyright 2002 through 2007 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org + * Copyright 2002 through 2008 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that Index: xc/programs/Xserver/hw/xfree86/etc/pci.ids diff -u xc/programs/Xserver/hw/xfree86/etc/pci.ids:1.13 xc/programs/Xserver/hw/xfree86/etc/pci.ids:1.14 --- xc/programs/Xserver/hw/xfree86/etc/pci.ids:1.13 Thu Mar 1 08:01:39 2007 +++ xc/programs/Xserver/hw/xfree86/etc/pci.ids Wed Mar 26 11:39:11 2008 @@ -11,7 +11,7 @@ # This file can be distributed under either the GNU General Public License # (version 2 or higher) or the 3-clause BSD License. # -# Daily snapshot on Mon 2007-02-12 02:05:02 +# Daily snapshot on Wed 2008-03-26 02:05:02 # # Vendors, devices and subsystems. Please keep sorted. @@ -40,6 +40,7 @@ 4800 WinTV PVR-350 4801 WinTV PVR-250 MCE 4803 WinTV PVR-250 + 7801 WinTV HVR-1800 MCE 8003 WinTV PVR-150 8801 WinTV PVR-150 c801 WinTV PVR-150 @@ -65,6 +66,7 @@ # 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 @@ -82,6 +84,7 @@ 0109 F5U409-CU USB/Serial Portable Adapter 7050 F5D7050 802.11g Wireless USB Adapter 705c F5D7050 v4 +058f Alcor Micro Corporation 05a9 OmniVision 8519 OV519 series 05e3 CyberDoor @@ -95,22 +98,23 @@ 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. 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 2468 CIF Single Chip + 2600 PAC7311 2603 Philips Webcam SPC500NC 2608 Maxell MaxCam RotaWeb 09c1 Arris @@ -141,6 +145,7 @@ 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 @@ -198,8 +203,8 @@ 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 ae29 MIS-L ae2a MPC ae2b MIS-E @@ -286,7 +291,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 @@ -312,10 +317,11 @@ 1028 014a PowerEdge 1750 1028 016c PowerEdge 1850 MPT Fusion SCSI/RAID (Perc 4) 1028 0183 PowerEdge 1800 + 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 @@ -325,11 +331,25 @@ 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 SAS1064E PCI-Express Fusion-MPT SAS + 0056 SAS1064ET PCI-Express Fusion-MPT SAS + 0057 M1064E MegaRAID SAS 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 @@ -341,20 +361,31 @@ 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 CERC 6/i Adapter RAID Controller - 1028 1f11 CERC 6/i Adapter 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 + 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 @@ -452,8 +483,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 M24 1T [FireGL M24 GL] + 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) @@ -527,9 +561,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 @@ -542,53 +577,100 @@ 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 - 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 + 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 + 0206 1028 Latitude D531 + 103c 280a DC5750 Microtower + 17f2 5000 KI690-AM2 Motherboard + 4384 SBx00 PCI to PCI Bridge + 4385 SBx00 SMBus Controller + 103c 280a DC5750 Microtower + 17f2 5000 KI690-AM2 Motherboard 4386 SB600 USB Controller (EHCI) + 103c 280a DC5750 Microtower + 17f2 5000 KI690-AM2 Motherboard 4387 SB600 USB (OHCI0) + 103c 280a DC5750 Microtower + 17f2 5000 KI690-AM2 Motherboard 4388 SB600 USB (OHCI1) + 103c 280a DC5750 Microtower + 17f2 5000 KI690-AM2 Motherboard 4389 SB600 USB (OHCI2) + 103c 280a DC5750 Microtower + 17f2 5000 KI690-AM2 Motherboard 438a SB600 USB (OHCI3) + 103c 280a DC5750 Microtower + 17f2 5000 KI690-AM2 Motherboard 438b SB600 USB (OHCI4) + 103c 280a DC5750 Microtower + 17f2 5000 KI690-AM2 Motherboard 438c SB600 IDE + 103c 280a DC5750 Microtower + 17f2 5000 KI690-AM2 Motherboard 438d SB600 PCI to LPC Bridge + 103c 280a DC5750 Microtower + 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/SB800 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 @@ -643,9 +725,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 @@ -713,6 +797,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 @@ -727,7 +813,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 @@ -742,6 +827,7 @@ 1014 0517 ThinkPad T30 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 @@ -752,15 +838,16 @@ 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] 4e44 Radeon R300 ND [Radeon 9700 Pro] 1002 515e Radeon ES1000 1002 5965 Radeon ES1000 @@ -772,6 +859,7 @@ 4e48 Radeon R350 [Radeon 9800 Pro] 4e49 Radeon R350 [Radeon 9800] 4e4a RV350 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 @@ -795,6 +883,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] @@ -893,7 +982,9 @@ 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 IBM eServer xSeries server mainboard + 1014 02c8 eServer xSeries server mainboard + 1028 016c PowerEdge 1850 + 1028 016d PowerEdge 2850 1028 019a PowerEdge SC1425 103c 1292 Radeon 7000 1458 4002 RV100 QY [RADEON 7000 PRO MAYA AV Series] @@ -905,6 +996,10 @@ 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 + 1028 0210 PowerEdge T300 515f ES1000 5168 Radeon R200 Qh 5169 Radeon R200 Qi @@ -958,7 +1053,8 @@ 5453 Rage 128 Pro Ultra TS 5454 Rage 128 Pro Ultra TT 5455 Rage 128 Pro Ultra TU - 5460 M22 [Radeon Mobility M300] + 5460 M22 [Mobility Radeon X300] + 1775 1100 CR11/VR11 Single Board Computer 5462 M24 [Radeon Mobility X600] 5464 M22 [FireGL GL] 5548 R423 UH [Radeon X800 (PCIE)] @@ -982,6 +1078,7 @@ 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] @@ -994,6 +1091,7 @@ 5835 RS300M AGP [Radeon Mobility 9100IGP] 5838 Radeon 9100 IGP AGP Bridge 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 @@ -1002,7 +1100,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] @@ -1010,7 +1110,11 @@ 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 @@ -1034,9 +1138,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] + 103c 280a DC5750 Microtower + 1462 7141 Aspire L250 5975 RS485 [Radeon Xpress 1100 IGP] + 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 @@ -1046,6 +1180,7 @@ # 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] 5a61 RC410 [Radeon Xpress 200] @@ -1053,8 +1188,10 @@ 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] @@ -1062,6 +1199,7 @@ 5b65 RV370 5B65 [FireGL D1100 (PCIE)] 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] @@ -1073,11 +1211,13 @@ 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 @@ -1128,28 +1268,34 @@ 1002 0322 All-in-Wonder 2006 PCI-E Edition 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 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] 718a Mobility Radeon X2300 @@ -1164,10 +1310,12 @@ 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 71c6 RV530LE [Radeon X1600/X1650 PRO] 71c7 RV535 [Radeon X1650 Series] 71ce RV530LE [Radeon X1600] @@ -1176,6 +1324,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] @@ -1201,11 +1350,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) @@ -1213,11 +1362,73 @@ 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 + 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) 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] + 17f2 5000 KI690-AM2 Motherboard + 791f RS690M [Radeon X1200 Series] + 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 + 940a R600GL [Fire GL V8650] + 940b R600GL [Fire GL V8600] + 94c1 Radeon HD 2400 XT + 1028 0211 Optiplex 755 + 94c3 RV610 video device [Radeon HD 2400 PRO] + 1002 94c3 Radeon HD 2400PRO + 174b e400 Sapphire HD 2400 PRO video device + 94c4 RV610LE [Radeon HD 2400 Series] + 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 Radeon HD 3850 + 9507 RV670 [Radeon HD 3850] + 9508 M88 XT Mobility Radeon HD 3870] + 950f R680 [Radeon HD 3870 x2] + 9515 RV670 AGP [Radeon HD 3850] + 9559 Mobilitiy Radeon HD 3600 Series + 9581 M76 [Radeon Mobility HD 2600 Series] + 9586 RV 630 XT AGP [Radeon HD 2600 XT AGP] + 9587 RV630 [Radeon HD 2600 AGP Series] + 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] + 9591 Mobilitiy Radeon HD 3650 + 9593 Radeon Mobility HD 3670 + 9596 RV635 PRO AGP [Radeon HD 3650] + 9598 Mobilitiy Radeon HD 3600 Series + 95c0 Mobilitiy Radeon HD 3470 + 95c4 Mobilitiy Radeon HD 3400 Series + 95c5 Mobilitiy 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] cab0 AGP Bridge [IGP 320M] cab2 RS200/RS200M AGP Bridge [IGP 340M] cab3 R200 AGP Bridge [Mobility Radeon 7000 IGP] @@ -1290,13 +1501,18 @@ 0035 DP83065 [Saturn] 10/100/1000 Ethernet Controller 0500 SCx200 Bridge 0501 SCx200 SMI - 0502 SCx200 IDE - 0503 SCx200 Audio + 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 - 0511 SC1100 SMI + 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 @@ -1345,6 +1561,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 @@ -1396,9 +1613,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 @@ -1465,25 +1682,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 @@ -1557,6 +1774,9 @@ 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 @@ -1577,9 +1797,16 @@ 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 @@ -1641,6 +1868,16 @@ 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 @@ -1670,8 +1907,7 @@ 2003 Am 1771 MBW [Alchemy] 2020 53c974 [PCscsi] 2040 79c974 -# CS5536 [Geode companion] Host Bridge - 2080 Conrad Kostecki + 2080 CS5536 [Geode companion] Host Bridge 2081 Geode LX Video 2082 Geode LX AES Security Block 208f CS5536 GeodeLink PCI South Bridge @@ -1737,6 +1973,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 @@ -1773,7 +2021,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 @@ -1793,6 +2040,7 @@ 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 @@ -1877,6 +2125,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 @@ -1887,10 +2136,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 - 1f03 PERC 5/i + 1028 1f03 PERC 5/i Integrated RAID Controller 1029 Siemens Nixdorf IS 102a LSI Logic 0000 HYDRA @@ -2037,6 +2286,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 @@ -2046,10 +2297,12 @@ 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 @@ -2188,6 +2441,7 @@ 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 Gigabit Ethernet Adapter 0191 191 Gigabit Ethernet Adapter @@ -2215,12 +2469,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 @@ -2231,6 +2487,7 @@ 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 @@ -2259,6 +2516,7 @@ 1039 5513 SiS5513 EIDE Controller (A,B step) 1043 8035 CUSI-FX motherboard 1462 7010 MS-6701 motherboard + 1734 1095 D2030-A1 Motherboard 5517 5517 5571 5571 5581 5581 Pentium Chipset @@ -2276,6 +2534,7 @@ 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 740 [315 graphics core] on ECS K7SOM+ motherboard 6326 86C326 5598/6326 1039 6326 SiS6326 GUI Accelerator 1092 0a50 SpeedStar A50 @@ -2286,21 +2545,30 @@ 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.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 + 1043 818f A8S-X Motherboard + 13f6 0300 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 @@ -2312,6 +2580,7 @@ 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 @@ -2334,6 +2603,7 @@ 103b Tatung Co. 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 @@ -2380,6 +2650,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 @@ -2389,15 +2660,28 @@ 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 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) +# 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 @@ -2434,6 +2718,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 @@ -2551,6 +2837,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 @@ -2590,6 +2877,7 @@ 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. @@ -2603,39 +2891,50 @@ 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 + 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 @@ -2654,7 +2953,9 @@ 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 @@ -2675,7 +2976,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 @@ -2698,6 +2999,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 @@ -2709,11 +3011,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 @@ -2723,8 +3024,8 @@ 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 @@ -2733,8 +3034,9 @@ 175c 8800 ASI88xx Audio Adapter 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 @@ -2775,6 +3077,15 @@ 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 @@ -2793,6 +3104,8 @@ 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] @@ -2919,6 +3232,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] @@ -2927,11 +3241,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. @@ -3101,6 +3421,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 @@ -3109,6 +3430,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 @@ -3178,6 +3500,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 @@ -3186,6 +3509,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 10GbE FCoE to PCI Express Converged Network Adapter (CNA) 1078 Cyrix Corporation 0000 5510 [Grappa] 0001 PCI Master @@ -3208,6 +3533,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 @@ -3272,22 +3598,55 @@ 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 +# Correction + 1101 RIO 10/100 Ethernet [eri] 1102 RIO 1394 1103 RIO USB - 1648 [bge] Gigabit Ethernet - 2bad GEM + 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 + 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 - 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 Netra AX1105-500 + a801 Schizo Fireplane-PCI bus bridge module [pcisch] abba Cassini 10/100/1000 + c416 Sun Fire System/System Controller Interface chip [sbbc] 108f Systemsoft 1090 Compro Computer Services, Inc. 1091 Intergraph Corporation @@ -3301,6 +3660,8 @@ 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 @@ -3346,6 +3707,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 @@ -3391,6 +3753,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 @@ -3602,7 +3965,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 @@ -3611,17 +3976,40 @@ 1147 VScom 020 2 port parallel adaptor 2540 IXXAT CAN-Interface PC-I 04/PCI 2724 Thales PCSM Security Card - 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) + 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 - 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 @@ -3677,7 +4065,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 @@ -3692,14 +4081,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 @@ -3708,7 +4097,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 @@ -3835,11 +4224,13 @@ 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 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 @@ -3910,12 +4301,14 @@ 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 + 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 1621 M1621 1631 ALI M1631 PCI North Bridge Aladdin Pro III @@ -3949,16 +4342,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 @@ -3974,17 +4371,20 @@ 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 @@ -3993,12 +4393,15 @@ 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 + 10b9 7101 ASRock 939Dual-SATA2 Motherboard + 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 @@ -4049,7 +4452,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 @@ -4076,6 +4479,7 @@ 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. @@ -4108,6 +4512,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] @@ -4173,8 +4578,8 @@ 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] + 002a NV5 [Riva TNT2] + 002b NV5 [Riva TNT2] 002c NV6 [Vanta/Vanta LT] 1043 0200 AGP-V3800 Combat SDRAM 1043 0201 AGP-V3800 Combat @@ -4224,57 +4629,77 @@ 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 0052 CK804 SMBus 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 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 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 + 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 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 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 1043 815a A8N-E Mainboard + 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 @@ -4282,11 +4707,15 @@ 0064 nForce2 SMBus (MCP) 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 @@ -4295,6 +4724,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 @@ -4319,15 +4749,16 @@ 0091 G70 [GeForce 7800 GTX] 0092 G70 [GeForce 7800 GT] 0093 G70 [GeForce 7800 GS] - 0098 GeForce Go 7800 - 0099 GE Force Go 7800 GTX + 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] + 00c3 NV42 [GeForce 6800 XT] 00c8 NV41.8 [GeForce Go 6800] 00c9 NV41.9 [GeForce Go 6800 Ultra] 00cc NV41 [Quadro FX Go1400] @@ -4347,37 +4778,46 @@ 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 CK8S Serial ATA Controller (v2.5) + 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 @@ -4396,7 +4836,8 @@ 00f6 NV43 [GeForce 6800 GS] 1682 217e XFX GeForce 6800 XTreme 256MB DDR3 AGP 00f8 NV45GL [Quadro FX 3400/4400] - 00f9 NV40 [GeForce 6800 Series GPU] + 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] @@ -4443,6 +4884,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] @@ -4460,7 +4902,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] @@ -4502,10 +4944,11 @@ 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 420 Go 32M] + 0179 NV17 [GeForce4 440 Go 64M] 10de 0179 GeForce4 MX (Mac) 017a NV17GL [Quadro NVS] 017b NV17GL [Quadro4 550 XGL] @@ -4525,12 +4968,15 @@ 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 Quadro NVS 50 PCI + 018c NV18GL [Quadro NVS 50 PCI] 018d NV18M [GeForce4 448 Go] - 0191 GeForce 8800 GTX (G80) + 0191 G80 [GeForce 8800 GTX] 0193 G80 [GeForce 8800 GTS] + 0194 GeForce 8800 Ultra + 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) @@ -4546,19 +4992,21 @@ 01c1 nForce AC'97 Modem Controller 01c2 nForce USB Controller 01c3 nForce Ethernet Controller - 01d1 GeForce 7300 LE + 01d0 GeForce 7350 LE + 01d1 G72 [GeForce 7300 LE] 1462 0345 7300LE PCI Express Graphics Adapter - 01d3 GeForce 7300 SE + 01d3 G72 [GeForce 7300 SE] 01d6 GeForce Go 7200 01d7 G72M [Quadro NVS 110M/GeForce Go 7300] 01d8 G72M [GeForce Go 7400] - 01da Quadro NVS 110M - 01dc Quadro FX 350M - 01dd G72 [Geforce 7500 LE] - 01de Quadro FX 350 + 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 @@ -4570,6 +5018,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 @@ -4588,6 +5037,7 @@ 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 @@ -4596,7 +5046,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 @@ -4612,6 +5064,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) @@ -4620,18 +5074,23 @@ 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 @@ -4639,30 +5098,44 @@ 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] @@ -4678,25 +5151,35 @@ 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 Quadro FX 5500 - 029d Quadro FX 3500 - 029e Quadro FX 1500 - 029f Quadro FX 4500 X2 + 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] 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) 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 @@ -4704,22 +5187,34 @@ 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] @@ -4735,7 +5230,7 @@ 0317 NV31M Pro 031a NV31M [GeForce FX Go5600] 031b NV31M [GeForce FX Go5650] - 031c NVIDIA Quadro FX Go700 + 031c Quadro FX Go700 031d NV31GLM 031e NV31GLM Pro 031f NV31GLM Pro @@ -4743,23 +5238,29 @@ 0321 NV34 [GeForce FX 5200 Ultra] 0322 NV34 [GeForce FX 5200] 1043 02fb V9250 Magic + 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] @@ -4768,6 +5269,7 @@ 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] @@ -4783,43 +5285,57 @@ 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 - 039e Quadro FX 560 + 10de 039c Quadro FX 560M + 039e G73GL [Quadro FX 560] 03a0 C55 Host Bridge 03a1 C55 Host Bridge 03a2 C55 Host Bridge @@ -4848,11 +5364,13 @@ 03b9 C55 PCI Express bridge 03ba C55 Memory Controller 03bb C55 PCI Express bridge + 03bc C55 Memory Controller 03d0 GeForce 6100 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 @@ -4861,20 +5379,57 @@ 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 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 + 0402 GeForce 8600 GT + 0403 GeForce 8600 GS + 0404 GeForce 8400 GS + 0407 GeForce 8600M GT + 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 + 0425 GeForce 8600M GS + 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 + 042f Quadro NVS 290 0440 MCP65 LPC Bridge 0441 MCP65 LPC Bridge 0442 MCP65 LPC Bridge @@ -4906,8 +5461,61 @@ 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 + 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 + 056a GeForce 7100/nForce 630i + 0600 GeForce 8800 GTS 512 + 0606 GeForce 8800 GS + 0609 GeForce 8800M GTS + 060c GeForce 8800M GTX + 0611 GeForce 8800 GT + 061a Quadro FX 3700 + 0622 Geforce 9600 GT 512mb + 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 + 07dc MCP73 Ethernet + 07e1 GeForce 7100/nForce 630i + 07e3 GeForce 7050/nForce 610i + 07f4 GeForce 7100/nForce 630i + 07fc MCP73 High Definition Audio + 10de 07fc MCP73 High Definition Audio + 07fe GeForce 7100/nForce 630i + 0849 GeForce 8200 + c615 G70 [GeForce 7600 GT] 10df Emulex Corporation 1ae5 LP6000 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 @@ -4919,6 +5527,7 @@ 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 @@ -4933,8 +5542,10 @@ fc00 Thor-X 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 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 @@ -4953,6 +5564,7 @@ 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] @@ -5013,6 +5625,7 @@ 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 0861 Realtek 861 High Definition Audio 0862 Realtek 862 High Definition Audio @@ -5028,6 +5641,7 @@ 1259 2400 AT-2400 8129 RTL-8129 10ec 8129 RT8129 Fast Ethernet Adapter + 11ec 8129 RT8129 Fast Ethernet Adapter 8136 RTL8101E PCI Express Fast Ethernet controller 8138 RT8139 (B/C) Cardbus Fast Ethernet Adapter 10ec 8138 RT8139 (B/C) Fast Ethernet Adapter @@ -5055,6 +5669,7 @@ 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 @@ -5062,6 +5677,7 @@ 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 1904 8139 RTL8139D Fast Ethernet Adapter @@ -5071,6 +5687,7 @@ 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 @@ -5079,6 +5696,9 @@ 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 @@ -5097,8 +5717,13 @@ 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 @@ -5126,13 +5751,14 @@ 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 1102 0020 CT4850 SBLive! Value @@ -5171,9 +5797,12 @@ 1102 1001 SB0310 Audigy LS 1102 1002 SB0312 Audigy LS 1102 1006 SB0410 SBLive! 24-bit + 1102 1012 SB0790 X-Fi XA 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 @@ -5201,11 +5830,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 @@ -5214,6 +5843,15 @@ 0007 HPT371/371N 0008 HPT374 0009 HPT372N + 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 + 3220 RocketRAID 3220 + 3320 RocketRAID 3320 1104 RasterOps Corp. 1105 Sigma Designs, Inc. 1105 REALmagic Xcard MPEG 1/2/3/4 DVD Decoder @@ -5228,6 +5866,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 @@ -5275,6 +5914,8 @@ 1297 f641 FX41 motherboard 1458 5002 GA-7VAX Mainboard 1462 7020 K8T NEO 2 motherboard + 1462 7094 K8T Neo2-F V2.0 + 1462 7181 K8MM3-V mainboard 147b 1407 KV8-MAX3 motherboard 1849 0571 K7VT2/K7VT6 motherboard 0576 VT82C576 3V [Apollo Master] @@ -5332,6 +5973,7 @@ 1364 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 @@ -5357,7 +5999,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 @@ -5367,6 +6009,8 @@ 1179 0001 Magnia Z310 1458 5004 GA-7VAX Mainboard 1462 7020 K8T NEO 2 motherboard + 1462 7094 K8T Neo2-F V2.0 + 1462 7181 K8MM3-V mainboard 147b 1407 KV8-MAX3 motherboard 182d 201d CN-029 USB2.0 4 port PCI Card 1849 3038 K7VT6 @@ -5411,6 +6055,7 @@ 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 @@ -5420,18 +6065,22 @@ 1458 a002 GA-7VAX Onboard Audio (Realtek ALC650) 1462 0080 K8T NEO 2 motherboard 1462 3800 KT266 onboard audio + 1462 7181 K8MM3-V mainboard 147b 1407 KV8-MAX3 motherboard 1849 0850 ASRock 775Dual-880 Pro onboard audio (Realtek ALC850) 1849 9761 K7VT6 motherboard - 3005 1695 EP-8KMM3I motherboard onboard audio (Realtek ALC655) 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 + aa01 1106 Epia TC10000 Motherboard 3065 VT6102 [Rhine-II] 1043 80a1 A7V8X-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 @@ -5457,11 +6106,14 @@ 1297 f641 FX41 motherboard 1458 5004 GA-7VAX Mainboard 1462 7020 K8T NEO 2 motherboard + 1462 7094 K8T Neo2-F V2.0 + 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] 1186 1403 DFE-530TX rev C + 1186 1407 DFE-538TX 3108 S3 Unichrome Pro VGA Adapter 3109 VT8233C PCI to ISA Bridge 3112 VT8361 [KLE133] Host Bridge @@ -5481,9 +6133,11 @@ 1043 80ed A7V600/K8V Deluxe/K8V-X/A8V Deluxe motherboard 1458 b003 GA-7VM400AM(F) Motherboard 1462 7020 K8T Neo 2 Motherboard + 1462 7094 K8T Neo2-F V2.0 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 3164 VT6410 ATA133 RAID controller @@ -5525,6 +6179,7 @@ 324e CX700 Internal Module Bus 3258 PT880 Host Bridge 3259 CN400/PM880 Host Bridge + 3260 VIA Chrome9 HC IGP 3269 KT880 Host Bridge 3282 K8T800Pro Host Bridge 3287 VT8251 PCI to ISA Bridge @@ -5536,6 +6191,7 @@ 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 3349 VT8251 AHCI/SATA 4-Port Controller 3351 VT3351 Host Bridge @@ -5575,11 +6231,13 @@ 5351 VT3351 I/O APIC Interrupt Controller 5364 P4M900 I/O APIC Interrupt Controller 6100 VT85C100A [Rhine II] + 6287 SATA RAID Controller 6327 P4M890 Security Device 6364 P4M900 Security Device 7204 K8M800 Host Bridge 7205 VT8378 [S3 UniChrome] Integrated Video 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 @@ -5736,11 +6394,7 @@ 000a GDT 6115/6515 000b GDT 6125/6525 000c GDT 6535 - 000d GDT 6555 - 0010 GDT 6115/6515 - 0011 GDT 6125/6525 - 0012 GDT 6535 - 0013 GDT 6555/6555-ECC + 000d GDT 6555/6555-ECC 0100 GDT 6117RP/6517RP 0101 GDT 6127RP/6527RP 0102 GDT 6537RP @@ -5797,6 +6451,7 @@ 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) @@ -5895,6 +6550,7 @@ 1435 7330 VFG7330 1435 7350 VFG7350 1461 1044 AVerTVHD MCE A180 + 1461 a14b AVerTV Studio 509 1461 f31f Avermedia AVerTV GO 007 FM 1462 6231 TV@Anywhere plus 1489 0214 LifeView FlyTV Platinum FM @@ -5903,6 +6559,7 @@ 153b 1162 Terratec Cinergy 400 mobile 17de 7350 ATSC 110 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 @@ -5937,6 +6594,7 @@ 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 @@ -5970,10 +6628,11 @@ 13c2 1019 S2-3200 13c2 1102 Technotrend/Hauppauge DVB card rev2.1 153b 1156 Terratec Cynergy 1200C + 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 @@ -5995,55 +6654,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 + 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 @@ -6224,6 +6895,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 @@ -6309,13 +6983,14 @@ 0015 CMIC-GC Host Bridge 0016 CMIC-GC Host Bridge 0017 GCNB-LE Host Bridge - 0036 HT1000 PCI/PCI-X 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 HT1000 PCI/PCI-X bridge + 0104 BCM5785 [HT1000] PCI/PCI-X Bridge 0110 CIOB-E I/O Bridge with Gigabit Ethernet - 0130 HT2000 PCI-X bridge - 0132 HT2000 PCI-Express bridge + 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 @@ -6326,34 +7001,49 @@ 4c53 1080 CT8 mainboard 0203 CSB6 South Bridge 1734 1012 Primergy RX300 - 0205 HT1000 Legacy South Bridge + 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 HT1000 Legacy IDE controller + 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 HT1000 USB Controller + 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 HT1000 LPC Bridge + 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) PATA/IDE Mode + 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 @@ -6413,6 +7103,7 @@ 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 ) @@ -6420,6 +7111,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 @@ -6434,13 +7126,16 @@ 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 @@ -6449,13 +7144,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 @@ -6491,11 +7191,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 @@ -6582,12 +7287,14 @@ # 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 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 4320 88E8001 Gigabit Ethernet Controller 1019 0f38 Marvell 88E8001 Gigabit Ethernet Controller (ECS) @@ -6654,6 +7361,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) @@ -6710,6 +7421,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 @@ -6719,14 +7437,18 @@ 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 @@ -6864,7 +7586,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 @@ -6941,6 +7662,8 @@ 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 @@ -7007,7 +7730,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 @@ -7029,6 +7755,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 @@ -7108,6 +7843,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 @@ -7171,6 +7907,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 @@ -7303,7 +8044,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 @@ -7354,6 +8095,7 @@ 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 @@ -7363,6 +8105,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 @@ -7489,6 +8232,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 @@ -7625,9 +8369,11 @@ 9132 Ethernet 100/10 MBit 1283 Integrated Technology Express, Inc. 673a IT8330G - 8211 ITE 8211F Single Channel UDMA 133 (ASUS 8211 (ITE IT8212 ATA RAID Controller)) + 8152 IT8152F/G Advanced RISC-to-PCI Companion Chip + 8211 ITE 8211F Single Channel UDMA 133 1043 8138 P5GD1-VW Mainboard - 8212 IT/ITE8212 Dual channel ATA RAID controller (PCI version seems to be IT8212, embedded seems to be ITE8212) +# 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 @@ -7734,6 +8480,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 @@ -7786,6 +8533,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 @@ -7833,7 +8588,7 @@ 12d6 Analogic Corp 12d7 Biotronic SRL 12d8 Pericom Semiconductor - 01a7 PCI to PCI bridge + 01a7 PI7C21P100 PCI to PCI Bridge 8150 PCI to PCI Bridge 12d9 Aculab PLC 0002 PCI Prosody @@ -7841,6 +8596,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. @@ -7976,7 +8732,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 @@ -8072,7 +8842,7 @@ 132c Micrel Inc 132d Integrated Silicon Solution, Inc. 1330 MMC Networks -1331 Radisys Corp. +1331 RadiSys Corporation 0030 ENP-2611 8200 82600 Host Bridge 8201 82600 IDE @@ -8164,13 +8934,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 @@ -8262,7 +9035,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 @@ -8292,10 +9065,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 @@ -8308,6 +9100,7 @@ 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) @@ -8315,6 +9108,7 @@ 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 @@ -8342,6 +9136,7 @@ 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 @@ -8387,6 +9182,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 @@ -8413,6 +9209,7 @@ 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 @@ -8447,6 +9244,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 @@ -8466,8 +9264,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 @@ -8484,6 +9299,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 @@ -8566,9 +9383,19 @@ 153b 1153 Aureon 7.1 Universe 270f f641 ZNF3-150 270f f645 ZNF3-250 - 3136 4154 Prodigy 7.1 XT 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) @@ -8613,6 +9440,10 @@ 1425 Chelsio Communications Inc 000b T210 Protocol Engine 000c T204 Protocol Engine + 0030 T310 10GbE Single Port Protocol Engine Ethernet Adapter + 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 @@ -8707,8 +9538,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 @@ -8717,6 +9551,7 @@ 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. @@ -8773,7 +9608,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 @@ -8882,6 +9717,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. @@ -8925,6 +9762,7 @@ 107b 5048 E4500 Onboard 1601 NetXtreme BCM5752M Gigabit Ethernet PCI Express 1639 NetXtreme II BCM5709 Gigabit Ethernet + 163a NetXtreme II BCM5709S Gigabit Ethernet 1644 NetXtreme BCM5700 Gigabit Ethernet 1014 0277 Broadcom Vigil B5700 1000Base-T 1028 00d1 Broadcom BCM5700 @@ -8951,7 +9789,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] @@ -8986,6 +9824,7 @@ 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) + 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) @@ -8994,6 +9833,7 @@ 10b7 3000 3C999-T Quad Port 10/100/1000 PCI-X 1166 1648 NetXtreme CIOB-E 1000Base-T 1734 100b Primergy RX300 + 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 @@ -9001,12 +9841,17 @@ 103c 7037 NC373T PCI Express Multifunction Gigabit Server Adapter 103c 7038 NC373i Integrated Multifunction Gigabit Server Adapter 164d NetXtreme BCM5702FE Gigabit Ethernet +# added marketing name - Everest + 164e NetXtreme II BCM57710 10Gigabit PCIe [Everest] + 164f NetXtreme II BCM57711 10Gigabit PCIe + 1650 NetXtreme II BCM57712 10Gigabit PCIe 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 103c 7031 NC320T PCIe Gigabit Server Adapter @@ -9015,6 +9860,7 @@ 165a NetXtreme BCM5722 Gigabit Ethernet PCI Express 103c 7051 NC105i PCIe Gigabit Server Adapter 103c 7052 NC105T PCIe Gigabit Server Adapter + 165b NetXtreme BCM5723 Gigabit Ethernet PCIe 165d NetXtreme BCM5705M Gigabit Ethernet 1028 865d Latitude D400 165e NetXtreme BCM5705M_2 Gigabit Ethernet @@ -9031,13 +9877,16 @@ 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) 1734 105d Scenic W620 + 3007 103c HP DC7100 USFF 1678 NetXtreme BCM5715 Gigabit Ethernet 1679 NetXtreme BCM5715S Gigabit Ethernet 103c 1707 NC326m PCIe Dual Port Adapter @@ -9045,14 +9894,20 @@ 103c 703c NC326i PCIe Dual Port Gigabit Server Adapter 167a NetXtreme BCM5754 Gigabit Ethernet PCI Express 167b NetXtreme BCM5755 Gigabit Ethernet PCI Express + 167c NetXtreme BCM5750M Gigabit Ethernet 167d NetXtreme BCM5751M Gigabit Ethernet PCI Express + 103c 0940 HP Compaq nw8240 Mobile Workstation 17aa 2081 Thinkpad R60e model 0657 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 1696 NetXtreme BCM5782 Gigabit Ethernet 103c 12bc d530 CMT (DG746A) 14e4 000d NetXtreme BCM5782 1000Base-T + 1698 NetLink BCM5784M Gigabit Ethernet PCIe 169a NetLink BCM5786 Gigabit Ethernet PCI Express 169b NetLink BCM5787 Gigabit Ethernet PCI Express 169c NetXtreme BCM5788 Gigabit Ethernet @@ -9078,6 +9933,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 @@ -9099,6 +9955,7 @@ 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 103c 099c NX6110/NC6120 @@ -9112,6 +9969,7 @@ 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 4301 BCM4303 802.11b Wireless LAN Controller 1028 0407 TrueMobile 1180 Onboard WLAN 1043 0120 WL-103b Wireless LAN PC Card @@ -9119,8 +9977,8 @@ 4306 BCM4307 Ethernet Controller 4307 BCM4307 802.11b Wireless LAN Controller 4310 BCM4310 Chipcommon I/OController - 4311 Dell Wireless 1390 WLAN Mini-PCI Card - 4312 BCM4310 UART + 4311 BCM94311MCG wlan mini-PCI + 4312 BCM4312 802.11a/b/g 4313 BCM4310 Ethernet Controller 4315 BCM4310 USB Controller 4318 BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller @@ -9131,6 +9989,7 @@ 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 4320 BCM4306 802.11b/g Wireless LAN Controller @@ -9159,7 +10018,11 @@ 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 000a Wireless 1500 Draft 802.11n WLAN Mini-card 4329 BCM43XG + 432b BCM4322 802.11a/b/g/n Wireless LAN Controller 4344 EDGE/GPRS data and 802.11b/g combo cardbus [GC89] 4401 BCM4401 100Base-T 103c 08b0 tc1100 tablet @@ -9214,6 +10077,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 @@ -9374,8 +10238,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 @@ -9418,13 +10283,16 @@ 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 @@ -9434,8 +10302,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 @@ -9544,6 +10414,14 @@ 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 @@ -9553,6 +10431,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 @@ -9582,6 +10463,7 @@ 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 @@ -9701,6 +10583,9 @@ 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 @@ -9738,14 +10623,19 @@ 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 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] @@ -9755,6 +10645,13 @@ 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 @@ -9820,6 +10717,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. @@ -9882,6 +10780,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] @@ -9900,6 +10800,8 @@ 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 +1679 Tokyo Electron Device Ltd. 167b ZyDAS Technology Corp. 2102 ZyDAS ZD1202 187e 3406 ZyAIR B-122 CardBus 11Mbs Wireless LAN Card @@ -9910,11 +10812,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 @@ -9929,12 +10831,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 @@ -9943,7 +10847,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 @@ -9955,18 +10860,26 @@ 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 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 - 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 @@ -9982,14 +10895,18 @@ 1101 PLX9052 PCMCIA-to-PCI Wireless LAN 1102 PCMCIA-to-PCI Wireless Network Bridge 8501 WL-8305 Wireless LAN PCI Adapter -16ae Safenet Inc - 1141 SafeXcel-1141 +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 @@ -9997,12 +10914,48 @@ 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 @@ -10019,14 +10972,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 @@ -10046,12 +11001,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 @@ -10061,6 +11020,7 @@ 0004 CAMAC Controller 0005 PROFIBUS 0006 AMCC HOTlink + 000d Synchronisation Slave 1797 JumpTec h, GMBH 1799 Belkin 6001 Wireless PCI Card - F5D6001 @@ -10080,6 +11040,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 @@ -10102,17 +11063,17 @@ 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 - 0201 XT Series [Seastar] 3D Toroidal Router with RMA - 0202 XT Series [Seastar] 3D Toroidal Router with RMA 17de KWorld Computer Co. Ltd. 17e4 Sectra AB 0001 KK671 Cardbus encryption board @@ -10152,23 +11113,29 @@ 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 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 + 0001 Twinhan VisionPlus DVB [card=113] 4e35 Mantis DTV PCI Bridge Controller [Ver 1.0] 182d SiteCom Europe BV # HFC-based ISDN card @@ -10176,6 +11143,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 @@ -10198,6 +11169,16 @@ 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 @@ -10217,6 +11198,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. @@ -10258,15 +11240,23 @@ 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 -1924 Solarflare Communications (nee Level 5 Networks) +# nee Level 5 Networks +1924 Solarflare Communications 192e TransDimension 1931 Option N.V. 000c Qualcomm MSM6275 UMTS chip @@ -10278,8 +11268,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 @@ -10288,12 +11293,15 @@ 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. 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 @@ -10318,7 +11326,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 @@ -10327,6 +11335,7 @@ 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 @@ -10341,16 +11350,29 @@ 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 Technologies, 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 @@ -10361,11 +11383,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. @@ -10475,6 +11503,16 @@ 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 + 103c 7048 NC510C PCIe 10 Gigabit Server Adapter + 0002 NXB-10GCX4 10 Gigabit Ethernet PCIe Adapter with CX4 copper interface + 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 + 0024 XG Mgmt + 0025 XG Mgmt 4143 Digital Equipment Corp 4144 Alpha Data 0044 ADM-XRCIIPro @@ -10500,6 +11538,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 @@ -10523,6 +11562,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 @@ -10700,6 +11741,7 @@ 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 @@ -10755,7 +11797,9 @@ 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 @@ -10803,15 +11847,16 @@ # (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 [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) @@ -10834,6 +11879,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 1650/2550 1028 011c PRO/1000 XT Network Connection 8086 1107 PRO/1000 XT Server Adapter 8086 2107 PRO/1000 XT Server Adapter @@ -10858,7 +11904,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 @@ -10867,11 +11913,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 @@ -10956,28 +12004,35 @@ 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 R50e model 1634 + 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 + 2527 8086 Asus M6800N + 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 + 17aa 20b9 ThinkPad T61 + 30c5 103c HP Compaq 8510p 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 @@ -10994,6 +12049,8 @@ 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 @@ -11002,6 +12059,7 @@ 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 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 @@ -11023,8 +12081,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 @@ -11059,9 +12119,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 @@ -11093,8 +12155,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 @@ -11104,6 +12168,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 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 @@ -11112,16 +12182,46 @@ 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 + 3039 17aa Lenovo M57 USFF + 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 + 8086 a05f 10 Gigabit XF SR Server Adapter + 8086 a15f 10 Gigabit XF SR Server Adapter + 8086 a16f 10 Gigabit XF SR Server Adapter + 10cb 82567V Gigabit Network Connection + 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 + 10e2 82575GB Gigabit Network Connection + 8086 10e2 Gigabit VT Quad Port 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 @@ -11130,8 +12230,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 @@ -11152,8 +12253,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* @@ -11192,8 +12292,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 @@ -11212,6 +12312,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 @@ -11222,6 +12323,7 @@ 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 @@ -11336,7 +12438,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 @@ -11361,90 +12463,103 @@ 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 + 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 - 2412 82801AA USB - 2413 82801AA SMBus - 2415 82801AA AC'97 Audio + 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 + 2416 82801AA AC'97 Modem Controller 2418 82801AA PCI Bridge 2420 82801AB ISA Bridge (LPC) - 2421 82801AB IDE - 2422 82801AB USB - 2423 82801AB SMBus - 2425 82801AB AC'97 Audio + 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 + 2426 82801AB AC'97 Modem Controller 2428 82801AB PCI Bridge 2440 82801BA ISA Bridge (LPC) 8086 5744 S845WD1-E - 2442 82801BA/BAM USB (Hub #1) + 2442 82801BA/BAM USB Controller #1 1014 01c6 Netvista A40/A40p 1025 1016 Travelmate 612 TX 1028 00c7 Dimension 8100 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 + 2443 82801BA/BAM SMBus Controller 1014 01c6 Netvista A40/A40p 1025 1016 Travelmate 612 TX 1028 00c7 Dimension 8100 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 (Hub #2) + 2444 82801BA/BAM USB Controller #1 1025 1016 Travelmate 612 TX 1028 00c7 Dimension 8100 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 + 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 + 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 + 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 30a3 Compaq nw8440 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 @@ -11476,30 +12591,33 @@ 8086 3016 EtherExpress PRO/100 P Mobile Combo 8086 3017 EtherExpress PRO/100 P Mobile 8086 3018 EtherExpress PRO/100 - 244a 82801BAM IDE U100 + 244a 82801BAM IDE U100 Controller 1025 1016 Travelmate 612TX 104d 80df Vaio PCG-FX403 - 244b 82801BA IDE U100 + 244b 82801BA IDE U100 Controller 1014 01c6 Netvista A40/A40p 1028 00c7 Dimension 8100 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 2450 82801E ISA Bridge (LPC) - 2452 82801E USB - 2453 82801E SMBus + 2452 82801E USB Controller + 2453 82801E SMBus Controller 2459 82801E Ethernet Controller 0 - 245b 82801E IDE U100 + 245b 82801E IDE U100 Controller 245d 82801E Ethernet Controller 1 245e 82801E PCI Bridge 2480 82801CA LPC Interface Controller - 2482 82801CA/CAM USB (Hub #1) + 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 @@ -11512,7 +12630,7 @@ 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP 15d9 3480 P4DP6 8086 1958 vpr Matrix 170B4 - 2484 82801CA/CAM USB (Hub #2) + 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 @@ -11520,27 +12638,30 @@ 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) + 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 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 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 (Hub #3) + 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 + 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 @@ -11555,33 +12676,42 @@ 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 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 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) @@ -11592,44 +12722,55 @@ 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) 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 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 80b0 P4B533 1071 8160 MIM2000 + 144d c005 X10 Laptop 144d c00c P30/P35 notebook 1458 a002 GA-8PE667 Ultra 1462 5800 845PE Max (MS-6580) + 1713 1043 Asus M6800N 1734 1005 D1451 (SCENIC N300, i845GV) Sigmatel STAC9750T 1734 1055 Amilo M1420 + 8086 24c5 Dell Dimension 2400 + a002 1458 Realtek AC'97 codec [ALC655] 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 @@ -11637,41 +12778,53 @@ 103c 0890 NC6000 laptop 103c 08b0 tc1100 tablet 1071 8160 MIM2000 + 144d 2115 X10 Laptop 144d c00c P30/P35 notebook +# Conexant HSF Softmodem (CXT22) + 14f1 5422 D480 MDC V.9x Modem + 1826 1043 Asus M6800N 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) 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 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) @@ -11683,24 +12836,29 @@ 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 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 @@ -11711,14 +12869,18 @@ 1043 80a6 P4P800 SE Mainboard 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 02ed xSeries server mainboard + 1014 02dd eServer xSeries server mainboard + 1014 02ed eServer xSeries server mainboard 1028 0169 Precision 470 + 1028 016c PowerEdge 1850 + 1028 016d PowerEdge 2850 1028 0183 PowerEdge 1800 1028 019a PowerEdge SC1425 103c 006a NX9500 @@ -11726,29 +12888,35 @@ 1043 80a6 P5P800-MX Mainboard 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 8086 524c D865PERL mainboard 24d3 82801EB/ER (ICH5/ICH5R) SMBus Controller - 1014 02ed xSeries server mainboard + 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 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 8086 524c D865PERL mainboard 24d4 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 - 1014 02ed xSeries server mainboard + 1014 02dd eServer xSeries server mainboard + 1014 02ed eServer xSeries server mainboard 1028 0169 Precision 470 + 1028 016c PowerEdge 1850 + 1028 016d PowerEdge 2850 1028 0183 PowerEdge 1800 1028 019a PowerEdge SC1425 103c 006a NX9500 @@ -11756,8 +12924,9 @@ 1043 80a6 P5P800-MX 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 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 @@ -11781,21 +12950,27 @@ 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 1028 0183 PowerEdge 1800 103c 006a NX9500 103c 12bc d530 CMT (DG746A) 1043 80a6 P5P800-MX 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 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 8086 524c D865PERL mainboard 24db 82801EB/ER (ICH5/ICH5R) IDE Controller - 1014 02ed xSeries server mainboard + 1014 02dd eServer xSeries server mainboard + 1014 02ed eServer xSeries server mainboard 1028 0169 Precision 470 + 1028 016c PowerEdge 1850 + 1028 016d PowerEdge 2850 1028 019a PowerEdge SC1425 103c 006a NX9500 103c 12bc d530 CMT (DG746A) @@ -11803,8 +12978,9 @@ 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 @@ -11812,8 +12988,11 @@ 8086 524c D865PERL mainboard 24dc 82801EB (ICH5) LPC Interface Bridge 24dd 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller - 1014 02ed xSeries server mainboard + 1014 02dd eServer xSeries server mainboard + 1014 02ed eServer xSeries server mainboard 1028 0169 Precision 470 + 1028 016c PowerEdge 1850 + 1028 016d PowerEdge 2850 1028 0183 PowerEdge 1800 1028 019a PowerEdge SC1425 103c 006a NX9500 @@ -11831,8 +13010,9 @@ 1043 80a6 P5P800-MX 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 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 @@ -11884,6 +13064,7 @@ 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 @@ -11917,73 +13098,95 @@ 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 +# (rev 03) (prog-if 00 [Normal decode]) + 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 @@ -12043,7 +13246,10 @@ 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 @@ -12052,34 +13258,50 @@ 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 @@ -12087,8 +13309,12 @@ 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 @@ -12096,31 +13322,56 @@ 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 +# (rev 03) (prog-if 00 [Normal decode]) + 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 +# (rev 03) (prog-if 00 [Normal decode]) + 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 814e P5GD1-VW Mainboard 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 0188 Inspiron 6000 laptop + 103c 0934 Compaq nw8240/nx8220 103c 0944 Compaq NC6220 103c 099c NX6110/NC6120 103c 3006 DC7100 SFF(DX878AV) @@ -12128,16 +13379,21 @@ 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 - 2680 631xESB/632xESB/3100 Chipset SATA Storage Controller IDE - 2681 631xESB/632xESB SATA Storage Controller AHCI - 2682 631xESB/632xESB SATA Storage Controller RAID - 2683 631xESB/632xESB SATA Storage Controller RAID + 2680 631xESB/632xESB/3100 Chipset SATA IDE Controller + 2681 631xESB/632xESB SATA AHCI Controller + 2682 631xESB/632xESB SATA RAID Controller + 2683 631xESB/632xESB SATA RAID Controller 2688 631xESB/632xESB/3100 Chipset UHCI USB Controller #1 2689 631xESB/632xESB/3100 Chipset UHCI USB Controller #2 268a 631xESB/632xESB/3100 Chipset UHCI USB Controller #3 @@ -12162,9 +13418,12 @@ 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 @@ -12172,156 +13431,333 @@ 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 103c 30a1 NC2400 - 17aa 2017 Thinkpad R60e model 0657 + 103c 30a3 Compaq nw8440 + 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 107b 5048 E4500 8086 544e DeskTop Board D945GTP 27b9 82801GBM (ICH7-M) LPC Interface Bridge 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 - 27c0 82801GB/GR/GH (ICH7 Family) Serial ATA Storage Controller IDE + 1025 006c 9814 WKMI + 27c0 82801GB/GR/GH (ICH7 Family) SATA IDE Controller + 1028 01df PowerEdge SC440 + 1028 01e6 PowerEdge 860 107b 5048 E4500 + 1462 7236 945P Neo3-F Rev. 2.2 motherboard 8086 544e DeskTop Board D945GTP - 27c1 82801GR/GH (ICH7 Family) Serial ATA Storage Controller AHCI - 27c3 82801GR/GH (ICH7 Family) Serial ATA Storage Controller RAID - 27c4 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE - 27c5 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI - 17aa 200d Thinkpad R60e model 0657 - 27c6 82801GHM (ICH7-M DH) Serial ATA Storage Controller RAID - 27c8 82801G (ICH7 Family) USB UHCI #1 + 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 + 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 01df PowerEdge SC440 + 1028 01e6 PowerEdge 860 103c 30a1 NC2400 + 103c 30a3 Compaq nw8440 107b 5048 E4500 17aa 200a ThinkPad T60/R60 series 8086 544e DeskTop Board D945GTP - 27c9 82801G (ICH7 Family) USB UHCI #2 + 27c9 82801G (ICH7 Family) USB UHCI Controller #2 + 1025 006c 9814 WKMI + 1028 01df PowerEdge SC440 + 1028 01e6 PowerEdge 860 103c 30a1 NC2400 + 103c 30a3 Compaq nw8440 107b 5048 E4500 17aa 200a ThinkPad T60/R60 series 8086 544e DeskTop Board D945GTP - 27ca 82801G (ICH7 Family) USB UHCI #3 + 27ca 82801G (ICH7 Family) USB UHCI Controller #3 + 1025 006c 9814 WKMI + 1028 01df PowerEdge SC440 + 1028 01e6 PowerEdge 860 103c 30a1 NC2400 + 103c 30a3 Compaq nw8440 107b 5048 E4500 17aa 200a ThinkPad T60/R60 series 8086 544e DeskTop Board D945GTP - 27cb 82801G (ICH7 Family) USB UHCI #4 + 27cb 82801G (ICH7 Family) USB UHCI Controller #4 + 1025 006c 9814 WKMI + 1028 01df PowerEdge SC440 103c 30a1 NC2400 + 103c 30a3 Compaq nw8440 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 01df PowerEdge SC440 + 1028 01e6 PowerEdge 860 103c 30a1 NC2400 + 103c 30a3 Compaq nw8440 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 103c 30a1 NC2400 + 103c 30a3 Compaq nw8440 + 1043 13c4 Asus G2P 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 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 Lenovo 3000 N100 Audio (Intel HDA) 27da 82801G (ICH7 Family) SMBus Controller + 1025 006c 9814 WKMI + 1028 01df PowerEdge SC440 + 1028 01e6 PowerEdge 860 10f7 8338 Panasonic CF-Y5 laptop 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 + 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 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 + 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 + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 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 - 2830 82801H (ICH8 Family) USB UHCI #1 + 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 + 103c 30c0 Compaq 6710b + 104d 9005 Vaio VGN-FZ260E + 17aa 20a7 ThinkPad T61 + 282a Mobile 82801 SATA RAID Controller + 2830 82801H (ICH8 Family) USB UHCI Controller #1 + 1028 01da OptiPlex 745 + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 1043 81ec P5B + 104d 9005 Vaio VGN-FZ260E 1462 7235 P965 Neo MS-7235 mainboard - 2831 82801H (ICH8 Family) USB UHCI #2 + 17aa 20aa ThinkPad T61 + e4bf cc47 CCG-RUMBA + 2831 82801H (ICH8 Family) USB UHCI Controller #2 + 1028 01da OptiPlex 745 + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 1043 81ec P5B + 104d 9005 Vaio VGN-FZ260E 1462 7235 P965 Neo MS-7235 mainboard - 2832 82801H (ICH8 Family) USB UHCI #3 - 2834 82801H (ICH8 Family) USB UHCI #4 + 17aa 20aa ThinkPad T61 + e4bf cc47 CCG-RUMBA + 2832 82801H (ICH8 Family) USB UHCI Controller #3 + 1028 01da OptiPlex 745 + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 1043 81ec P5B + 104d 9005 Vaio VGN-FZ260E + 17aa 20aa ThinkPad T61 + e4bf cc47 CCG-RUMBA + 2834 82801H (ICH8 Family) USB UHCI Controller #4 + 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 - 2835 82801H (ICH8 Family) USB UHCI #5 - 2836 82801H (ICH8 Family) USB2 EHCI #1 + 17aa 20aa ThinkPad T61 + e4bf cc47 CCG-RUMBA + 2835 82801H (ICH8 Family) USB UHCI Controller #5 + 1028 01da OptiPlex 745 + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 1043 81ec P5B + 104d 9005 Vaio VGN-FZ260E + 17aa 20aa ThinkPad T60 + e4bf cc47 CCG-RUMBA + 2836 82801H (ICH8 Family) USB2 EHCI Controller #1 + 1028 01da OptiPlex 745 + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 1043 81ec P5B + 104d 9005 Vaio VGN-FZ260E 1462 7235 P965 Neo MS-7235 mainboard - 283a 82801H (ICH8 Family) USB2 EHCI #2 + 17aa 20ab ThinkPad T61 + e4bf cc47 CCG-RUMBA + 283a 82801H (ICH8 Family) USB2 EHCI Controller #2 + 1028 01da OptiPlex 745 + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 1043 81ec P5B + 104d 9005 Vaio VGN-FZ260E + 17aa 20ab ThinkPad T61 + e4bf cc47 CCG-RUMBA 283e 82801H (ICH8 Family) SMBus Controller + 1028 01da OptiPlex 745 + 1028 01f3 Inspiron 1420 + 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 2841 82801H (ICH8 Family) PCI Express Port 2 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 2849 82801H (ICH8 Family) PCI Express Port 6 284b 82801H (ICH8 Family) HD Audio Controller + 0690 107b Gateway P-6825 + 1028 01da OptiPlex 745 + 1028 01f3 Inspiron 1420 + 1028 01f9 Dell Latitude D630 + 103c 30c0 Compaq 6710b + 1043 81ec P5B + 104d 9005 Vaio VGN-FZ260E + 17aa 20ac ThinkPad T61 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 - 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 - 294c Gigabit Ethernet Controller + 2850 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 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 + 1028 0210 PowerEdge T300 + 1028 0211 Optiplex 755 + 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 + 2926 82801I (ICH9 Family) 2 port SATA IDE Controller + 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 + 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 + 1028 0210 PowerEdge T300 + 1028 0211 Optiplex 755 + 1028 2011 Optiplex 755 + 2935 82801I (ICH9 Family) USB UHCI Controller #2 + 1028 020f PowerEdge R300 + 1028 0210 PowerEdge T300 + 1028 0211 Optiplex 755 + 2936 82801I (ICH9 Family) USB UHCI Controller #3 + 1028 020f PowerEdge R300 + 1028 0210 PowerEdge T300 + 1028 0211 Optiplex 755 + 2937 82801I (ICH9 Family) USB UHCI Controller #4 + 1028 0211 Optiplex 755 + 1028 2011 Optiplex 755 + 8086 2937 Optiplex 755 + 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 + 1028 0210 PowerEdge T300 + 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 @@ -12330,10 +13766,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 @@ -12342,72 +13781,226 @@ 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 DRAM Controller - 29b1 PCI Express Root Port - 29b2 Integrated Graphics Controller - 29b3 Integrated Graphics Controller - 29b4 HECI Controller - 29b5 HECI 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 HECI Controller - 29c5 HECI 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 + 29c1 82G33/G31/P35/P31 Express PCI Express Root Port + 29c2 82G33/G31 Express Integrated Graphics Controller + 29c3 82G33/G31 Express Integrated Graphics Controller + 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 HECI Controller - 29d5 HECI Controller - 29d6 PT IDER Controller - 29d7 Serial KT Controller - 29e0 DRAM Controller - 29e1 Host-Primary PCI Express Bridge - 29e4 HECI Controller - 29e5 HECI 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 HECI Controller - 29f5 Server HECI 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 HECI Controller - 2a05 Mobile HECI 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 Express DRAM Controller + 29e1 82X38 Express Host-Primary PCI Express Bridge + 29e4 82X38 Express MEI Controller + 29e5 82X38 Express MEI Controller + 29e6 82X38 Express PT IDER Controller + 29e7 82X38 Express Serial KT Controller + 29e9 82X38 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 + 1028 01f3 Inspiron 1420 + 103c 30c0 Compaq 6710b + 104d 9005 Vaio VGN-FZ260E + 17aa 20b1 ThinkPad 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 + e4bf cc47 CCG-RUMBA + 2a03 Mobile GM965/GL960 Integrated Graphics Controller + 1028 01f3 Dell Inspiron 1420 + 103c 30c0 Compaq 6710b + e4bf cc47 CCG-RUMBA + 2a04 Mobile PM965/GM965 MEI Controller + 2a05 Mobile PM965/GM965 MEI Controller + 2a06 Mobile PM965/GM965 PT IDER Controller + 2a07 Mobile PM965/GM965 KT Controller + 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 Cantiga Memory Controller Hub + 2a41 Cantiga PCI Express Graphics Port + 2a42 Cantiga Integrated Graphics Controller + 2a43 Cantiga Integrated Graphics Controller + 2a44 Cantiga MEI Controller + 2a45 Cantiga MEI Controller + 2a46 Cantiga PT IDER Controller + 2a47 Cantiga 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 QuickPath Interconnect Link 0 + 2c11 QuickPath Interconnect Physical 0 + 2c14 QuickPath Interconnect Link 1 + 2c15 QuickPath Interconnect 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 Eaglelake DRAM Controller + 2e01 Eaglelake PCI Express Root Port + 2e02 Eaglelake Integrated Graphics Controller + 2e03 Eaglelake Integrated Graphics Controller + 2e04 Eaglelake HECI Controller + 2e05 Eaglelake HECI Controller + 2e06 Eaglelake PT IDER Controller + 2e07 Eaglelake Serial KT Controller + 2e10 Eaglelake DRAM Controller + 2e11 Eaglelake PCI Express Root Port + 2e12 Eaglelake Integrated Graphics Controller + 2e13 Eaglelake Integrated Graphics Controller + 2e14 Eaglelake HECI Controller + 2e15 Eaglelake HECI Controller + 2e16 Eaglelake PT IDER Controller + 2e17 Eaglelake Serial KT Controller + 2e20 Eaglelake DRAM Controller + 2e21 Eaglelake PCI Express Root Port + 2e22 Eaglelake Integrated Graphics Controller + 2e23 Eaglelake HECI Controller + 2e24 Eaglelake HECI Controller + 2e25 Eaglelake HECI Controller + 2e26 Eaglelake PT IDER Controller + 2e27 Eaglelake Serial KT Controller + 2e30 Eaglelake DRAM Controller + 2e31 Eaglelake PCI Express Root Port + 2e32 Eaglelake Integrated Graphics Controller + 2e33 Eaglelake Integrated Graphics Controller + 2e34 Eaglelake HECI Controller + 2e35 Eaglelake HECI Controller + 2e36 Eaglelake PT IDER Controller + 2e37 Eaglelake Serial KT Controller + 2e40 Eaglelake DRAM Controller + 2e41 Eaglelake PCI Express Root Port + 2e42 Eaglelake Integrated Graphics Controller + 2e43 Eaglelake Integrated Graphics Controller + 2e44 Eaglelake HECI Controller + 2e45 Eaglelake HECI Controller + 2e46 Eaglelake PT IDER Controller + 2e47 Eaglelake 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 T41 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 @@ -12429,10 +14022,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 @@ -12443,9 +14039,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 @@ -12453,43 +14052,60 @@ 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 3590 E7520 Memory Controller Hub + 1014 02dd eServer xSeries server mainboard + 1028 016c PowerEdge 1850 + 1028 016d PowerEdge 2850 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 + 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 @@ -12498,74 +14114,184 @@ 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 + 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 ICH10 LPC Interface Controller + 3a18 ICH10 LPC Interface Controller + 3a1a ICH10 LPC Interface Controller + 3a20 ICH10 4 port SATA IDE Controller + 3a22 ICH10 6 port SATA AHCI Controller + 3a25 ICH10 SATA RAID Controller + 3a26 ICH10 2 port SATA IDE Controller + 3a30 ICH10 SMBus Controller + 3a32 ICH10 Thermal Subsystem + 3a34 ICH10 USB UHCI Controller #1 + 3a35 ICH10 USB UHCI Controller #2 + 3a36 ICH10 USB UHCI Controller #3 + 3a37 ICH10 USB UHCI Controller #4 + 3a38 ICH10 USB UHCI Controller #5 + 3a39 ICH10 USB UHCI Controller #6 + 3a3a ICH10 USB2 EHCI Controller #1 + 3a3c ICH10 USB2 EHCI Controller #2 + 3a3e ICH10 HD Audio Controller + 3a40 ICH10 PCI Express Port 1 + 3a42 ICH10 PCI Express Port 2 + 3a44 ICH10 PCI Express Port 3 + 3a46 ICH10 PCI Express Port 4 + 3a48 ICH10 PCI Express Port 5 + 3a4a ICH10 PCI Express Port 6 + 3a4c ICH10 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 + 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 Network Connection - 2731 8086 WLAN-Adapter + 103c 0934 Compaq nw8240/nx8220 + 103c 12f6 Compaq nw8240/nx8220 + 8086 2721 Dell B130 laptop integrated WLAN 8086 2731 Samsung P35 integrated WLAN 4222 PRO/Wireless 3945ABG Network Connection + 103c 135c Compaq 6710b + 103c 30c0 Compaq 6710b 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 + 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 + 8086 1011 ThinkPad R60e/X60s 8086 1014 PRO/Wireless 3945BG Network Connection - 5001 Pro/DSL 2100 Modem + 4229 PRO/Wireless 4965 AG or AGN Network Connection + 4230 PRO/Wireless 4965 AG or AGN Network Connection + 8086 1110 Lenovo ThinkPad T51 + 8086 1111 Lenovo ThinkPad T61 + 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 Tolapai Memory Controller Hub + 5021 Tolapai DRAM Error Reporting Registers + 5023 Tolapai EDMA Controller + 5024 Tolapai PCI Express Port PEA0 + 5025 Tolapai PCI Express Port PEA1 + 5028 Tolapai S-ATA IDE + 5029 Tolapai S-ATA AHCI + 502a Tolapai S-ATA RAID0/1 + 502b Tolapai S-ATA Reserved + 502c Tolapai System Device + 5030 Tolapai System Device + 5031 Tolapai LPC Bus + 5032 Tolapai SMBus Controller + 5033 Tolapai USB 1.1 Controller + 5035 Tolapai USB 2.0 Controller + 5037 Tolapai PCI-PCI Bridge (transparent mode) + 5039 Tolapai Controller Area Network (CAN) interface #1 + 503a Tolapai Controller Area Network (CAN) interface #2 + 503b Tolapai Synchronous Serial Port (SPP) + 503c Tolapai IEEE 1588 Hardware Assist + 503d Tolapai Local Expansion Bus + 503e Tolapai Global Control Unit (GCU) + 503f Tolapai System Device + 5040 Tolapai Gigabit Ethernet MAC + 5041 Tolapai Gigabit Ethernet MAC + 5042 Tolapai Gigabit Ethernet MAC + 5043 Tolapai Gigabit Ethernet MAC + 5044 Tolapai Gigabit Ethernet MAC + 5045 Tolapai Gigabit Ethernet MAC + 5046 Tolapai Gigabit Ethernet MAC + 5047 Tolapai Gigabit Ethernet MAC + 5048 Tolapai Gigabit Ethernet MAC + 5049 Tolapai Gigabit Ethernet MAC + 504a Tolapai Gigabit Ethernet MAC + 504b Tolapai Gigabit Ethernet MAC + 504c Tolapai 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] @@ -12574,24 +14300,26 @@ 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] - 7125 82810E DC-133 CGC [Chipset Graphics Controller] + 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 @@ -12601,8 +14329,9 @@ 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 @@ -12610,6 +14339,7 @@ 7192 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) 0e11 0460 Armada 1700 Laptop System Chipset 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 @@ -12642,6 +14372,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 @@ -12862,6 +14608,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 @@ -12876,6 +14624,14 @@ 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) @@ -12920,6 +14676,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 @@ -12952,6 +14712,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) @@ -12966,6 +14728,7 @@ 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 @@ -12985,6 +14748,7 @@ 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 @@ -13000,6 +14764,7 @@ 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 @@ -13060,13 +14825,15 @@ 0101 DeepSea 1 High Speed Stereo Vision Frame Grabber 0200 DeepSea 2 High Speed Stereo Vision Frame Grabber d161 Digium, Inc. - 0205 Wildcard TE205P - 0210 Wildcard TE210P - 0405 Wildcard TE405P Quad-Span togglable E1/T1/J1 card 5.0v - 0406 Wildcard TE406P Quad-Span togglable E1/T1/J1 echo cancellation card 5.0v - 0410 Wildcard TE410P Quad-Span togglable E1/T1/J1 card 3.3v - 0411 Wildcard TE411P Quad-Span togglable E1/T1/J1 echo cancellation card 3.3v - 2400 Wildcard TDM2400P + 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 @@ -13167,7 +14934,7 @@ 04 RAID bus controller 05 ATA controller 20 ADMA single stepping - 40 ADMA continuous operation + 30 ADMA continuous operation 06 SATA controller 00 Vendor specific 01 AHCI 1.0 @@ -13179,11 +14946,13 @@ 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 - 01 8514 + 00 VGA controller + 01 8514 controller 01 XGA compatible controller 02 3D controller 80 Display controller @@ -13238,6 +15007,8 @@ 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 @@ -13258,6 +15029,7 @@ 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 @@ -13294,16 +15066,23 @@ 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 - 00 Satellite TV controller - 01 Satellite audio communication controller + 01 Satellite TV controller + 02 Satellite audio communication controller 03 Satellite voice communication controller 04 Satellite data communication controller C 10 Encryption controller @@ -13314,4 +15093,5 @@ 00 DPIO module 01 Performance counters 10 Communication synchronizer + 20 Signal processing management 80 Signal processing controller Index: xc/programs/Xserver/hw/xfree86/etc/pcitweak.c diff -u xc/programs/Xserver/hw/xfree86/etc/pcitweak.c:1.19 xc/programs/Xserver/hw/xfree86/etc/pcitweak.c:1.23 --- xc/programs/Xserver/hw/xfree86/etc/pcitweak.c:1.19 Fri Oct 14 08:16:51 2005 +++ xc/programs/Xserver/hw/xfree86/etc/pcitweak.c Mon Jun 23 07:42:22 2008 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/pcitweak.c,v 1.19 2005/10/14 15:16:51 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/pcitweak.c,v 1.23 2008/06/23 14:42:22 tsi Exp $ */ /* * Copyright (c) 1999-2002 by The XFree86 Project, Inc. * All rights reserved. @@ -88,7 +88,7 @@ { int c; PCITAG tag; - int bus, device, func; + int bus = 0, device = 0, func = 0; Bool list = FALSE, rd = FALSE, wr = FALSE; Bool byte = FALSE, halfword = FALSE; int offset = 0; Index: xc/programs/Xserver/hw/xfree86/etc/scanpci.c diff -u xc/programs/Xserver/hw/xfree86/etc/scanpci.c:3.99 xc/programs/Xserver/hw/xfree86/etc/scanpci.c:3.102 --- xc/programs/Xserver/hw/xfree86/etc/scanpci.c:3.99 Wed May 30 08:50:40 2007 +++ xc/programs/Xserver/hw/xfree86/etc/scanpci.c Mon Jun 23 07:42:22 2008 @@ -1,3 +1,4 @@ +/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/scanpci.c,v 3.102 2008/06/23 14:42:22 tsi Exp $ */ /* * Copyright 2000 by Egbert Eich * Copyright 1995 by Robin Cutshaw @@ -23,7 +24,6 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * */ -/* $XFree86: xc/programs/Xserver/hw/xfree86/etc/scanpci.c,v 3.99 2007/05/30 15:50:40 tsi Exp $ */ #include #include "os.h" @@ -340,6 +340,9 @@ /* Print the rest */ for (; i < limit; i += 4) { CARD32 pcireg = pciReadLong(pcr->tag, i); + + if ((pcireg == (CARD32)(-1L)) && (i == 256)) + break; if (!(i & 15)) printf(" 0x%03x: ", i); if (!(i & 7)) @@ -657,7 +660,7 @@ pcr->pci_br_rom & 0x1 ? "" : "not "); } - printf(" %sFAST_B2B %sSEC_BUS_RST %sM_ABRT %sVGA_EN %sISA_EN" + printf(" %sFAST_B2B %sSEC_BUS_RST %sM_ABRT %sVGA16 %sVGA_EN %sISA_EN" " %sSERR_EN %sPERR_EN\n", (pcr->pci_bridge_control & PCI_PCI_BRIDGE_FAST_B2B_EN) ? "" : "NO_", @@ -665,6 +668,8 @@ "" : "NO_", (pcr->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN) ? "" : "NO_", + (pcr->pci_bridge_control & PCI_PCI_BRIDGE_VGA16_EN) ? + "" : "NO_", (pcr->pci_bridge_control & PCI_PCI_BRIDGE_VGA_EN) ? "" : "NO_", (pcr->pci_bridge_control & PCI_PCI_BRIDGE_ISA_EN) ? @@ -737,7 +742,7 @@ } } - printf(" %s16BIT_INT %sSEC_BUS_RST %sM_ABRT %sVGA_EN %sISA_EN" + printf(" %s16BIT_INT %sSEC_BUS_RST %sM_ABRT %sVGA16 %sVGA_EN %sISA_EN" " %sSERR_EN %sPERR_EN %sPOST_WRITES\n", (pcr->pci_bridge_control & PCI_CB_BRIDGE_CTL_16BIT_INT) ? "" : "NO_", @@ -745,6 +750,8 @@ "" : "NO_", (pcr->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN) ? "" : "NO_", + (pcr->pci_bridge_control & PCI_PCI_BRIDGE_VGA16_EN) ? + "" : "NO_", (pcr->pci_bridge_control & PCI_PCI_BRIDGE_VGA_EN) ? "" : "NO_", (pcr->pci_bridge_control & PCI_PCI_BRIDGE_ISA_EN) ? Index: xc/programs/Xserver/hw/xfree86/etc/spaceclean diff -u xc/programs/Xserver/hw/xfree86/etc/spaceclean:1.1 xc/programs/Xserver/hw/xfree86/etc/spaceclean:1.2 --- xc/programs/Xserver/hw/xfree86/etc/spaceclean:1.1 Sat Jan 28 19:09:51 2006 +++ xc/programs/Xserver/hw/xfree86/etc/spaceclean Mon Dec 31 16:40:13 2007 @@ -1,6 +1,6 @@ #! /bin/sh # -# Copyright 2005 through 2006 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org +# Copyright 2005 through 2008 by Marc Aurele La France (TSI @ UQV), tsi@xfree86.org # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that @@ -38,7 +38,7 @@ # - This script assumes tab stops at every eight characters. # -echo '$XFree86: xc/programs/Xserver/hw/xfree86/etc/spaceclean,v 1.1 2006/01/29 03:09:51 tsi Exp $' | \ +echo '$XFree86: xc/programs/Xserver/hw/xfree86/etc/spaceclean,v 1.2 2008/01/01 00:40:13 tsi Exp $' | \ awk "{print \""`basename $0`": Version \" \$3}" if [ -n "${DEBUG}" ]; then Index: xc/programs/Xserver/hw/xfree86/etc/bindist/build-bindist diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/build-bindist:1.7 xc/programs/Xserver/hw/xfree86/etc/bindist/build-bindist:1.9 --- xc/programs/Xserver/hw/xfree86/etc/bindist/build-bindist:1.7 Fri Dec 5 07:04:07 2003 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/build-bindist Wed Dec 10 08:32:03 2008 @@ -1,24 +1,19 @@ #!/bin/sh # -# $XFree86: xc/programs/Xserver/hw/xfree86/etc/bindist/build-bindist,v 1.7 2003/12/05 15:04:07 dawes Exp $ +# $XFree86: xc/programs/Xserver/hw/xfree86/etc/bindist/build-bindist,v 1.9 2008/12/10 16:32:03 tsi Exp $ # Usage() { - echo "`basename $0` [-l] [-t type] [prefix] from-dir to-dir" + echo "`basename $0` [-t type] [prefix] from-dir to-dir" exit 1 } args= -createlist=NO type=list while [ $# != 0 ]; do case $1 in - -l) - createlist=YES - shift - ;; -t) shift type=$1 @@ -51,6 +46,16 @@ FROMDIR=$1 TODIR=$2 +if [ "`echo $FROMDIR | cut -b 1`" != "/" ]; then + echo $FROMDIR is not an absolute path + exit 2 +fi + +if [ "`echo $TODIR | cut -b 1`" != "/" ]; then + echo $TODIR is not an absolute path + exit 2 +fi + if [ ! -d $FROMDIR ]; then echo No such dir $FROMDIR exit 2 @@ -69,40 +74,11 @@ EXTRASFILE=extras TAR="gnu-tar" TAROPTS="-c -v -z" -TARLOPTS="-t -v -z -i" -CKSUM=md5 -SUMFILE=SUMS.md5 -LISTFILE=FILES - -GenList() -{ - (cd $TODIR/$BINDIR - rm -f $SUMFILE $LISTFILE - for i in *.tgz; do - echo $i - $CKSUM $i >> $SUMFILE - echo $i >> $LISTFILE - echo "------------" >> $LISTFILE - $TAR $TARLOPTS -f $i >> $LISTFILE - echo "" >> $LISTFILE - done - if [ -f $TODIR/$EXTRASFILE ]; then - for i in `cat $TODIR/$EXTRASFILE`; do - $CKSUM `basename $i` >> $SUMFILE - done - fi - ) -} if [ ! -d $TODIR/$BINDIR ]; then mkdir $TODIR/$BINDIR fi -if [ $createlist = YES ]; then - GenList - exit 0; -fi - # Make sure all directories in $FROMDIR have permissions 755 find $FROMDIR -type d | xargs chmod 755 @@ -146,6 +122,4 @@ ) done -# GenList - exit 0 Index: xc/programs/Xserver/hw/xfree86/etc/bindist/Darwin-ix86/bin-list diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/Darwin-ix86/bin-list:1.11 xc/programs/Xserver/hw/xfree86/etc/bindist/Darwin-ix86/bin-list:1.13 --- xc/programs/Xserver/hw/xfree86/etc/bindist/Darwin-ix86/bin-list:1.11 Sun Jan 30 19:21:22 2005 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/Darwin-ix86/bin-list Tue Dec 9 10:04:29 2008 @@ -26,13 +26,13 @@ lib/libXRes.dylib lib/libXaw.6.1.dylib lib/libXaw.6.dylib -lib/libXaw.7.0.dylib +lib/libXaw.7.1.dylib lib/libXaw.7.dylib lib/libXaw.dylib lib/libXcursor.1.0.dylib lib/libXcursor.1.dylib lib/libXcursor.dylib -lib/libXext.6.4.dylib +lib/libXext.6.5.dylib lib/libXext.6.dylib lib/libXext.dylib lib/libXfont.1.5.dylib @@ -73,7 +73,7 @@ lib/libXss.1.0.dylib lib/libXss.1.dylib lib/libXss.dylib -lib/libXt.6.0.dylib +lib/libXt.6.1.dylib lib/libXt.6.dylib lib/libXt.dylib lib/libXtst.6.1.dylib @@ -88,12 +88,6 @@ lib/libXvMC.1.0.dylib lib/libXvMC.1.dylib lib/libXvMC.dylib -lib/libXxf86misc.1.1.dylib -lib/libXxf86misc.1.dylib -lib/libXxf86misc.dylib -lib/libXxf86vm.1.0.dylib -lib/libXxf86vm.1.dylib -lib/libXxf86vm.dylib lib/libdmx.1.0.dylib lib/libdmx.1.dylib lib/libdmx.dylib Index: xc/programs/Xserver/hw/xfree86/etc/bindist/Darwin-ppc/bin-list diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/Darwin-ppc/bin-list:1.11 xc/programs/Xserver/hw/xfree86/etc/bindist/Darwin-ppc/bin-list:1.13 --- xc/programs/Xserver/hw/xfree86/etc/bindist/Darwin-ppc/bin-list:1.11 Sun Jan 30 19:21:22 2005 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/Darwin-ppc/bin-list Tue Dec 9 10:04:29 2008 @@ -26,13 +26,13 @@ lib/libXRes.dylib lib/libXaw.6.1.dylib lib/libXaw.6.dylib -lib/libXaw.7.0.dylib +lib/libXaw.7.1.dylib lib/libXaw.7.dylib lib/libXaw.dylib lib/libXcursor.1.0.dylib lib/libXcursor.1.dylib lib/libXcursor.dylib -lib/libXext.6.4.dylib +lib/libXext.6.5.dylib lib/libXext.6.dylib lib/libXext.dylib lib/libXfont.1.5.dylib @@ -73,7 +73,7 @@ lib/libXss.1.0.dylib lib/libXss.1.dylib lib/libXss.dylib -lib/libXt.6.0.dylib +lib/libXt.6.1.dylib lib/libXt.6.dylib lib/libXt.dylib lib/libXtst.6.1.dylib @@ -88,12 +88,6 @@ lib/libXvMC.1.0.dylib lib/libXvMC.1.dylib lib/libXvMC.dylib -lib/libXxf86misc.1.1.dylib -lib/libXxf86misc.1.dylib -lib/libXxf86misc.dylib -lib/libXxf86vm.1.0.dylib -lib/libXxf86vm.1.dylib -lib/libXxf86vm.dylib lib/libdmx.1.0.dylib lib/libdmx.1.dylib lib/libdmx.dylib Index: xc/programs/Xserver/hw/xfree86/etc/bindist/FreeBSD-aout/bin-list diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/FreeBSD-aout/bin-list:1.17 xc/programs/Xserver/hw/xfree86/etc/bindist/FreeBSD-aout/bin-list:1.18 --- xc/programs/Xserver/hw/xfree86/etc/bindist/FreeBSD-aout/bin-list:1.17 Thu Mar 30 15:19:44 2006 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/FreeBSD-aout/bin-list Tue Dec 9 10:04:29 2008 @@ -14,7 +14,7 @@ lib/libXaw.so.6.1 lib/libXaw.so.7.1 lib/libXcursor.so.1.0 -lib/libXext.so.6.4 +lib/libXext.so.6.5 lib/libXfont.so.1.5 lib/libXfontcache.so.1.2 lib/libXft.so.1.1 Index: xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-amd64/bin-list diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-amd64/bin-list:1.5 xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-amd64/bin-list:1.6 --- xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-amd64/bin-list:1.5 Mon Apr 3 08:59:56 2006 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-amd64/bin-list Tue Dec 9 10:04:29 2008 @@ -41,7 +41,7 @@ lib64/libXcursor.so.1.0 lib64/libXcursor.so.1 lib64/libXcursor.so -lib64/libXext.so.6.4 +lib64/libXext.so.6.5 lib64/libXext.so.6 lib64/libXext.so lib64/libXfont.so.1.5 Index: xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/bin-list diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/bin-list:1.19 xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/bin-list:1.20 --- xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/bin-list:1.19 Thu Mar 30 15:19:44 2006 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/bin-list Tue Dec 9 10:04:29 2008 @@ -41,7 +41,7 @@ lib/libXcursor.so.1.0 lib/libXcursor.so.1 lib/libXcursor.so -lib/libXext.so.6.4 +lib/libXext.so.6.5 lib/libXext.so.6 lib/libXext.so lib/libXfont.so.1.5 Index: xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/host.def diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/host.def:1.8 xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/host.def:1.9 --- xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/host.def:1.8 Tue Jun 5 16:00:40 2001 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/host.def Sat Sep 15 17:14:43 2007 @@ -1,16 +1,12 @@ /* * Host.def for building Linux/alpha bindists * - * $XFree86: xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/host.def,v 1.8 2001/06/05 23:00:40 dawes Exp $ + * $XFree86: xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-axp/host.def,v 1.9 2007/09/16 00:14:43 tsi Exp $ */ #define InstallEmptyHostDef #define BuildBindist -/* Need to have glide 3 installed, where available */ - -#define HasGlide3 YES - #define BuildXF86DRI YES #define ForceNormalLib YES Index: xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/bin-list diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/bin-list:1.17 xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/bin-list:1.18 --- xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/bin-list:1.17 Thu Mar 30 15:19:44 2006 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/bin-list Tue Dec 9 10:04:29 2008 @@ -44,7 +44,7 @@ lib/libXcursor.so.1.0 lib/libXcursor.so.1 lib/libXcursor.so -lib/libXext.so.6.4 +lib/libXext.so.6.5 lib/libXext.so.6 lib/libXext.so lib/libXfont.so.1.5 Index: xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/host.def diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/host.def:1.9 xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/host.def:1.10 --- xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/host.def:1.9 Tue Jun 5 16:00:41 2001 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/host.def Sat Sep 15 17:14:43 2007 @@ -1,20 +1,12 @@ /* * Host.def for building Linux/ix86 bindists * - * $XFree86: xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/host.def,v 1.9 2001/06/05 23:00:41 dawes Exp $ + * $XFree86: xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ix86/host.def,v 1.10 2007/09/16 00:14:43 tsi Exp $ */ #define InstallEmptyHostDef #define BuildBindist - -/* Need to have glide 2 and glide 3 installed, where available */ - -#define HasGlide2 YES - -/* May need to turn this off for libc5 builds */ -#define HasGlide3 YES - #define BuildXF86DRI YES #define ForceNormalLib YES Index: xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-m68k/bin-list diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-m68k/bin-list:1.18 xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-m68k/bin-list:1.19 --- xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-m68k/bin-list:1.18 Thu Mar 30 15:19:44 2006 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-m68k/bin-list Tue Dec 9 10:04:29 2008 @@ -41,7 +41,7 @@ lib/libXcursor.so.1.0 lib/libXcursor.so.1 lib/libXcursor.so -lib/libXext.so.6.4 +lib/libXext.so.6.5 lib/libXext.so.6 lib/libXext.so lib/libXfont.so.1.5 Index: xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/bin-list diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/bin-list:1.15 xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/bin-list:1.16 --- xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/bin-list:1.15 Thu Mar 30 15:19:45 2006 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-mips/bin-list Tue Dec 9 10:04:29 2008 @@ -41,7 +41,7 @@ lib/libXcursor.so.1.0 lib/libXcursor.so.1 lib/libXcursor.so -lib/libXext.so.6.4 +lib/libXext.so.6.5 lib/libXext.so.6 lib/libXext.so lib/libXfont.so.1.5 Index: xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ppc/bin-list diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ppc/bin-list:1.15 xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ppc/bin-list:1.16 --- xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ppc/bin-list:1.15 Thu Mar 30 15:19:45 2006 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/Linux-ppc/bin-list Tue Dec 9 10:04:29 2008 @@ -41,7 +41,7 @@ lib/libXcursor.so.1.0 lib/libXcursor.so.1 lib/libXcursor.so -lib/libXext.so.6.4 +lib/libXext.so.6.5 lib/libXext.so.6 lib/libXext.so lib/libXfont.so.1.5 Index: xc/programs/Xserver/hw/xfree86/etc/bindist/NetBSD-aout-ix86/bin-list diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/NetBSD-aout-ix86/bin-list:1.14 xc/programs/Xserver/hw/xfree86/etc/bindist/NetBSD-aout-ix86/bin-list:1.15 --- xc/programs/Xserver/hw/xfree86/etc/bindist/NetBSD-aout-ix86/bin-list:1.14 Thu Mar 30 15:19:45 2006 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/NetBSD-aout-ix86/bin-list Tue Dec 9 10:04:29 2008 @@ -13,7 +13,7 @@ lib/libXaw.so.6.1 lib/libXaw.so.7.1 lib/libXcursor.so.1.0 -lib/libXext.so.6.4 +lib/libXext.so.6.5 lib/libXfont.so.1.5 lib/libXfontcache.so.1.2 lib/libXft.so.1.1 Index: xc/programs/Xserver/hw/xfree86/etc/bindist/NetBSD-ix86/bin-list diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/NetBSD-ix86/bin-list:1.19 xc/programs/Xserver/hw/xfree86/etc/bindist/NetBSD-ix86/bin-list:1.21 --- xc/programs/Xserver/hw/xfree86/etc/bindist/NetBSD-ix86/bin-list:1.19 Thu Mar 30 15:19:45 2006 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/NetBSD-ix86/bin-list Tue Dec 9 10:04:30 2008 @@ -33,6 +33,9 @@ lib/libXTrap.so lib/libXTrap.so.6 lib/libXTrap.so.6.4 +lib/libXau.so +lib/libXau.so.6 +lib/libXau.so.6.0 lib/libXaw.so lib/libXaw.so.6 lib/libXaw.so.6.1 @@ -41,9 +44,12 @@ lib/libXcursor.so lib/libXcursor.so.1 lib/libXcursor.so.1.0 +lib/libXdmcp.so +lib/libXdmcp.so.6 +lib/libXdmcp.so.6.0 lib/libXext.so lib/libXext.so.6 -lib/libXext.so.6.4 +lib/libXext.so.6.5 lib/libXfont.so lib/libXfont.so.1 lib/libXfont.so.1.5 Index: xc/programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-aout-ix86/bin-list diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-aout-ix86/bin-list:1.5 xc/programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-aout-ix86/bin-list:1.6 --- xc/programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-aout-ix86/bin-list:1.5 Thu Mar 30 15:19:45 2006 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-aout-ix86/bin-list Tue Dec 9 10:04:30 2008 @@ -15,7 +15,7 @@ lib/libXaw.so.6.1 lib/libXaw.so.7.1 lib/libXcursor.so.1.0 -lib/libXext.so.6.4 +lib/libXext.so.6.5 lib/libXfont.so.1.5 lib/libXfontcache.so.1.2 lib/libXft.so.1.1 Index: xc/programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-ix86/bin-list diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-ix86/bin-list:1.23 xc/programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-ix86/bin-list:1.24 --- xc/programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-ix86/bin-list:1.23 Sun Apr 23 21:06:05 2006 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/OpenBSD-ix86/bin-list Tue Dec 9 10:04:30 2008 @@ -15,7 +15,7 @@ lib/libXaw.so.7.1 lib/libXaw.so.8.1 lib/libXcursor.so.1.0 -lib/libXext.so.7.0 +lib/libXext.so.7.1 lib/libXfont.so.2.0 lib/libXfontcache.so.2.0 lib/libXft.so.1.2 Index: xc/programs/Xserver/hw/xfree86/etc/bindist/SVR4.0/bin-list diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/SVR4.0/bin-list:1.18 xc/programs/Xserver/hw/xfree86/etc/bindist/SVR4.0/bin-list:1.19 --- xc/programs/Xserver/hw/xfree86/etc/bindist/SVR4.0/bin-list:1.18 Thu Mar 30 15:19:46 2006 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/SVR4.0/bin-list Tue Dec 9 10:04:30 2008 @@ -25,7 +25,7 @@ lib/libXaw.so lib/libXcursor.so.1.0 lib/libXcursor.so -lib/libXext.so.6.4 +lib/libXext.so.6.5 lib/libXext.so lib/libXfont.so.1.5 lib/libXfont.so Index: xc/programs/Xserver/hw/xfree86/etc/bindist/Solaris/bin-list diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/Solaris/bin-list:1.18 xc/programs/Xserver/hw/xfree86/etc/bindist/Solaris/bin-list:1.19 --- xc/programs/Xserver/hw/xfree86/etc/bindist/Solaris/bin-list:1.18 Thu Mar 30 15:19:46 2006 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/Solaris/bin-list Tue Dec 9 10:04:30 2008 @@ -25,7 +25,7 @@ lib/libXaw.so lib/libXcursor.so.1.0 lib/libXcursor.so -lib/libXext.so.6.4 +lib/libXext.so.6.5 lib/libXext.so lib/libXfont.so.1.5 lib/libXfont.so Index: xc/programs/Xserver/hw/xfree86/etc/bindist/Solaris-sparc/bin-list diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/Solaris-sparc/bin-list:1.2 xc/programs/Xserver/hw/xfree86/etc/bindist/Solaris-sparc/bin-list:1.3 --- xc/programs/Xserver/hw/xfree86/etc/bindist/Solaris-sparc/bin-list:1.2 Thu Mar 30 15:19:46 2006 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/Solaris-sparc/bin-list Tue Dec 9 10:04:30 2008 @@ -25,7 +25,7 @@ lib/libXaw.so lib/libXcursor.so.1.0 lib/libXcursor.so -lib/libXext.so.6.4 +lib/libXext.so.6.5 lib/libXext.so lib/libXfont.so.1.5 lib/libXfont.so Index: xc/programs/Xserver/hw/xfree86/etc/bindist/UnixWare/bin-list diff -u xc/programs/Xserver/hw/xfree86/etc/bindist/UnixWare/bin-list:1.18 xc/programs/Xserver/hw/xfree86/etc/bindist/UnixWare/bin-list:1.19 --- xc/programs/Xserver/hw/xfree86/etc/bindist/UnixWare/bin-list:1.18 Thu Mar 30 15:19:46 2006 +++ xc/programs/Xserver/hw/xfree86/etc/bindist/UnixWare/bin-list Tue Dec 9 10:04:30 2008 @@ -25,7 +25,7 @@ lib/libXaw.so lib/libXcursor.so.1.0 lib/libXcursor.so -lib/libXext.so.6.4 +lib/libXext.so.6.5 lib/libXext.so lib/libXfont.so.1.5 lib/libXfont.so Index: xc/programs/Xserver/hw/xfree86/int10/generic.c diff -u xc/programs/Xserver/hw/xfree86/int10/generic.c:1.31 xc/programs/Xserver/hw/xfree86/int10/generic.c:1.33 --- xc/programs/Xserver/hw/xfree86/int10/generic.c:1.31 Tue Aug 30 09:26:48 2005 +++ xc/programs/Xserver/hw/xfree86/int10/generic.c Thu Apr 3 07:50:15 2008 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/int10/generic.c,v 1.31 2005/08/30 16:26:48 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/int10/generic.c,v 1.33 2008/04/03 14:50:15 tsi Exp $ */ /* * XFree86 int10 module * execute BIOS int 10h calls in x86 real mode environment @@ -51,7 +51,7 @@ static void MapVRam(xf86Int10InfoPtr pInt); static void UnmapVRam(xf86Int10InfoPtr pInt); #ifdef _PC -#define GET_HIGH_BASE(x) (((V_BIOS + size + getpagesize() - 1)/getpagesize()) \ +#define GET_HIGH_BASE(x) (((V_BIOS + (x) + getpagesize() - 1)/getpagesize()) \ * getpagesize()) #endif @@ -77,7 +77,7 @@ #ifdef _PC int size; - CARD32 cs; + unsigned int cs; #endif screen = (xf86FindScreenForEntity(entityIndex))->scrnIndex; @@ -132,13 +132,12 @@ * 64kB at a time. */ (void)memset((char *)base + V_BIOS, 0, SYS_BIOS - V_BIOS); -#if 0 - for (cs = V_BIOS; cs < SYS_BIOS; cs += V_BIOS_SIZE) - if (xf86ReadBIOS(cs, 0, (unsigned char *)base + cs, V_BIOS_SIZE) < + if (xf86DomainHasBIOSSegments(xf86GetPciDomain(pInt->Tag))) + for (cs = V_BIOS; cs < SYS_BIOS; cs += V_BIOS_SIZE) + if (xf86ReadBIOS(cs, 0, (unsigned char *)base + cs, V_BIOS_SIZE) < V_BIOS_SIZE) - xf86DrvMsg(screen, X_WARNING, - "Unable to retrieve all of segment 0x%06X.\n", cs); -#endif + xf86DrvMsg(screen, X_WARNING, + "Unable to retrieve all of segment 0x%06X.\n", cs); INTPriv(pInt)->highMemory = V_BIOS; xf86int10ParseBiosLocation(options,&bios); @@ -234,6 +233,8 @@ } } else location_type = pEnt->location.type; + + xfree(pEnt); switch (location_type) { case BUS_PCI: @@ -252,13 +253,12 @@ break; case BUS_ISA: vbiosMem = (unsigned char *)sysMem + bios_location; -#if 0 - (void)memset(vbiosMem, 0, V_BIOS_SIZE); - if (xf86ReadBIOS(bios_location, 0, vbiosMem, V_BIOS_SIZE) - < V_BIOS_SIZE) - xf86DrvMsg(screen, X_WARNING, - "Unable to retrieve all of segment 0x%x.\n",bios_location); -#endif + if (xf86DomainHasBIOSSegments(xf86GetPciDomain(pInt->Tag))) + if (xf86ReadBIOS(bios_location, 0, vbiosMem, V_BIOS_SIZE) < + V_BIOS_SIZE) + xf86DrvMsg(screen, X_WARNING, + "Unable to retrieve all of segment 0x%x.\n", + bios_location); if (!int10_check_bios(screen, bios_location >> 4, vbiosMem)) { xf86DrvMsg(screen,X_ERROR,"Cannot read V_BIOS (4)\n"); goto error1; @@ -266,7 +266,6 @@ default: goto error1; } - xfree(pEnt); pInt->BIOSseg = V_BIOS >> 4; pInt->num = 0xe6; LockLegacyVGA(pInt, &vga); @@ -289,17 +288,19 @@ */ vbiosMem = (char *)base + V_BIOS; (void)memset(vbiosMem, 0, 2 * V_BIOS_SIZE); - if (xf86ReadDomainMemory(pInt->Tag, V_BIOS, V_BIOS_SIZE, vbiosMem) < - V_BIOS_SIZE) - xf86DrvMsg(screen, X_WARNING, - "Unable to retrieve all of segment 0x0C0000.\n"); - else if ((((unsigned char *)vbiosMem)[0] == 0x55) && - (((unsigned char *)vbiosMem)[1] == 0xAA) && - (((unsigned char *)vbiosMem)[2] > 0x80)) - if (xf86ReadDomainMemory(pInt->Tag, V_BIOS + V_BIOS_SIZE, V_BIOS_SIZE, + if (xf86DomainHasBIOSSegments(xf86GetPciDomain(pInt->Tag))) { + if (xf86ReadDomainMemory(pInt->Tag, V_BIOS, V_BIOS_SIZE, vbiosMem) < + V_BIOS_SIZE) + xf86DrvMsg(screen, X_WARNING, + "Unable to retrieve all of segment 0x0C0000.\n"); + else if ((((unsigned char *)vbiosMem)[0] == 0x55) && + (((unsigned char *)vbiosMem)[1] == 0xAA) && + (((unsigned char *)vbiosMem)[2] > 0x80)) + if (xf86ReadDomainMemory(pInt->Tag, V_BIOS + V_BIOS_SIZE, V_BIOS_SIZE, (unsigned char *)vbiosMem + V_BIOS_SIZE) < V_BIOS_SIZE) - xf86DrvMsg(screen, X_WARNING, - "Unable to retrieve all of segment 0x0D0000.\n"); + xf86DrvMsg(screen, X_WARNING, + "Unable to retrieve all of segment 0x0D0000.\n"); + } /* * If this adapter is the primary, use its post-init BIOS (if we can find Index: xc/programs/Xserver/hw/xfree86/loader/dixsym.c diff -u xc/programs/Xserver/hw/xfree86/loader/dixsym.c:1.71 xc/programs/Xserver/hw/xfree86/loader/dixsym.c:1.72 --- xc/programs/Xserver/hw/xfree86/loader/dixsym.c:1.71 Wed Mar 1 19:00:38 2006 +++ xc/programs/Xserver/hw/xfree86/loader/dixsym.c Tue Mar 18 12:50:48 2008 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/dixsym.c,v 1.71 2006/03/02 03:00:38 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/dixsym.c,v 1.72 2008/03/18 19:50:48 tsi Exp $ */ /* * Copyright 1995-1998 by Metro Link, Inc. @@ -342,6 +342,8 @@ SYMFUNC(AdjustWaitForDelay) SYMVAR(noTestExtensions) SYMFUNC(GiveUp) + SYMFUNC(Fopen) + SYMFUNC(Fclose) /* log.c */ SYMFUNC(LogVWrite) SYMFUNC(LogWrite) Index: xc/programs/Xserver/hw/xfree86/loader/xf86sym.c diff -u xc/programs/Xserver/hw/xfree86/loader/xf86sym.c:1.267 xc/programs/Xserver/hw/xfree86/loader/xf86sym.c:1.268 --- xc/programs/Xserver/hw/xfree86/loader/xf86sym.c:1.267 Tue May 22 09:49:47 2007 +++ xc/programs/Xserver/hw/xfree86/loader/xf86sym.c Wed Oct 15 13:59:13 2008 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/xf86sym.c,v 1.267 2007/05/22 16:49:47 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/loader/xf86sym.c,v 1.268 2008/10/15 20:59:13 tsi Exp $ */ /* * @@ -629,7 +629,9 @@ SYMFUNC(xf86CommonSpecialKey) SYMFUNC(xf86IsPc98) SYMFUNC(xf86DisableRandR) +#ifdef RANDR SYMFUNC(xf86GetRotation) +#endif SYMFUNC(xf86GetVersion) SYMFUNC(xf86GetModuleVersion) SYMFUNC(xf86GetSubModuleByName) Index: xc/programs/Xserver/hw/xfree86/os-support/bus/Imakefile diff -u xc/programs/Xserver/hw/xfree86/os-support/bus/Imakefile:1.38 xc/programs/Xserver/hw/xfree86/os-support/bus/Imakefile:1.39 --- xc/programs/Xserver/hw/xfree86/os-support/bus/Imakefile:1.38 Sun Apr 1 08:55:49 2007 +++ xc/programs/Xserver/hw/xfree86/os-support/bus/Imakefile Sat Sep 15 20:36:21 2007 @@ -1,4 +1,4 @@ -XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Imakefile,v 1.38 2007/04/01 15:55:49 tsi Exp $ +XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Imakefile,v 1.39 2007/09/16 03:36:21 tsi Exp $ #include @@ -164,4 +164,6 @@ #endif +InstallDriverSDKNonExecFile(xf86Pci.h,$(DRIVERSDKINCLUDEDIR)) + DependTarget() Index: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c diff -u xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c:1.99 xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c:1.103 --- xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c:1.99 Tue Jul 3 08:23:08 2007 +++ xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c Thu Jun 19 09:37:47 2008 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c,v 1.99 2007/07/03 15:23:08 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c,v 1.103 2008/06/19 16:37:47 tsi Exp $ */ /* * Pci.c - New server PCI access functions * @@ -324,6 +324,7 @@ pciInit(); if ((bus >= 0) && ((bus < pciNumBuses) || inProbe) && pciBusInfo[bus] && + (offset < pciBusInfo[bus]->pciMaxOffset) && pciBusInfo[bus]->funcs->pciReadLong) { CARD32 rv = (*pciBusInfo[bus]->funcs->pciReadLong)(tag, offset); @@ -372,6 +373,7 @@ pciInit(); if ((bus >= 0) && (bus < pciNumBuses) && pciBusInfo[bus] && + (offset < pciBusInfo[bus]->pciMaxOffset) && pciBusInfo[bus]->funcs->pciWriteLong) (*pciBusInfo[bus]->funcs->pciWriteLong)(tag, offset, val); } @@ -626,7 +628,7 @@ mask2 = mask1 | (mask1 - 1); /* Allow for both 16-bit and 32-bit bases */ if ((mask2 == (CARD16)(-1)) || (mask2 == (CARD32)(-1))) - destructive = TRUE; + destructive = TRUE; } } } @@ -665,7 +667,7 @@ mask64 |= mask64 - 1; /* Allow for both 32-bit and 64-bit bases */ if ((mask64 == (CARD32)(-1)) || - (mask64 == (unsigned long long)(-1LL))) + (mask64 == (unsigned long long)(-1LL))) destructive = TRUE; } } @@ -762,12 +764,20 @@ CARD32 id0, id1, val; /* Detect a multi-function device that complies to the PCI 2.0 spec */ + /* Unfortunately, some devices don't have a zero function */ + while (1) { + tag0 = PCI_MAKE_TAG(busnum, devnum, pciFuncNum); + id0 = pciReadLong(tag0, PCI_ID_REG); + if ((CARD16)(id0 + 1) > (CARD16)1UL) { + if (pciFuncNum > 0) + return TRUE; + break; + } + if (++pciFuncNum >= 8) + return FALSE; + } - tag0 = PCI_MAKE_TAG(busnum, devnum, 0); - id0 = pciReadLong(tag0, PCI_ID_REG); - if ((CARD16)(id0 + 1) <= (CARD16)1UL) - return FALSE; - + pciFuncNum = 1; val = pciReadLong(tag0, PCI_HEADER_MISC) & 0x00ff0000; if ((val != 0x00ff0000) && (val & PCI_HEADER_MULTIFUNCTION)) return TRUE; @@ -775,7 +785,7 @@ /* * Now, to find non-compliant devices... * If there is a valid ID for function 1 and the ID for func 0 and 1 - * are different, or the base0 values of func 0 and 1 are differend, + * are different, or the base0 values of func 0 and 1 are different, * then assume there is a multi-function device. */ tag1 = PCI_MAKE_TAG(busnum, devnum, 1); @@ -830,6 +840,8 @@ for (pciBusNum = 0; !pciBusInfo[pciBusNum]; ++pciBusNum); pciFuncNum = 0; pciDevNum = 0; + if (pciBusInfo[pciBusNum]->pciMaxOffset == 0) + pciBusInfo[pciBusNum]->pciMaxOffset = 256; previousBus = pciBusNum; /* make sure previousBus exists */ } else { #ifdef PCI_MFDEV_SUPPORT @@ -844,15 +856,14 @@ /* * Is current dev a multifunction device? */ - if (!speculativeProbe && pciMfDev(pciBusNum, pciDevNum)) - /* Probe for other functions */ - pciFuncNum = 1; - else + if (!pciMfDev(pciBusNum, pciDevNum)) { /* * No more functions this device. Next * device please */ - pciDevNum ++; + pciDevNum++; + pciFuncNum = 0; + } } else if (++pciFuncNum >= 8) { /* No more functions for this device. Next device please */ pciFuncNum = 0; @@ -900,7 +911,8 @@ *pciBusInfo[pciBusNum] = *pciBusInfo[previousBus]; speculativeProbe = TRUE; - } + } else if (pciBusInfo[pciBusNum]->pciMaxOffset == 0) + pciBusInfo[pciBusNum]->pciMaxOffset = 256; /* * At this point, pciBusNum, pciDevNum, and pciFuncNum have been @@ -920,24 +932,25 @@ if ((CARD16)(devid + 1U) <= (CARD16)1UL) continue; /* Nobody home. Next device please */ - /* - * Some devices mis-decode configuration cycles in such a way as to - * create phantom buses. - */ - if (speculativeProbe && (pciDevNum == 0) && (pciFuncNum == 0) && - (PCI_BUS_NO_DOMAIN(pciBusNum) > 0)) { - for (;;) { - if (++pciDevNum >= pciBusInfo[pciBusNum]->numDevices) - goto NextSpeculativeBus; - inProbe = TRUE; - tmp = pciReadLong(PCI_MAKE_TAG(pciBusNum, pciDevNum, 0), - PCI_ID_REG); - inProbe = FALSE; - if (devid != tmp) - break; - } + if ((pciDevNum == 0) && (pciFuncNum == 0)) { + /* + * Some devices mis-decode configuration cycles in such a way as to + * create phantom buses. + */ + if (speculativeProbe && (PCI_BUS_NO_DOMAIN(pciBusNum) > 0)) { + for (;;) { + if (++pciDevNum >= pciBusInfo[pciBusNum]->numDevices) + goto NextSpeculativeBus; + inProbe = TRUE; + tmp = pciReadLong(PCI_MAKE_TAG(pciBusNum, pciDevNum, 0), + PCI_ID_REG); + inProbe = FALSE; + if (devid != tmp) + break; + } - pciDevNum = 0; + pciDevNum = 0; + } } if (pciNumBuses <= pciBusNum) @@ -987,6 +1000,9 @@ *pciBusInfo[sec_bus] = *pciBusInfo[pri_bus]; } + pciBusInfo[sec_bus]->pciMaxOffset = + pciBusInfo[pri_bus]->pciMaxOffset; + /* ...but not everything same as parent */ pciBusInfo[sec_bus]->primary_bus = pri_bus; pciBusInfo[sec_bus]->secondary = TRUE; @@ -1006,14 +1022,14 @@ capptr = pciReadByte(pciDeviceTag, PCI_CB_CAP_PTR); while (capptr &= ~0x03) { - if (pciReadByte(pciDeviceTag, capptr + PCI_CAP_ID) != - PCI_CAP_PM_ID) { - capptr = pciReadByte(pciDeviceTag, - capptr + PCI_CAP_NEXT); + CARD32 PciReg = pciReadLong(pciDeviceTag, capptr); + + if ((CARD8)PciReg != PCI_CAP_PM_ID) { + capptr = (CARD8)(PciReg >> 8); continue; } - if (pciReadWord(pciDeviceTag, capptr + PCI_CAP_PM_CSR) & + if (pciReadLong(pciDeviceTag, capptr + PCI_CAP_PM_CSR) & PCI_CAP_PM_MODE_MASK) pciBusInfo[sec_bus]->numDevices = 0; @@ -1154,6 +1170,23 @@ if (devp->pci_header_type == 0xff) devp->pci_header_type = 0; +#ifdef OLD_FORMAT + xf86MsgVerb(X_INFO, 2, "PCI: BusID 0x%.2x,0x%02x,0x%1x " + "ID 0x%04x,0x%04x Rev 0x%02x Class 0x%02x,0x%02x\n", + devp->busnum, devp->devnum, devp->funcnum, + devp->pci_vendor, devp->pci_device, devp->pci_rev_id, + devp->pci_base_class, devp->pci_sub_class); +#else + xf86MsgVerb(X_INFO, 2, "PCI: %.2x:%02x:%1x: chip %04x,%04x" + " card %04x,%04x rev %02x class %02x,%02x,%02x hdr %02x\n", + devp->busnum, devp->devnum, devp->funcnum, + devp->pci_vendor, devp->pci_device, + devp->pci_subsys_vendor, devp->pci_subsys_card, + devp->pci_rev_id, devp->pci_base_class, + devp->pci_sub_class, devp->pci_prog_if, + devp->pci_header_type); +#endif + switch (devp->pci_header_type & 0x7f) { case 0: /* Get base address sizes for type 0 headers */ @@ -1172,14 +1205,7 @@ devp->basesize[6] = /* Yep, the 6 & 7 are correct */ pciGetBaseSize(devp, 7, FALSE, &devp->minBasesize); - /* Allow master aborts to complete normally on secondary buses */ - if (!(devp->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN)) - break; - pciWriteWord(tag, PCI_PCI_BRIDGE_CONTROL_REG, - devp->pci_bridge_control & - ~(PCI_PCI_BRIDGE_MASTER_ABORT_EN | - PCI_PCI_BRIDGE_SECONDARY_RESET)); - break; + goto bridge_control; case 2: /* Read more config space for this device */ @@ -1190,36 +1216,235 @@ devp->basesize[0] = pciGetBaseSize(devp, 0, FALSE, &devp->minBasesize); + bridge_control: + /* + * Note that, for PCI-X and PCI Express, the diddling of various + * error bits that is done below is ultimately ineffective at + * preventing interrupts. What it does do though is change the + * kind of interrupt that occurs. On Solaris at least, this makes + * the difference between being SIGKILL'ed rather than crashing the + * system. + */ + /* Allow master aborts to complete normally on secondary buses */ - if (!(devp->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN)) - break; - pciWriteWord(tag, PCI_PCI_BRIDGE_CONTROL_REG, - devp->pci_bridge_control & - ~(PCI_PCI_BRIDGE_MASTER_ABORT_EN | - PCI_PCI_BRIDGE_SECONDARY_RESET)); - break; + if (devp->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN) { + pciWriteWord(tag, PCI_PCI_BRIDGE_CONTROL_REG, + devp->pci_bridge_control & + ~(PCI_PCI_BRIDGE_MASTER_ABORT_EN | + PCI_PCI_BRIDGE_SECONDARY_RESET)); + if (pciReadWord(tag, PCI_PCI_BRIDGE_CONTROL_REG) & + PCI_PCI_BRIDGE_MASTER_ABORT_EN) + xf86Msg(X_WARNING, "Could not disable hard-failing of" + " master aborts through PCI bridge" + " %.2x:%02x:%02x\n", + devp->busnum, devp->devnum, devp->funcnum); + } + + /* + * Unsupported request responses are the PCI Express equivalent to + * master aborts. + */ + if (devp->pci_status_command & PCI_STAT_CAPABILITY) { + CARD16 capptr; + + if ((devp->pci_header_type & 0x7f) == 1) + capptr = devp->pci_capptr; + else + capptr = devp->pci_cb_capptr; + + /* Look for PCI Express capability */ + while (capptr &= ~0xff03) { + CARD32 PciReg = pciReadLong(tag, capptr); + int sec_bus; + + if ((CARD8)PciReg != PCI_CAP_PCIE_ID) { + capptr = (CARD8)(PciReg >> 8); + continue; + } + + devp->pcie_cap_ptr = capptr; + devp->pcie_devtype = (PciReg >> 20) & 0x0f; + + capptr += PCI_CAP_PCIE_DEV_CTL; + PciReg = pciReadLong(tag, capptr); + devp->pcie_dev_ctl = (CARD16)PciReg; + + /* + * Disable reporting of unsupported requests. Grr, because + * these are _also_ reported as non-fatal errors, we must + * disable the port's SERR enable and its ability to + * forward same from downstream. + */ + if (PciReg & (PCI_CAP_PCIE_URR_EN | PCI_CAP_PCIE_NFR_EN)) + { + pciWriteLong(tag, capptr, PciReg & + ~(PCI_CAP_PCIE_URR_EN | PCI_CAP_PCIE_NFR_EN)); + if (pciReadLong(tag, capptr) & + (PCI_CAP_PCIE_URR_EN | PCI_CAP_PCIE_NFR_EN)) + xf86Msg(X_WARNING, "Could not disable reporting of" + " unsupported requests through PCI bridge" + " %.2x:%02x:%02x\n", + devp->busnum, devp->devnum, devp->funcnum); + } + if (devp->pci_status_command & PCI_CMD_SERR_ENABLE) { + pciWriteLong(tag, PCI_CMD_STAT_REG, + devp->pci_status_command & ~PCI_CMD_SERR_ENABLE); + if (pciReadLong(tag, PCI_CMD_STAT_REG) & + PCI_CMD_SERR_ENABLE) + xf86Msg(X_WARNING, "Could not disable SERR on PCI" + " bridge %.2x:%02x:%02x\n", + devp->busnum, devp->devnum, devp->funcnum); + } + if (devp->pci_bridge_control & PCI_PCI_BRIDGE_SERR_EN) { + pciWriteWord(tag, PCI_PCI_BRIDGE_CONTROL_REG, + devp->pci_bridge_control & + ~(PCI_PCI_BRIDGE_MASTER_ABORT_EN | + PCI_PCI_BRIDGE_SERR_EN | + PCI_PCI_BRIDGE_SECONDARY_RESET)); + if (pciReadWord(tag, PCI_PCI_BRIDGE_CONTROL_REG) & + PCI_PCI_BRIDGE_SERR_EN) + xf86Msg(X_WARNING, "Could not disable SERR" + " forwarding through PCI bridge" + " %.2x:%02x:%02x\n", + devp->busnum, devp->devnum, devp->funcnum); + } + + /* Setup for per-device configuration space size */ + sec_bus = + PCI_SECONDARY_BUS_EXTRACT(devp->pci_pp_bus_register, + tag); + pciBusInfo[devp->busnum]->pciMaxOffset = + pciBusInfo[sec_bus]->pciMaxOffset = 4096; + if (devp->pcie_devtype == PCI_CAP_PCIE_DEVTYPE_PCIE_PCI) { + pciBusInfo[sec_bus]->pciMaxOffset = 256; + + if ((devp->pci_header_type & 0x7f) == 1) + capptr = devp->pci_capptr; + else + capptr = devp->pci_cb_capptr; + + /* Look for PCI-X capability */ + while (capptr & ~0xff03) { + PciReg = pciReadLong(tag, capptr); + if ((CARD8)PciReg != PCI_CAP_PCIX_ID) { + capptr = (CARD8)(PciReg >> 8); + continue; + } + + if ((PciReg & (PCI_CAP_PCIX_STAT_MODE << 16)) >= + (PCI_CAP_PCIX_STAT_PCIX2_MIN << 22)) + pciBusInfo[sec_bus]->pciMaxOffset = 4096; + + break; + } + } + + /* Look for Advanced Error Reporting capability */ + capptr = PCIE_CAP_FIRST; + while (capptr &= ~0xf003) { + PciReg = pciReadLong(tag, capptr); + + if ((CARD16)(PciReg + 1) <= (CARD16)1UL) + break; /* Nothing there or not accessible */ + + if ((CARD16)(PciReg) != PCIE_CAP_AER_ID) { + capptr = PciReg >> 20; + continue; + } + + devp->aer_cap_ptr = capptr; + + /* Ensure unsupported request errors are not reported */ + devp->aer_ue_mask = + pciReadLong(tag, capptr + PCIE_CAP_AER_UE_MASK); + if (!(devp->aer_ue_mask & PCIE_CAP_AER_UE_URE)) { + pciWriteLong(tag, capptr + PCIE_CAP_AER_UE_MASK, + devp->aer_ue_mask | PCIE_CAP_AER_UE_URE); + if (!(pciReadLong(tag, + capptr + PCIE_CAP_AER_UE_MASK) & + PCIE_CAP_AER_UE_URE)) + xf86Msg(X_WARNING, "Could not disable extended" + " reporting of unsupported requests" + " through PCI bridge %.2x:%02x:%02x\n", + devp->busnum, + devp->devnum, + devp->funcnum); + } + + /* Make unsupported request errors non-fatal */ + devp->aer_ue_severity = + pciReadLong(tag, capptr + PCIE_CAP_AER_UE_SEV); + if (devp->aer_ue_severity & PCIE_CAP_AER_UE_URE) { + pciWriteLong(tag, capptr + PCIE_CAP_AER_UE_SEV, + devp->aer_ue_severity & ~PCIE_CAP_AER_UE_URE); + if (pciReadLong(tag, capptr + PCIE_CAP_AER_UE_SEV) + & PCIE_CAP_AER_UE_URE) + xf86Msg(X_WARNING, "Could not make unsupported" + " requests non-fatal through PCI" + " bridge %.2x:%02x:%02x\n", + devp->busnum, + devp->devnum, + devp->funcnum); + } + + /* Deal with PCI Express to PCI/PCI-X bridges */ + if (devp->pcie_devtype != PCI_CAP_PCIE_DEVTYPE_PCIE_PCI) + break; + + /* + * Mask out master aborts from the PCI/PCI-X interface. + */ + devp->aer_sue_mask = + pciReadLong(tag, capptr + PCIE_CAP_AER_SUE_MASK); + if ((devp->aer_sue_mask & + PCIE_CAP_AER_SUE_MASTER_ABORT) != + PCIE_CAP_AER_SUE_MASTER_ABORT) { + pciWriteLong(tag, capptr + PCIE_CAP_AER_SUE_MASK, + devp->aer_sue_mask | + PCIE_CAP_AER_SUE_MASTER_ABORT); + if ((pciReadLong(tag, + capptr + PCIE_CAP_AER_SUE_MASK) & + PCIE_CAP_AER_SUE_MASTER_ABORT) != + PCIE_CAP_AER_SUE_MASTER_ABORT) + xf86Msg(X_WARNING, "Could not disable" + " hard-failing of secondary master" + " aborts through PCI bridge" + "%.2x:%02x:%02x\n", + devp->busnum, + devp->devnum, + devp->funcnum); + } + + /* Make master aborts non-fatal */ + devp->aer_sue_severity = + pciReadLong(tag, capptr + PCIE_CAP_AER_SUE_SEV); + if (devp->aer_sue_severity & + PCIE_CAP_AER_SUE_MASTER_ABORT) { + pciWriteLong(tag, capptr + PCIE_CAP_AER_SUE_SEV, + devp->aer_sue_severity & + ~PCIE_CAP_AER_SUE_MASTER_ABORT); + if (pciReadLong(tag, + capptr + PCIE_CAP_AER_SUE_SEV) & + PCIE_CAP_AER_SUE_MASTER_ABORT) + xf86Msg(X_WARNING, "Could not make master" + " aborts non-fatal through PCI bridge" + "%.2x:%02x:%02x\n", + devp->busnum, + devp->devnum, + devp->funcnum); + } + + break; + } + + break; + } + } default: break; } -#ifdef OLD_FORMAT - xf86MsgVerb(X_INFO, 2, "PCI: BusID 0x%.2x,0x%02x,0x%1x " - "ID 0x%04x,0x%04x Rev 0x%02x Class 0x%02x,0x%02x\n", - devp->busnum, devp->devnum, devp->funcnum, - devp->pci_vendor, devp->pci_device, devp->pci_rev_id, - devp->pci_base_class, devp->pci_sub_class); -#else - xf86MsgVerb(X_INFO, 2, "PCI: %.2x:%02x:%1x: chip %04x,%04x" - " card %04x,%04x rev %02x class %02x,%02x,%02x hdr %02x\n", - devp->busnum, devp->devnum, devp->funcnum, - devp->pci_vendor, devp->pci_device, - devp->pci_subsys_vendor, devp->pci_subsys_card, - devp->pci_rev_id, devp->pci_base_class, - devp->pci_sub_class, devp->pci_prog_if, - devp->pci_header_type); -#endif - pci_devp[idx++] = devp; tag = pciFindNext(); @@ -1269,10 +1494,35 @@ ARCH_PCI_PCI_BRIDGE(devp); #endif } - if (!(devp->pci_bridge_control & PCI_PCI_BRIDGE_MASTER_ABORT_EN)) - break; + + if (devp->aer_cap_ptr != 0) { + if (devp->pcie_devtype == PCI_CAP_PCIE_DEVTYPE_PCIE_PCI) { + pciWriteLong(devp->tag, + devp->aer_cap_ptr + PCIE_CAP_AER_SUE_MASK, + devp->aer_sue_mask); + pciWriteLong(devp->tag, + devp->aer_cap_ptr + PCIE_CAP_AER_SUE_SEV, + devp->aer_sue_severity); + } + pciWriteLong(devp->tag, + devp->aer_cap_ptr + PCIE_CAP_AER_UE_MASK, + devp->aer_ue_mask); + pciWriteLong(devp->tag, + devp->aer_cap_ptr + PCIE_CAP_AER_UE_SEV, + devp->aer_ue_severity); + } + + if (devp->pcie_cap_ptr != 0) { + pciWriteWord(devp->tag, + devp->pcie_cap_ptr + PCI_CAP_PCIE_DEV_CTL, + devp->pcie_dev_ctl); + pciWriteLong(devp->tag, PCI_CMD_STAT_REG, + devp->pci_status_command); + } + pciWriteWord(devp->tag, PCI_PCI_BRIDGE_CONTROL_REG, devp->pci_bridge_control & ~PCI_PCI_BRIDGE_SECONDARY_RESET); + break; default: @@ -1303,13 +1553,6 @@ return pci_devp; } -CARD32 -pciCheckForBrokenBase(PCITAG Tag,int basereg) -{ - pciWriteLong(Tag, PCI_MAP_REG_START + (basereg << 2), 0xffffffff); - return pciReadLong(Tag, PCI_MAP_REG_START + (basereg << 2)); -} - #if defined(INCLUDE_XF86_MAP_PCI_MEM) pointer Index: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.h diff -u xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.h:1.56 xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.h:1.59 --- xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.h:1.56 Sun Apr 1 08:55:49 2007 +++ xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.h Thu Mar 27 11:01:44 2008 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.h,v 1.56 2007/04/01 15:55:49 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.h,v 1.59 2008/03/27 18:01:44 tsi Exp $ */ /* * Copyright 1998 by Concurrent Computer Corporation * @@ -168,6 +168,7 @@ #define PCI_FUNC_FROM_TAG(tag) (((tag) & 0x00000700u) >> 8) #define PCI_DFN_FROM_TAG(tag) (((tag) & 0x0000ff00u) >> 8) +#define PCI_BDF_FROM_TAG(tag) (((tag) & 0x00ffff00u) >> 8) #define PCI_BDEV_FROM_TAG(tag) ((tag) & 0x00fff800u) #define PCI_DOM_FROM_BUS(bus) (((bus) >> 8) & (PCI_DOM_MASK)) @@ -244,9 +245,16 @@ #define PCI_CFGMECH1_MAXDEV 32 /* + * CAN_HARDFAIL_MASTER_ABORTS can be #define'd to a Bool function or some + * other boolean expression should the need arise. + */ +#undef CAN_HARDFAIL_MASTER_ABORTS + +/* * Select architecture specific PCI init function */ #if defined(__alpha__) +# define CAN_HARDFAIL_MASTER_ABORTS FALSE /* Uncertain */ # if defined(linux) # define ARCH_PCI_INIT axpPciInit # define INCLUDE_XF86_MAP_PCI_MEM @@ -260,18 +268,21 @@ # define INCLUDE_XF86_NO_DOMAIN # endif #elif defined(__arm__) +# define CAN_HARDFAIL_MASTER_ABORTS TRUE /* Unknown */ # if defined(linux) # define ARCH_PCI_INIT linuxPciInit # define INCLUDE_XF86_MAP_PCI_MEM # define INCLUDE_XF86_NO_DOMAIN # endif #elif defined(__hppa__) +# define CAN_HARDFAIL_MASTER_ABORTS TRUE /* Unknown */ # if defined(linux) # define ARCH_PCI_INIT linuxPciInit # define INCLUDE_XF86_MAP_PCI_MEM # define INCLUDE_XF86_NO_DOMAIN # endif #elif defined(__ia64__) +# define CAN_HARDFAIL_MASTER_ABORTS TRUE /* Broken */ # if defined(linux) # define ARCH_PCI_INIT linuxPciInit # define INCLUDE_XF86_MAP_PCI_MEM @@ -283,6 +294,7 @@ # endif # define XF86SCANPCI_WRAPPER ia64ScanPCIWrapper #elif defined(__i386__) || defined(i386) +# define CAN_HARDFAIL_MASTER_ABORTS FALSE /* Sane (so far) */ # define ARCH_PCI_INIT ix86PciInit # define INCLUDE_XF86_MAP_PCI_MEM # define INCLUDE_XF86_NO_DOMAIN @@ -290,18 +302,21 @@ # define ARCH_PCI_OS_INIT linuxPciInit # endif #elif defined(__mc68000__) +# define CAN_HARDFAIL_MASTER_ABORTS TRUE /* Unknown */ # if defined(linux) # define ARCH_PCI_INIT linuxPciInit # define INCLUDE_XF86_MAP_PCI_MEM # define INCLUDE_XF86_NO_DOMAIN # endif #elif defined(__mips__) +# define CAN_HARDFAIL_MASTER_ABORTS TRUE /* Unknown */ # if defined(linux) # define ARCH_PCI_INIT linuxPciInit # define INCLUDE_XF86_MAP_PCI_MEM # define INCLUDE_XF86_NO_DOMAIN # endif #elif defined(__powerpc__) +# define CAN_HARDFAIL_MASTER_ABORTS TRUE /* Broken */ # if defined(linux) # define ARCH_PCI_INIT linuxPciInit # define INCLUDE_XF86_MAP_PCI_MEM @@ -322,18 +337,21 @@ # define INCLUDE_XF86_NO_DOMAIN # endif #elif defined(__s390__) +# define CAN_HARDFAIL_MASTER_ABORTS TRUE /* Unknown */ # if defined(linux) # define ARCH_PCI_INIT linuxPciInit # define INCLUDE_XF86_MAP_PCI_MEM # define INCLUDE_XF86_NO_DOMAIN # endif #elif defined(__sh__) +# define CAN_HARDFAIL_MASTER_ABORTS TRUE /* Unknown */ # if defined(linux) # define ARCH_PCI_INIT linuxPciInit # define INCLUDE_XF86_MAP_PCI_MEM # define INCLUDE_XF86_NO_DOMAIN # endif #elif defined(__sparc__) || defined(sparc) +# define CAN_HARDFAIL_MASTER_ABORTS TRUE /* Broken */ # if defined(linux) # define ARCH_PCI_INIT linuxPciInit # define INCLUDE_XF86_MAP_PCI_MEM @@ -355,6 +373,7 @@ # endif # define ARCH_PCI_PCI_BRIDGE sparcPciPciBridge #elif defined(__amd64__) || defined(__x86_64__) +# define CAN_HARDFAIL_MASTER_ABORTS FALSE /* Likely */ # if defined(__FreeBSD__) # define ARCH_PCI_INIT freebsdPciInit # else @@ -371,6 +390,10 @@ #error No PCI support available for this architecture/OS combination #endif +#ifndef CAN_HARDFAIL_MASTER_ABORTS +#define CAN_HARDFAIL_MASTER_ABORTS TRUE /* Assume the worst */ +#endif + extern void ARCH_PCI_INIT(void); #if defined(ARCH_PCI_OS_INIT) extern void ARCH_PCI_OS_INIT(void); @@ -423,6 +446,7 @@ pciBusFuncs_p funcs; /* PCI access functions */ void *pciBusPriv; /* Implementation private data */ pciConfigPtr bridge; /* bridge that opens this bus */ + int pciMaxOffset; /* Size of config for one device */ } pciBusInfo_t; #define HOST_NO_BUS ((pciBusInfo_t *)(-1)) Index: xc/programs/Xserver/hw/xfree86/os-support/bus/ix86Pci.c diff -u xc/programs/Xserver/hw/xfree86/os-support/bus/ix86Pci.c:1.27 xc/programs/Xserver/hw/xfree86/os-support/bus/ix86Pci.c:1.28 --- xc/programs/Xserver/hw/xfree86/os-support/bus/ix86Pci.c:1.27 Thu Oct 14 20:08:32 2004 +++ xc/programs/Xserver/hw/xfree86/os-support/bus/ix86Pci.c Wed May 14 08:40:49 2008 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/ix86Pci.c,v 1.27 2004/10/15 03:08:32 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/ix86Pci.c,v 1.28 2008/05/14 15:40:49 tsi Exp $ */ /* * ix86Pci.c - x86 PCI driver * @@ -570,6 +570,9 @@ ErrorF("ix86PciReadLong 0x%lx, %d\n", Tag, reg); #endif + if ((reg < 0) || (reg >= 256)) + return PCI_NOT_FOUND; + addr = PCI_ADDR_FROM_TAG_CFG1(Tag,reg); outl(PCI_CFGMECH1_ADDRESS_REG, addr); data = inl(PCI_CFGMECH1_DATA_REG); @@ -592,6 +595,9 @@ ErrorF("ix86PciReadLong 0x%lx, %d\n", Tag, reg); #endif + if ((reg < 0) || (reg >= 256)) + return PCI_NOT_FOUND; + forward = PCI_FORWARD_FROM_TAG(Tag); enable = PCI_ENABLE_FROM_TAG(Tag); addr = PCI_ADDR_FROM_TAG_CFG2(Tag,reg); @@ -621,6 +627,9 @@ { CARD32 addr; + if ((reg < 0) || (reg >= 256)) + return; + addr = PCI_ADDR_FROM_TAG_CFG1(Tag,reg); outl(PCI_CFGMECH1_ADDRESS_REG, addr); outl(PCI_CFGMECH1_DATA_REG, data); @@ -633,6 +642,9 @@ CARD32 addr; CARD8 forward, enable; + if ((reg < 0) || (reg >= 256)) + return; + forward = PCI_FORWARD_FROM_TAG(Tag); enable = PCI_ENABLE_FROM_TAG(Tag); addr = PCI_ADDR_FROM_TAG_CFG2(Tag,reg); @@ -660,6 +672,9 @@ ErrorF("ix86PciSetBitsLong 0x%lx, %d\n", Tag, reg); #endif + if ((reg < 0) || (reg >= 256)) + return; + addr = PCI_ADDR_FROM_TAG_CFG1(Tag,reg); outl(PCI_CFGMECH1_ADDRESS_REG, addr); data = inl(PCI_CFGMECH1_DATA_REG); @@ -678,6 +693,9 @@ ErrorF("ix86PciSetBitsLong 0x%lx, %d\n", Tag, reg); #endif + if ((reg < 0) || (reg >= 256)) + return; + forward = PCI_FORWARD_FROM_TAG(Tag); enable = PCI_ENABLE_FROM_TAG(Tag); addr = PCI_ADDR_FROM_TAG_CFG2(Tag,reg); Index: xc/programs/Xserver/hw/xfree86/os-support/bus/ppcPci.c diff -u xc/programs/Xserver/hw/xfree86/os-support/bus/ppcPci.c:1.10 xc/programs/Xserver/hw/xfree86/os-support/bus/ppcPci.c:1.11 --- xc/programs/Xserver/hw/xfree86/os-support/bus/ppcPci.c:1.10 Tue Mar 29 09:54:00 2005 +++ xc/programs/Xserver/hw/xfree86/os-support/bus/ppcPci.c Wed May 14 08:40:49 2008 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/ppcPci.c,v 1.10 2005/03/29 17:54:00 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/ppcPci.c,v 1.11 2008/05/14 15:40:49 tsi Exp $ */ /* * ppcPci.c - PowerPC PCI access functions * @@ -227,11 +227,14 @@ static CARD32 pciCfgMech1Read(PCITAG tag, int offset) { - unsigned long rv = 0xffffffff; + CARD32 rv = 0xffffffff; #ifdef DEBUGPCI ErrorF("pciCfgMech1Read(tag=%08lx,offset=%08x)\n", tag, offset); #endif + if ((offset < 0) || (offset >= 256)) + return rv; + signal(SIGBUS, buserr); buserr_detected = 0; @@ -258,6 +261,9 @@ tag, offset, (unsigned long)val); #endif + if ((offset < 0) || (offset >= 256)) + return; + signal(SIGBUS, SIG_IGN); outl(0xCF8, PCI_EN | tag | (offset & 0xfc)); @@ -274,8 +280,12 @@ static void pciCfgMech1SetBits(PCITAG tag, int offset, CARD32 mask, CARD32 val) { - unsigned long rv = 0xffffffff; + CARD32 rv; + + if ((offset < 0) || (offset >= 256)) + return; + rv = 0xffffffff; signal(SIGBUS, buserr); outl(0xCF8, PCI_EN | tag | (offset & 0xfc)); Index: xc/programs/Xserver/hw/xfree86/os-support/bus/sparcPci.c diff -u xc/programs/Xserver/hw/xfree86/os-support/bus/sparcPci.c:1.31 xc/programs/Xserver/hw/xfree86/os-support/bus/sparcPci.c:1.33 --- xc/programs/Xserver/hw/xfree86/os-support/bus/sparcPci.c:1.31 Tue Jul 10 12:08:42 2007 +++ xc/programs/Xserver/hw/xfree86/os-support/bus/sparcPci.c Mon Jun 23 07:42:22 2008 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/sparcPci.c,v 1.31 2007/07/10 19:08:42 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/sparcPci.c,v 1.33 2008/06/23 14:42:22 tsi Exp $ */ /* * Copyright (C) 2001-2007 The XFree86 Project, Inc. * All rights reserved. @@ -117,7 +117,7 @@ pointer pci, io; int bus_min, bus_max; int tagMultiplier, maxOffset; - unsigned char dfn_mask[256 / 8]; + unsigned char *bdf_mask; } sparcDomainRec, *sparcDomainPtr; #define SetBitInMap(bit, map) \ @@ -142,23 +142,84 @@ *(volatile type *)(pointer)((char *)((domain)->pci) + \ ((PCI_TAG_NO_DOMAIN(tag) * (domain)->tagMultiplier) | (off))) +/* + * Functions to wrap PciReg accesses with membar's for fault isolation + * purposes. + */ + +static __inline__ CARD8 +GetPciByte(sparcDomainPtr pDomain, PCITAG tag, int off) +{ + volatile CARD8 result; /* Must be volatile */ + + barrier(); + result = PciReg(pDomain, tag, off, CARD8); + barrier(); + return result; +} + +static __inline__ CARD16 +GetPciWord(sparcDomainPtr pDomain, PCITAG tag, int off) +{ + volatile CARD16 result; /* Must be volatile */ + + barrier(); + result = PciReg(pDomain, tag, off, CARD16); + barrier(); + return result; +} + +static __inline__ CARD32 +GetPciLong(sparcDomainPtr pDomain, PCITAG tag, int off) +{ + volatile CARD32 result; /* Must be volatile */ + + barrier(); + result = PciReg(pDomain, tag, off, CARD32); + barrier(); + return result; +} + +static __inline__ void +PutPciByte(sparcDomainPtr pDomain, PCITAG tag, int off, CARD8 val) +{ + barrier(); + PciReg(pDomain, tag, off, CARD8) = val; + barrier(); +} + +static __inline__ void +PutPciWord(sparcDomainPtr pDomain, PCITAG tag, int off, CARD16 val) +{ + barrier(); + PciReg(pDomain, tag, off, CARD16) = val; + barrier(); +} + +static __inline void +PutPciLong(sparcDomainPtr pDomain, PCITAG tag, int off, CARD32 val) +{ + barrier(); + PciReg(pDomain, tag, off, CARD32) = val; + barrier(); +} + /* Generic SPARC PCI access functions */ static CARD32 sparcPciCfgRead32(PCITAG tag, int off) { - pciBusInfo_t *pBusInfo; - sparcDomainPtr pDomain; - volatile CARD32 result = (CARD32)(-1); /* Must be volatile */ - int bus; + pciBusInfo_t *pBusInfo; + sparcDomainPtr pDomain; + CARD32 result = (CARD32)(-1); + int bus; if ((off >= 0) && !(off & 3) && ((bus = PCI_BUS_FROM_TAG(tag)) < pciNumBuses) && (pBusInfo = pciBusInfo[bus]) && (pDomain = pBusInfo->pciBusPriv) && (off < pDomain->maxOffset) && (bus >= pDomain->bus_min) && (bus < pDomain->bus_max) && - ((bus > pDomain->bus_min) || - IsBitSetInMap(PCI_DFN_FROM_TAG(tag), pDomain->dfn_mask))) { - result = PciReg(pDomain, tag, off, CARD32); + IsBitSetInMap(PCI_BDF_FROM_TAG(tag), pDomain->bdf_mask)) { + result = GetPciLong(pDomain, tag, off); result = PCI_CPU(result); } @@ -178,12 +239,11 @@ !(pBusInfo = pciBusInfo[bus]) || !(pDomain = pBusInfo->pciBusPriv) || (off >= pDomain->maxOffset) || (bus < pDomain->bus_min) || (bus >= pDomain->bus_max) || - ((bus == pDomain->bus_min) && - !IsBitSetInMap(PCI_DFN_FROM_TAG(tag), pDomain->dfn_mask))) + !IsBitSetInMap(PCI_BDF_FROM_TAG(tag), pDomain->bdf_mask)) return; val = PCI_CPU(val); - PciReg(pDomain, tag, off, CARD32) = val; + PutPciLong(pDomain, tag, off, val); } static void @@ -213,10 +273,10 @@ static CARD32 sabrePciCfgRead32(PCITAG tag, int off) { - pciBusInfo_t *pBusInfo; - sparcDomainPtr pDomain; - volatile CARD32 result; /* Must be volatile */ - int bus; + pciBusInfo_t *pBusInfo; + sparcDomainPtr pDomain; + CARD32 result; + int bus; if (PCI_BDEV_FROM_TAG(tag)) return sparcPciCfgRead32(tag, off); @@ -228,15 +288,15 @@ return (CARD32)(-1); if (off < 8) { - result = (PciReg(pDomain, tag, off, CARD16) << 16) | - PciReg(pDomain, tag, off + 2, CARD16); + result = (GetPciWord(pDomain, tag, off) << 16) | + GetPciWord(pDomain, tag, off + 2); return PCI_CPU(result); } - result = (PciReg(pDomain, tag, off + 3, CARD8) << 24) | - (PciReg(pDomain, tag, off + 2, CARD8) << 16) | - (PciReg(pDomain, tag, off + 1, CARD8) << 8) | - (PciReg(pDomain, tag, off , CARD8) ); + result = (GetPciByte(pDomain, tag, off + 3) << 24) | + (GetPciByte(pDomain, tag, off + 2) << 16) | + (GetPciByte(pDomain, tag, off + 1) << 8) | + (GetPciByte(pDomain, tag, off ) ); return result; } @@ -257,13 +317,13 @@ (bus == pDomain->bus_min)) { if (off < 8) { val = PCI_CPU(val); - PciReg(pDomain, tag, off , CARD16) = val >> 16; - PciReg(pDomain, tag, off + 2, CARD16) = val; + PutPciWord(pDomain, tag, off , val >> 16); + PutPciWord(pDomain, tag, off + 2, val); } else { - PciReg(pDomain, tag, off , CARD8) = val; - PciReg(pDomain, tag, off + 1, CARD8) = val >> 8; - PciReg(pDomain, tag, off + 2, CARD8) = val >> 16; - PciReg(pDomain, tag, off + 3, CARD8) = val >> 24; + PutPciByte(pDomain, tag, off , val); + PutPciByte(pDomain, tag, off + 1, val >> 8); + PutPciByte(pDomain, tag, off + 2, val >> 16); + PutPciByte(pDomain, tag, off + 3, val >> 24); } } } @@ -296,54 +356,69 @@ static int nAddressSizes = 0; /* - * Extract base size information from "assigned-addresses" properties. + * Scan the PROM device tree rooted at 'node', accumulating a bit map of PCI + * devices that exist, and retrieving base size information. */ static void -sparcAssignedAddresses(sparcDomainPtr pDomain, int node) +sparcScanPciTree(sparcDomainPtr pDomain, int node) { char *prop_val; int prop_len; - /* Retrieve and validate "assigned-addresses" property */ - prop_val = promGetProperty("assigned-addresses", &prop_len); - if (prop_val && !(prop_len % 20)) { - prop_len /= 20; - for (; prop_len--; prop_val += 20) { - if (((unsigned char)prop_val[1] < pDomain->bus_min) || - ((unsigned char)prop_val[1] > pDomain->bus_max) || - (prop_val[3] & 0x3) || (prop_val[3] < PCI_MAP_REG_START) || - ((CARD32 *)prop_val)[1] || ((CARD32 *)prop_val)[3] || - (((CARD32 *)prop_val)[4] < 4) || - (((CARD32 *)prop_val)[4] & (((CARD32 *)prop_val)[4] - 1)) || - (((CARD32 *)prop_val)[2] & (((CARD32 *)prop_val)[4] - 1))) - continue; - - if ((prop_val[3] >= PCI_MAP_REG_END) && - (prop_val[3] != PCI_MAP_ROM_REG) && - (prop_val[3] != PCI_PCI_BRIDGE_ROM_REG)) - continue; + for (node = promGetChild(node); node; node = promGetSibling(node)) { + /* Retrieve and validate "reg" property */ + prop_val = promGetProperty("reg", &prop_len); + if (prop_val && !(prop_len % 20)) { + /* + * It's unnecessary to scan the entire "reg" property, but I'll do + * so anyway. + */ + prop_len /= 20; + for (; prop_len--; prop_val += 20) + SetBitInMap(PCI_BDF_FROM_TAG(*(CARD32 *)prop_val), + pDomain->bdf_mask); + } - prop_val[0] = pciNumDomains; - pAddressSizes = xnfrealloc(pAddressSizes, - sizeof(*pAddressSizes) * (nAddressSizes + 1)); - pAddressSizes[nAddressSizes].tag = ((CARD32 *)prop_val)[0]; - for (pAddressSizes[nAddressSizes].size = -1; - ((CARD32 *)prop_val)[4]; - ((CARD32 *)prop_val)[4] >>= 1) - pAddressSizes[nAddressSizes].size++; - nAddressSizes++; + /* Retrieve and validate "assigned-addresses" property */ + prop_val = promGetProperty("assigned-addresses", &prop_len); + if (prop_val && !(prop_len % 20)) { + prop_len /= 20; + for (; prop_len--; prop_val += 20) { + if (((unsigned char)prop_val[1] < pDomain->bus_min) || + ((unsigned char)prop_val[1] > pDomain->bus_max) || + (prop_val[3] & 0x3) || (prop_val[3] < PCI_MAP_REG_START) || + ((CARD32 *)prop_val)[1] || ((CARD32 *)prop_val)[3] || + (((CARD32 *)prop_val)[4] < 4) || + (((CARD32 *)prop_val)[4] & (((CARD32 *)prop_val)[4] - 1)) || + (((CARD32 *)prop_val)[2] & (((CARD32 *)prop_val)[4] - 1))) + continue; + + if ((prop_val[3] >= PCI_MAP_REG_END) && + (prop_val[3] != PCI_MAP_ROM_REG) && + (prop_val[3] != PCI_PCI_BRIDGE_ROM_REG)) + continue; + + prop_val[0] = pciNumDomains; + pAddressSizes = xnfrealloc(pAddressSizes, + sizeof(*pAddressSizes) * (nAddressSizes + 1)); + pAddressSizes[nAddressSizes].tag = ((CARD32 *)prop_val)[0]; + for (pAddressSizes[nAddressSizes].size = -1; + ((CARD32 *)prop_val)[4]; + ((CARD32 *)prop_val)[4] >>= 1) + pAddressSizes[nAddressSizes].size++; + nAddressSizes++; + } } - } - /* Retrieve and validate "class-code" property */ - prop_val = promGetProperty("class-code", &prop_len); - if (prop_val && (prop_len == 4) && - (prop_val[0] == 0) && (prop_val[1] == PCI_CLASS_BRIDGE) && - ((prop_val[2] == PCI_SUBCLASS_BRIDGE_PCI) || - (prop_val[2] == PCI_SUBCLASS_BRIDGE_CARDBUS))) - for (node = promGetChild(node); node; node = promGetSibling(node)) - sparcAssignedAddresses(pDomain, node); + /* Retrieve and validate "class-code" property */ + prop_val = promGetProperty("class-code", &prop_len); + if (prop_val && (prop_len == 4) && + (prop_val[0] == 0) && (prop_val[1] == PCI_CLASS_BRIDGE) && + ((prop_val[2] == PCI_SUBCLASS_BRIDGE_PCI) || + (prop_val[2] == PCI_SUBCLASS_BRIDGE_CARDBUS))) + sparcScanPciTree(pDomain, node); + } } /* Return the PCI allocation sizes derived above */ @@ -381,7 +456,7 @@ void sparcPciInit(void) { - int node, node2; + int node; if (!xf86LinearVidMem()) return; @@ -405,7 +480,7 @@ pciBusFuncs_p pFunctions; char *prop_val; int prop_len, bus; - char shared_pci; + char shared_pci, pciex; prop_val = promGetProperty("name", &prop_len); if (!prop_val || (prop_len < 3)) @@ -442,6 +517,12 @@ xf86Msg(X_INFO, "PCI host bridge found (\"%s\")\n", prop_val); + prop_val = promGetProperty("device_type", &prop_len); + if (prop_val && !strcmp("pciex", prop_val)) + pciex = 1; + else + pciex = 0; + /* Get "bus-range" property */ prop_val = promGetProperty("bus-range", &prop_len); if (!prop_val || (prop_len != 8) || @@ -504,8 +585,6 @@ break; case 2: /* 32-bit memory space */ - case 3: /* 64-bit memory space */ - default: /* Muffle compiler */ if ((domain.mem_addr == phys_addr) && (domain.mem_size == phys_size)) break; @@ -515,6 +594,10 @@ domain.mem_addr = phys_addr; domain.mem_size = phys_size; break; + + case 3: /* 64-bit memory space */ + default: /* Muffle compiler */ + break; /* Ignore, for now */ } } @@ -550,6 +633,11 @@ domain.pci = (char *)domain.pci - (phys_addr - pci_addr); + /* Allocate bus/device/function bit map */ + domain.bdf_mask = (unsigned char *)xnfcalloc(1, + (domain.bus_max - domain.bus_min + 1) << 5) - + (domain.bus_min << 5); + xf86MsgVerb(X_INFO, 4, "Adding PCI domain %d:\n", pciNumDomains); xf86MsgVerb(X_INFO, 4, "PCI Configuration space: 0x%016llx, size: 0x%09llx\n", @@ -581,6 +669,7 @@ pciBusInfo[bus]->numDevices = 32; pciBusInfo[bus]->funcs = pFunctions; pciBusInfo[bus]->pciBusPriv = pDomain; + pciBusInfo[bus]->pciMaxOffset = domain.maxOffset; while (++bus < pciNumBuses) { pciBusInfo[bus] = xnfalloc(sizeof(pciBusInfo_t)); *(pciBusInfo[bus]) = *(pciBusInfo[bus - 1]); @@ -652,30 +741,30 @@ * VGA, or if a PCI device actually implements PCI disablement. * * --- TSI @ UQV 2001.09.19 + * + * This has been changed to generate a bit map for all of an + * interface's buses, because it appears that probing for a PCI Express + * switch's downstream ports cannot be done without generating + * interrupts that are untrappable from userland. In effect, PCI + * Express has entrenched the hard-failing of unsupported requests + * (which include its equivalent to master aborts). + * + * --- TSI @ UQV 2008.01.31 */ - for (node2 = promGetChild(node); - node2; - node2 = promGetSibling(node2)) { - /* Get "reg" property */ - prop_val = promGetProperty("reg", &prop_len); - if (prop_val && !(prop_len % 20)) { - - /* - * It's unnecessary to scan the entire "reg" property, but I'll - * do so anyway. - */ - prop_len /= 20; - for (; prop_len--; prop_val += 20) - SetBitInMap(PCI_DFN_FROM_TAG(*(CARD32 *)prop_val), - pDomain->dfn_mask); - } + sparcScanPciTree(&domain, node); - /* Scan "assigned-addresses" properties for resource sizes */ - sparcAssignedAddresses(&domain, node2); - } + /* + * Assume the host bridge is device 0, function 0 on its bus. Note + * that this is valid for PCI Express as well, because the spec + * requires that the other end of the link from a root port, or any + * of a switch's downstream ports, be device 0, function 0. + */ + SetBitInMap(domain.bus_min << 8, pDomain->bdf_mask); - /* Assume the host bridge is device 0, function 0 on its bus */ - SetBitInMap(0, pDomain->dfn_mask); + if ((domain.bus_min < domain.bus_max) && + (!pciex || (xf86Info.estimateSizesAggressively > 0))) + memset(domain.bdf_mask + ((domain.bus_min + 1) << 5), 0xff, + (domain.bus_max - domain.bus_min) << 5); pciNumDomains++; @@ -916,7 +1005,10 @@ #if defined(ARCH_PCI_PCI_BRIDGE) +#define APB_DEVICE_ID (DEVID(VENDOR_SUN, CHIP_SIMBA)) + /* Definitions specific to Sun's APB P2P bridge (a.k.a. Simba) */ +#define APB_INT_ACK 0xB8 #define APB_IO_ADDRESS_MAP 0xDE #define APB_MEM_ADDRESS_MAP 0xDF @@ -1006,13 +1098,29 @@ } } +static CARD32 (*wrappedPciReadLong)(PCITAG, int) = NULL; + +/* + * Wrapper function to avoid the interrupt acknowledge cycle that is generated + * on a Simba's secondary bus when its INT_ACK register is read. + */ +static CARD32 +simbaPciCfgRead32(PCITAG tag, int offset) +{ + if ((offset != APB_INT_ACK) || + ((*wrappedPciReadLong)(tag, PCI_ID_REG) != APB_DEVICE_ID)) + return (*wrappedPciReadLong)(tag, offset); + + return PCI_NOT_FOUND; +} + static pciConfigPtr simbaVerifyBus(int bus) { pciConfigPtr pPCI; if ((bus < 0) || (bus >= pciNumBuses) || !pciBusInfo[bus] || !(pPCI = pciBusInfo[bus]->bridge) || - (pPCI->pci_device_vendor != DEVID(VENDOR_SUN, CHIP_SIMBA))) + (pPCI->pci_device_vendor != APB_DEVICE_ID)) return NULL; return pPCI; @@ -1188,16 +1296,22 @@ pciBusInfo_t *pBusInfo; CARD16 pcicommand; - if (pPCI->pci_device_vendor != DEVID(VENDOR_SUN, CHIP_SIMBA)) + if (pPCI->pci_device_vendor != APB_DEVICE_ID) return; pBusInfo = pPCI->businfo; - simbaBusFuncs = *(pBusInfo->funcs); - simbaBusFuncs.pciControlBridge = simbaControlBridge; - simbaBusFuncs.pciGetBridgeResources = simbaGetBridgeResources; + if (pBusInfo->funcs != &simbaBusFuncs) { + simbaBusFuncs = *(pBusInfo->funcs); + + wrappedPciReadLong = simbaBusFuncs.pciReadLong; + simbaBusFuncs.pciReadLong = simbaPciCfgRead32; - pBusInfo->funcs = &simbaBusFuncs; + simbaBusFuncs.pciControlBridge = simbaControlBridge; + simbaBusFuncs.pciGetBridgeResources = simbaGetBridgeResources; + + pBusInfo->funcs = &simbaBusFuncs; + } if (!simbavgaRoutingAllow) return; Index: xc/programs/Xserver/hw/xfree86/os-support/bus/xf86Pci.h diff -u xc/programs/Xserver/hw/xfree86/os-support/bus/xf86Pci.h:1.48 xc/programs/Xserver/hw/xfree86/os-support/bus/xf86Pci.h:1.50 --- xc/programs/Xserver/hw/xfree86/os-support/bus/xf86Pci.h:1.48 Tue Feb 13 10:30:10 2007 +++ xc/programs/Xserver/hw/xfree86/os-support/bus/xf86Pci.h Thu Apr 24 13:54:54 2008 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/xf86Pci.h,v 1.48 2007/02/13 18:30:10 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/xf86Pci.h,v 1.50 2008/04/24 20:54:54 tsi Exp $ */ /* * Copyright 1998 by Concurrent Computer Corporation * @@ -351,6 +351,13 @@ #define PCI_IF_SERIAL_USB_DEVICE 0xfe #define PCI_SUBCLASS_SERIAL_FIBRECHANNEL 0x04 #define PCI_SUBCLASS_SERIAL_SMBUS 0x05 +#define PCI_SUBCLASS_SERIAL_INFINIBAND 0x06 +#define PCI_SUBCLASS_SERIAL_IPMI 0x07 +#define PCI_IF_SERIAL_IPMI_SMIC 0x00 +#define PCI_IF_SERIAL_IPMI_KYBD 0x01 +#define PCI_IF_SERIAL_IPMI_BLOCK 0x02 +#define PCI_SUBCLASS_SERIAL_SERCOS 0x08 +#define PCI_SUBCLASS_SERIAL_CANBUS 0x09 /* 0x0d wireless controller subclasses */ #define PCI_SUBCLASS_WIRELESS_IRDA 0x00 @@ -358,6 +365,8 @@ #define PCI_SUBCLASS_WIRELESS_RF 0x10 #define PCI_SUBCLASS_WIRELESS_BLUETOOTH 0x11 #define PCI_SUBCLASS_WIRELESS_BROADBAND 0x12 +#define PCI_SUBCLASS_WIRELESS_802_11A 0x20 +#define PCI_SUBCLASS_WIRELESS_802_11B 0x21 #define PCI_SUBCLASS_WIRELESS_MISC 0x80 /* 0x0e intelligent I/O controller subclasses */ @@ -430,7 +439,7 @@ /* Pointer to first capability */ #define PCI_CAP_PTR 0x34 -/* Interrupt configration register */ +/* Interrupt configuration register */ #define PCI_INTERRUPT_REG 0x3c #define PCI_INTERRUPT_PIN_MASK 0x0000ff00 #define PCI_INTERRUPT_PIN_EXTRACT(x) \ @@ -465,19 +474,20 @@ #define PCI_PPB_MEMLIMIT_EXTRACT(x) (((x) << 0) & 0xFFFF0000) #define PCI_PCI_BRIDGE_CONTROL_REG 0x3E -#define PCI_PCI_BRIDGE_PARITY_EN 0x01 -#define PCI_PCI_BRIDGE_SERR_EN 0x02 -#define PCI_PCI_BRIDGE_ISA_EN 0x04 -#define PCI_PCI_BRIDGE_VGA_EN 0x08 -#define PCI_PCI_BRIDGE_MASTER_ABORT_EN 0x20 -#define PCI_PCI_BRIDGE_SECONDARY_RESET 0x40 -#define PCI_PCI_BRIDGE_FAST_B2B_EN 0x80 +#define PCI_PCI_BRIDGE_PARITY_EN 0x0001 +#define PCI_PCI_BRIDGE_SERR_EN 0x0002 +#define PCI_PCI_BRIDGE_ISA_EN 0x0004 +#define PCI_PCI_BRIDGE_VGA_EN 0x0008 +#define PCI_PCI_BRIDGE_VGA16_EN 0x0010 +#define PCI_PCI_BRIDGE_MASTER_ABORT_EN 0x0020 +#define PCI_PCI_BRIDGE_SECONDARY_RESET 0x0040 +#define PCI_PCI_BRIDGE_FAST_B2B_EN 0x0080 /* header type 2 extensions */ -#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 -#define PCI_CB_BRIDGE_CTL_PREFETCH_MEM1 0x200 -#define PCI_CB_BRIDGE_CTL_POST_WRITES 0x400 +#define PCI_CB_BRIDGE_CTL_CB_RESET 0x0040 /* CardBus reset */ +#define PCI_CB_BRIDGE_CTL_16BIT_INT 0x0080 /* Enable interrupt for 16-bit cards */ +#define PCI_CB_BRIDGE_CTL_PREFETCH_MEM0 0x0100 +#define PCI_CB_BRIDGE_CTL_PREFETCH_MEM1 0x0200 +#define PCI_CB_BRIDGE_CTL_POST_WRITES 0x0400 #define PCI_CB_CAP_PTR 0x14 #define PCI_CB_SEC_STATUS_REG 0x16 /* Secondary status */ @@ -514,8 +524,14 @@ #define PCI_CAP_MSI_ID 0x05 /* Message Signaled Interrupts */ #define PCI_CAP_CHSWP_ID 0x06 /* CompactPCI HotSwap */ #define PCI_CAP_PCIX_ID 0x07 /* PCI-X */ +#define PCI_CAP_HT_ID 0x08 /* HyperTransport */ +#define PCI_CAP_VENDOR_ID 0x09 /* Vendor-specific */ +#define PCI_CAP_DEBUG_ID 0x0a /* Debug port */ +#define PCI_CAP_CCRC 0x0b /* CompactPCI central resource cntrl */ #define PCI_CAP_SHPC_ID 0x0c /* Standard Hot-Plug Controller */ -#define PCI_CAP_EXPRESS_ID 0x10 /* PCI Express */ +#define PCI_CAP_AGP8_ID 0x0e /* AGP 8x */ +#define PCI_CAP_SECURE_ID 0x0f /* Secure device */ +#define PCI_CAP_PCIE_ID 0x10 /* PCI Express */ #define PCI_CAP_MSIX_ID 0x11 /* MSI-X */ /* Capability header */ @@ -527,6 +543,64 @@ #define PCI_CAP_PM_CSR 0x04 /* Control & Status */ #define PCI_CAP_PM_MODE_MASK 0x03 /* Current mode (D0 to D3) */ +/* PCI-X Capability (incomplete) */ +#define PCI_CAP_PCIX_STAT 0x02 /* PCI-X status register */ +#define PCI_CAP_PCIX_STAT_MODE 0x03C0 /* Secondary mode & frequency */ +#define PCI_CAP_PCIX_STAT_PCIX2_MIN 8 /* Min. of above for PCI-X mode 2 */ + +/* PCI Express Capability (incomplete) */ +#define PCI_CAP_PCIE_REG 0x02 /* 16 bits of R/O information */ +#define PCI_CAP_PCIE_DEVTYPE 0x00F0 /* PCI Express device type */ +#define PCI_CAP_PCIE_DEVTYPE_END 0x0 /* Endpoint with no I/O */ +#define PCI_CAP_PCIE_DEVTYPE_END_IO 0x1 /* Endpoint with I/O */ +#define PCI_CAP_PCIE_DEVTYPE_ROOT 0x4 /* Root port */ +#define PCI_CAP_PCIE_DEVTYPE_UP 0x5 /* Upstream port of switch */ +#define PCI_CAP_PCIE_DEVTYPE_DOWN 0x6 /* Downstream port of switch */ +#define PCI_CAP_PCIE_DEVTYPE_PCIE_PCI 0x7 /* PCI Express to PCI/PCI-X bridge */ +#define PCI_CAP_PCIE_DEVTYPE_PCI_PCIE 0x8 /* PCI/PCI-X to PCI Express bridge */ +#define PCI_CAP_PCIE_DEV_CAP 0x04 /* 32 more bits of R/O information */ +#define PCI_CAP_PCIE_DEV_CTL 0x08 /* Device control */ +#define PCI_CAP_PCIE_CR_EN 0x0001 /* Correctable error reporting en */ +#define PCI_CAP_PCIE_NFR_EN 0x0002 /* Non-fatal error reporting enable */ +#define PCI_CAP_PCIE_FR_EN 0x0004 /* Fatal error reporting enable */ +#define PCI_CAP_PCIE_URR_EN 0x0008 /* Unsupported request reporting en */ + +/* PCI Express extended capability IDs */ +#define PCIE_CAP_AER_ID 0x0001 /* Advanced Error Reporting */ +#define PCIE_CAP_VC_ID 0x0002 /* Virtual Channel */ +#define PCIE_CAP_DSN_ID 0x0003 /* Device Serial Number */ +#define PCIE_CAP_PB_ID 0x0004 /* Power Budgeting */ + +#define PCIE_CAP_HEADER 0x000 /* Capability Header */ +#define PCIE_CAP_ID 0x0000FFFF /* Capability ID */ +#define PCIE_CAP_VERSION 0x000F0000 /* Capability Version */ +#define PCIE_CAP_NEXT 0xFFF00000 /* Next capability pointer */ + +#define PCIE_CAP_FIRST 0x100 /* First capability pointer */ + +/* Advanced Error Reporting Capability (incomplete) */ +#define PCIE_CAP_AER_UE_STATUS 0x004 /* Uncorrectable Error status */ +#define PCIE_CAP_AER_UE_MASK 0x008 /* Uncorrectable Error mask */ +#define PCIE_CAP_AER_UE_SEV 0x00c /* Uncorrectable Error severity */ +/* The following bit valid for all three of the preceeding (incomplete) */ +#define PCIE_CAP_AER_UE_URE 0x00100000 /* Unsupported Request Error */ +#define PCIE_CAP_AER_CE_STATUS 0x010 /* Correctable Error status */ +#define PCIE_CAP_AER_CE_MASK 0x014 /* Correctable Error mask */ +#define PCIE_CAP_AER_CTL 0x018 /* AER control */ +#define PCIE_CAP_AER_HEADERLOG 0x01c /* 4 Header Log registers */ +/* These exist only in PCI Express to PCI/PCI-X bridges */ +#define PCIE_CAP_AER_SUE_STATUS 0x02c /* UE Secondary status */ +#define PCIE_CAP_AER_SUE_MASK 0x030 /* UE Secondary mask */ +#define PCIE_CAP_AER_SUE_SEV 0x034 /* UE Secondary severity */ +/* The following bits valid for all three of the preceeding (incomplete) */ +#define PCIE_CAP_AER_SUE_MA_SPLIT 0x0002 /* Master Abort on split status */ +#define PCIE_CAP_AER_SUE_MA 0x0008 /* Master Abort */ +#define PCIE_CAP_AER_SUE_SAD 0x1000 /* SERR# Assertion detected */ +#define PCIE_CAP_AER_SUE_MASTER_ABORT /* Convenience macro */ \ + (PCIE_CAP_AER_SUE_MA | \ + PCIE_CAP_AER_SUE_MA_SPLIT | \ + PCIE_CAP_AER_SUE_SAD) + /* * Typedefs, etc... */ @@ -605,7 +679,8 @@ CARD32 cg_rsrvd1; /* 0x10 */ #if X_BYTE_ORDER == X_BIG_ENDIAN CARD16 secondary_status; /* 0x16 */ - CARD16 cg_rsrvd2; /* 0x14 */ + CARD8 cg_rsrvd2; /* 0x15 */ + CARD8 cg_capptr; /* 0x14 */ union { CARD32 cg_bus_reg; @@ -617,7 +692,8 @@ } cgbr; } cgbr; #else - CARD16 cg_rsrvd2; /* 0x14 */ + CARD8 cg_capptr; /* 0x14 */ + CARD8 cg_rsrvd2; /* 0x15 */ CARD16 secondary_status; /* 0x16 */ union { @@ -726,11 +802,11 @@ } b_u_io; } uio_rom; #if X_BYTE_ORDER == X_BIG_ENDIAN - CARD8 capptr; /* Offset 0x34 */ CARD8 rsvd3[3]; /* Offset 0x35 - 0x37 */ + CARD8 capptr; /* Offset 0x34 */ #else - CARD8 rsvd3[3]; /* Offset 0x35 - 0x37 */ CARD8 capptr; /* Offset 0x34 */ + CARD8 rsvd3[3]; /* Offset 0x35 - 0x37 */ #endif union { CARD32 rsvd4; /* Offset 0x38 - 0x3b */ @@ -794,6 +870,14 @@ CARD32 listed_class; pointer businfo; /* pointer to secondary's bus info structure */ Bool fakeDevice; /* Device added by system chipset support */ + CARD16 pcie_cap_ptr; /* PCI Express capability pointer */ + CARD16 pcie_dev_ctl; /* PCI Express device control */ + CARD16 pcie_devtype; /* PCI Express device type */ + CARD16 aer_cap_ptr; /* Advanced Error Reporting capability ptr */ + CARD32 aer_ue_mask; /* Uncorrectable Error mask */ + CARD32 aer_ue_severity; /* Uncorrectable Error severity */ + CARD32 aer_sue_mask; /* Uncorrectable Error Secondary mask */ + CARD32 aer_sue_severity; /* Uncorrectable Error Secondary severity */ } pciDevice, *pciConfigPtr; typedef enum { @@ -824,6 +908,7 @@ #define pci_header_type cfgspc.regs.bhlc.bhlc.header_type #define pci_bist cfgspc.regs.bhlc.bhlc.bist #define pci_cb_secondary_status cfgspc.regs.cx.cg.secondary_status +#define pci_cb_capptr cfgspc.regs.cx.cg.cg_capptr #define pci_cb_bus_register cfgspc.regs.cx.cg.cgbr.cg_bus_reg #define pci_cb_primary_bus_number cfgspc.regs.cx.cg.cgbr.cgbr.primary_bus_number #define pci_cb_cardbus_bus_number cfgspc.regs.cx.cg.cgbr.cgbr.cardbus_bus_number @@ -905,7 +990,6 @@ PCITAG pciTag(int busnum, int devnum, int funcnum); int pciGetBaseSize(pciConfigPtr device, int indx, Bool destructive, int *min); -CARD32 pciCheckForBrokenBase(PCITAG tag,int basereg); Bool xf86LocatePciMemoryArea(PCITAG tag, char **devName, unsigned int *devOffset, unsigned int *fbSize, Index: xc/programs/Xserver/hw/xfree86/os-support/bus/xf86Sbus.h diff -u xc/programs/Xserver/hw/xfree86/os-support/bus/xf86Sbus.h:1.13 xc/programs/Xserver/hw/xfree86/os-support/bus/xf86Sbus.h:1.14 --- xc/programs/Xserver/hw/xfree86/os-support/bus/xf86Sbus.h:1.13 Thu Mar 15 07:38:36 2007 +++ xc/programs/Xserver/hw/xfree86/os-support/bus/xf86Sbus.h Wed Jun 18 08:37:42 2008 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/xf86Sbus.h,v 1.13 2007/03/15 14:38:36 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/xf86Sbus.h,v 1.14 2008/06/18 15:37:42 tsi Exp $ */ /* * Platform specific SBUS and OpenPROM access declarations. * @@ -63,6 +63,7 @@ # define FBIOSCURSOR WSDISPLAYIO_SCURSOR # define FBIOGCURSOR WSDISPLAYIO_GCURSOR +# define FBIOSCURPOS WSDISPLAYIO_SCURPOS # define FB_CUR_SETCUR WSDISPLAY_CURSOR_DOCUR # define FB_CUR_SETPOS WSDISPLAY_CURSOR_DOPOS Index: xc/programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.c diff -u xc/programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.c:1.12 xc/programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.c:1.13 --- xc/programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.c:1.12 Fri Jan 5 06:52:09 2007 +++ xc/programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.c Sat Jun 21 11:11:58 2008 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.c,v 1.12 2007/01/05 14:52:09 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bus/zx1PCI.c,v 1.13 2008/06/21 18:11:58 tsi Exp $ */ /* * Copyright (C) 2002-2003 The XFree86 Project, Inc. * All rights reserved. @@ -216,6 +216,7 @@ static Bool zx1_hasvga = FALSE; static pointer pZX1IoRes[8], pZX1MemRes[8]; /* Rope resources */ +static pciConfigPtr pFakePciBridge[8]; static unsigned int sbaid; @@ -243,6 +244,11 @@ static INT8 *pDecode[MAX_RANGE]; static int nRange = 0; +/* Forward declarations */ +static CARD32 zx1FakeReadLong(PCITAG tag, int offset); +static void zx1FakeWriteLong(PCITAG tag, int offset, CARD32 val); +static void zx1FakeSetBits(PCITAG tag, int offset, CARD32 mask, CARD32 bits); + /* Track a resource range and assign a granularity to it */ static void SetRange(CARD64 base, CARD64 last, CARD8 width) @@ -443,18 +449,48 @@ } /* The fake bus */ +static pciBusFuncs_t zx1FakeBusFuncs = { + zx1FakeReadLong, + zx1FakeWriteLong, + zx1FakeSetBits +}; + +static pciBusInfo_t zx1FakeBus = { + 0, /* configMech -- copied from bus 0 */ + 0, /* numDevices -- copied from bus 0 */ + FALSE, /* secondary */ + 0, /* primary_bus -- dynamically set */ +#ifdef PowerMAX_OS + 0, /* ppc_io_base -- ignored */ + 0, /* ppc_io_size -- ignored */ +#endif + &zx1FakeBusFuncs, /* funcs */ + NULL, /* pciBusPriv -- none */ + NULL, /* bridge -- dynamically set */ +}; + static CARD32 zx1FakeReadLong(PCITAG tag, int offset) { - FatalError("zx1FakeReadLong(0x%lX, 0x%X) called\n", - (unsigned long)tag, offset); + pciConfigPtr pPCI; + + if ((offset < 0) || (offset & 3) || (offset >= zx1FakeBus.pciMaxOffset)) + return PCI_NOT_FOUND; + + if (!(pPCI = zx1FakeBus.bridge) || (tag != pPCI->tag)) { + if (!(pPCI = pFakePciBridge[PCI_DEV_FROM_TAG(tag) & 0x07]) || + (tag != pPCI->tag)) + return PCI_NOT_FOUND; + } + + return pPCI->cfgspc.dwords[offset >> 2]; } static void zx1FakeWriteLong(PCITAG tag, int offset, CARD32 val) { - FatalError("zx1FakeWriteLong(0x%lX, 0x%X, 0x%08X) called\n", - (unsigned long)tag, offset, val); + ErrorF("zx1FakeWriteLong(0x%lX, 0x%X, 0x%08X) called\n", + (unsigned long)tag, offset, val); } static void @@ -468,26 +504,6 @@ zx1FakeWriteLong(tag, offset, val); } -static pciBusFuncs_t zx1FakeBusFuncs = { - zx1FakeReadLong, - zx1FakeWriteLong, - zx1FakeSetBits -}; - -static pciBusInfo_t zx1FakeBus = { - 0, /* configMech -- copied from bus 0 */ - 0, /* numDevices -- copied from bus 0 */ - FALSE, /* secondary */ - 0, /* primary_bus -- dynamically set */ -#ifdef PowerMAX_OS - 0, /* ppc_io_base -- ignored */ - 0, /* ppc_io_size -- ignored */ -#endif - &zx1FakeBusFuncs, /* funcs */ - NULL, /* pciBusPriv -- none */ - NULL, /* bridge -- dynamically set */ -}; - /* * This checks for, and validates, the presence of the ZX1 chipset, and sets * pZX1mio to a non-NULL pointer accordingly. This function is called before @@ -974,6 +990,12 @@ (void)memset(zx1_busnmpt, FALSE, sizeof(zx1_busnmpt)); pBusInfo = pciBusInfo[0]; + /* Bus 0 might be deleted below; Save some of its data */ + zx1BusFuncs = *(pBusInfo->funcs); + zx1FakeBus.configMech = pBusInfo->configMech; + zx1FakeBus.numDevices = pBusInfo->numDevices; + zx1FakeBus.pciMaxOffset = pBusInfo->pciMaxOffset; + /* * Certain Linux kernels add fake PCI devices. Remove them to prevent any * possible interference with our PCI validation. @@ -1061,13 +1083,10 @@ } /* Set up our extra bus functions */ - zx1BusFuncs = *(pBusInfo->funcs); zx1BusFuncs.pciControlBridge = ControlZX1Bridge; zx1BusFuncs.pciGetBridgeResources = GetZX1BridgeResources; /* Set up our own fake bus to act as the root segment */ - zx1FakeBus.configMech = pBusInfo->configMech; - zx1FakeBus.numDevices = pBusInfo->numDevices; zx1FakeBus.primary_bus = zx1_fakebus; pciBusInfo[zx1_fakebus] = &zx1FakeBus; @@ -1079,6 +1098,7 @@ pPCI->busnum = zx1_fakebus; /* pPCI->devnum = pPCI->funcnum = 0; */ pPCI->pci_device_vendor = sbaid; + pPCI->pci_status_command = PCI_CMD_IO_ENABLE | PCI_CMD_MEM_ENABLE; pPCI->pci_base_class = PCI_CLASS_BRIDGE; /* pPCI->pci_sub_class = PCI_SUBCLASS_BRIDGE_HOST; */ pPCI->fakeDevice = TRUE; @@ -1102,6 +1122,7 @@ /* Add a fake PCI-to-PCI bridge to represent each active rope */ for (i = 0; i < 8; i++) { + pFakePciBridge[i] = NULL; if ((zx1_ropemap[i] != i) || (zx1_busno[i] > zx1_subno[i]) || !(pBusInfo = pciBusInfo[zx1_busno[i]])) continue; @@ -1114,13 +1135,16 @@ /* pPCI->funcnum = 0; */ pPCI->tag = PCI_MAKE_TAG(zx1_fakebus, pPCI->devnum, 0); pPCI->pci_device_vendor = zx1_pciids[i]; + pPCI->pci_status_command = PCI_CMD_IO_ENABLE | PCI_CMD_MEM_ENABLE; pPCI->pci_base_class = PCI_CLASS_BRIDGE; pPCI->pci_sub_class = PCI_SUBCLASS_BRIDGE_PCI; pPCI->pci_header_type = 1; pPCI->pci_primary_bus_number = zx1_fakebus; pPCI->pci_secondary_bus_number = zx1_busno[i]; pPCI->pci_subordinate_bus_number = zx1_subno[i]; + pPCI->fakeDevice = TRUE; + pFakePciBridge[i] = pPCI; pBusInfo->bridge = pPCI; pBusInfo->secondary = TRUE; Index: xc/programs/Xserver/hw/xfree86/os-support/linux/Imakefile diff -u xc/programs/Xserver/hw/xfree86/os-support/linux/Imakefile:3.55 xc/programs/Xserver/hw/xfree86/os-support/linux/Imakefile:3.56 --- xc/programs/Xserver/hw/xfree86/os-support/linux/Imakefile:3.55 Fri Oct 14 08:17:03 2005 +++ xc/programs/Xserver/hw/xfree86/os-support/linux/Imakefile Sat Sep 15 20:32:24 2007 @@ -1,4 +1,4 @@ -XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/Imakefile,v 3.55 2005/10/14 15:17:03 tsi Exp $ +XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/Imakefile,v 3.56 2007/09/16 03:32:24 tsi Exp $ /* * Copyright (c) 1994-2004 by The XFree86 Project, Inc. * All rights reserved. @@ -160,7 +160,6 @@ #endif DependTarget() -InstallDriverSDKNonExecFile(agpgart.h,$(DRIVERSDKINCLUDEDIR)/linux) #if 0 InstallDriverSDKDynamicModule(lnx_jstk.o,$(DRIVERSDKMODULEDIR)) #endif Index: xc/programs/Xserver/hw/xfree86/os-support/linux/lnxResource.c diff -u xc/programs/Xserver/hw/xfree86/os-support/linux/lnxResource.c:3.21 xc/programs/Xserver/hw/xfree86/os-support/linux/lnxResource.c:3.22 --- xc/programs/Xserver/hw/xfree86/os-support/linux/lnxResource.c:3.21 Mon Jun 19 08:14:57 2006 +++ xc/programs/Xserver/hw/xfree86/os-support/linux/lnxResource.c Tue Jul 1 11:16:44 2008 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/lnxResource.c,v 3.21 2006/06/19 15:14:57 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/lnxResource.c,v 3.22 2008/07/01 18:16:44 tsi Exp $ */ /* Resource information code */ @@ -204,9 +204,9 @@ RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock); ret = xf86AddResToList(ret, &range, -1); -#if defined(__sparc__) || defined(__powerpc__) +#if defined(__sparc__) RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock); -#elif defined(__mips__) +#elif defined(__mips__) || defined(__powerpc__) RANGE(range, 0x00000000, 0xffffffff, ResExcIoBlock); #else RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock); @@ -224,9 +224,9 @@ RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock); ret = xf86AddResToList(ret, &range, -1); -#if defined(__sparc__) || defined(__powerpc__) +#if defined(__sparc__) RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock); -#elif defined(__mips__) +#elif defined(__mips__) || defined(__powerpc__) RANGE(range, 0x00000000, 0xffffffff, ResExcIoBlock); #else RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock); @@ -246,9 +246,9 @@ RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock); ret = xf86AddResToList(ret, &range, -1); -#if defined(__sparc__) || defined(__powerpc__) +#if defined(__sparc__) RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock); -#elif defined(__mips__) +#elif defined(__mips__) || defined(__powerpc__) RANGE(range, 0x00000000, 0xffffffff, ResExcIoBlock); #else RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock); @@ -274,9 +274,9 @@ ret = xf86AddResToList(ret, &range, -1); RANGE(range, 0x00000000, 0x00000000, ResExcIoBlock); ret = xf86AddResToList(ret, &range, -1); -#if defined(__sparc__) || defined(__powerpc__) +#if defined(__sparc__) RANGE(range, 0x00ffffff, 0x00ffffff, ResExcIoBlock); -#elif defined(__mips__) +#elif defined(__mips__) || defined(__powerpc__) RANGE(range, 0xffffffff, 0xffffffff, ResExcIoBlock); #else RANGE(range, 0x0000ffff, 0x0000ffff, ResExcIoBlock); Index: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/Imakefile diff -u xc/programs/Xserver/hw/xfree86/os-support/linux/int10/Imakefile:1.21 xc/programs/Xserver/hw/xfree86/os-support/linux/int10/Imakefile:1.22 --- xc/programs/Xserver/hw/xfree86/os-support/linux/int10/Imakefile:1.21 Sun Oct 16 11:31:10 2005 +++ xc/programs/Xserver/hw/xfree86/os-support/linux/int10/Imakefile Tue Apr 1 10:18:22 2008 @@ -1,4 +1,4 @@ -XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/Imakefile,v 1.21 2005/10/16 18:31:10 tsi Exp $ +XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/Imakefile,v 1.22 2008/04/01 17:18:22 tsi Exp $ /* * Copyright (c) 1994-2004 by The XFree86 Project, Inc. * All rights reserved. @@ -70,6 +70,9 @@ LNXDEF = -DDoSubModules #endif +#if defined(i386Architecture) || defined(AMD64Architecture) +PC_DEFINES=-D_PC +#endif #ifdef IHaveSubdirs MakeSubdirs($(SUBDIRS)) @@ -79,24 +82,14 @@ SRCS = pci.c xf86int10module.c helper_mem.c linux.c OBJS = pci.o xf86int10module.o helper_mem.o linux.o - LinkSourceFile(helper_mem.c,$(XF86SRC)/int10) LinkSourceFile(pci.c,$(XF86SRC)/int10) LinkSourceFile(xf86int10module.c,$(XF86SRC)/int10) - INCLUDES = -I$(XF86COMSRC) -I$(XF86SRC)/int10 -I$(XF86OSSRC) \ -I$(SERVERSRC)/include -DEFINES = $(EXTRADEFINES) - -#if defined(i386Architecture) || defined (AMD64Architecture) -EXTRADEFINES=-D_PC -#endif - - -SpecialObjectRule(linux.o, linux.c,$(LNXDEF)) - +DEFINES = $(LNXDEF) $(PC_DEFINES) #if defined(XF86INT10_BUILD) && XF86INT10_BUILD > X86EMU_GENERIC @@ -104,7 +97,7 @@ #if HasParallelMake && defined (DoSingleLib) MakeMutex($(SUBDIRS) $(EXPOBJS) $(DONES)) -#endif +#endif LibraryModuleTarget(int10, $(OBJS) $(EXPOBJS),linux) @@ -120,4 +113,3 @@ #endif DependTarget() - Index: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c diff -u xc/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c:1.35 xc/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c:1.36 --- xc/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c:1.35 Mon Feb 20 08:06:35 2006 +++ xc/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c Wed Oct 15 13:56:03 2008 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c,v 1.35 2006/02/20 16:06:35 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c,v 1.36 2008/10/15 20:56:03 tsi Exp $ */ /* * linux specific part of the int10 module * Copyright 1999 Egbert Eich @@ -609,10 +609,10 @@ { int __res; -#ifdef __PIC__ +#if defined(__PIC__) && !defined(__amd64__) && !defined(__x86_64__) /* - * When compiling with -fPIC, we can't use asm constraint "b" because - * %ebx is already taken by gcc. + * When compiling with -fPIC on i386, we can't use asm constraint "b" + * because %ebx is already taken by gcc to hold the GOT address. */ __asm__ __volatile__ ( Index: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/vm86/Imakefile diff -u xc/programs/Xserver/hw/xfree86/os-support/linux/int10/vm86/Imakefile:1.8 xc/programs/Xserver/hw/xfree86/os-support/linux/int10/vm86/Imakefile:1.9 --- xc/programs/Xserver/hw/xfree86/os-support/linux/int10/vm86/Imakefile:1.8 Sun Oct 16 11:31:10 2005 +++ xc/programs/Xserver/hw/xfree86/os-support/linux/int10/vm86/Imakefile Tue Apr 1 10:18:22 2008 @@ -1,4 +1,4 @@ -XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/vm86/Imakefile,v 1.8 2005/10/16 18:31:10 tsi Exp $ +XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/vm86/Imakefile,v 1.9 2008/04/01 17:18:22 tsi Exp $ /* * Copyright (c) 1994-2004 by The XFree86 Project, Inc. * All rights reserved. @@ -50,12 +50,16 @@ #include -SRCS1 = linux_vm86.c helper_exec.c xf86int10.c -OBJS1 = linux_vm86.o helper_exec.o xf86int10.o +SRCS1 = linux_vm86.c helper_exec.c xf86int10.c +OBJS1 = linux_vm86.o helper_exec.o xf86int10.o -#if defined(DoLoadableServer) && defined(Int10SubLibs) +#if defined(DoLoadableServer) && defined(Int10SubLibs) SUBMODSRCS = xf86vm86module.c -SUBMODOBJS = xf86vm86module.o +SUBMODOBJS = xf86vm86module.o +#endif + +#if defined(i386Architecture) || defined(AMD64Architecture) +PC_DEFINES=-D_PC #endif OBJS = $(SUBMODOBJS) $(OBJS1) @@ -69,11 +73,7 @@ INCLUDES = -I$(XF86COMSRC) -I$(XF86SRC)/int10 -I$(XF86OSSRC) \ -I$(SERVERSRC)/include -DEFINES = $(EXTRADEFINES) - -#if defined(i386Architecture) || defined (AMD64Architecture) -EXTRADEFINES=-D_PC -#endif +DEFINES = $(PC_DEFINES) SpecialObjectRule(xf86vm86module.o, xf86vm86module.c, -DMOD_NAME=vm86) SpecialObjectRule(helper_exec.o, helper_exec.c, -D_VM86_LINUX) @@ -82,7 +82,7 @@ ModuleObjectRule() -#if defined(DoLoadableServer) && defined(Int10SubLibs) +#if defined(DoLoadableServer) && defined(Int10SubLibs) LibraryModuleTarget(vm86, $(OBJS),linux) InstallLibraryModule(vm86,$(MODULEDIR),linux) Index: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/vm86/linux_vm86.c diff -u xc/programs/Xserver/hw/xfree86/os-support/linux/int10/vm86/linux_vm86.c:1.5 xc/programs/Xserver/hw/xfree86/os-support/linux/int10/vm86/linux_vm86.c:1.6 --- xc/programs/Xserver/hw/xfree86/os-support/linux/int10/vm86/linux_vm86.c:1.5 Thu Jun 2 19:01:37 2005 +++ xc/programs/Xserver/hw/xfree86/os-support/linux/int10/vm86/linux_vm86.c Wed Oct 15 13:56:04 2008 @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/vm86/linux_vm86.c,v 1.5 2005/06/03 02:01:37 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/vm86/linux_vm86.c,v 1.6 2008/10/15 20:56:04 tsi Exp $ */ #include "xf86.h" #include "xf86_OSproc.h" @@ -268,10 +268,10 @@ { int __res; -#ifdef __PIC__ +#if defined(__PIC__) && !defined(__amd64__) && !defined(__x86_64__) /* - * When compiling with -fPIC, we can't use asm constraint "b" because - * %ebx is already taken by gcc. + * When compiling with -fPIC on i386, we can't use asm constraint "b" + * because %ebx is already taken by gcc to hold the GOT address. */ __asm__ __volatile__ ( Index: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/x86emu/Imakefile diff -u xc/programs/Xserver/hw/xfree86/os-support/linux/int10/x86emu/Imakefile:1.7 xc/programs/Xserver/hw/xfree86/os-support/linux/int10/x86emu/Imakefile:1.8 --- xc/programs/Xserver/hw/xfree86/os-support/linux/int10/x86emu/Imakefile:1.7 Fri Oct 14 08:17:04 2005 +++ xc/programs/Xserver/hw/xfree86/os-support/linux/int10/x86emu/Imakefile Tue Apr 1 10:18:23 2008 @@ -1,4 +1,4 @@ -XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/x86emu/Imakefile,v 1.7 2005/10/14 15:17:04 tsi Exp $ +XCOMM $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/int10/x86emu/Imakefile,v 1.8 2008/04/01 17:18:23 tsi Exp $ /* * Copyright (c) 1994-2004 by The XFree86 Project, Inc. * All rights reserved. @@ -50,12 +50,12 @@ #include -SRCS1 = xf86x86emu.c helper_exec.c xf86int10.c -OBJS1 = xf86x86emu.o helper_exec.o xf86int10.o +SRCS1 = xf86x86emu.c helper_exec.c xf86int10.c +OBJS1 = xf86x86emu.o helper_exec.o xf86int10.o -#if defined(DoLoadableServer) && defined(Int10SubLibs) +#if defined(DoLoadableServer) && defined(Int10SubLibs) SUBMODSRCS = xf86x86emumodule.c -SUBMODOBJS = xf86x86emumodule.o +SUBMODOBJS = xf86x86emumodule.o #endif SRCS2 = $(SUBMODSRCS) $(SRCS1) @@ -66,27 +66,16 @@ LinkSourceFile(xf86x86emu.c,$(XF86SRC)/int10) LinkFile(xf86x86emumodule.c,$(XF86SRC)/int10/xf86int10module.c) - -INCLUDES = -I$(XF86COMSRC) -I$(XF86SRC)/int10 -I$(XF86OSSRC) \ - -I$(SERVERSRC)/include -I$(X86EMUINCLUDES) - -DEFINES = $(X86EMUDEFINES) $(EXTRADEFINES) - -#if defined(i386Architecture) || defined (AMD64Architecture) +#if defined(i386Architecture) ||defined (AMD64Architecture) EXTRADEFINES=-D_PC #endif -SpecialObjectRule(xf86x86emumodule.o, xf86x86emumodule.c, -DMOD_NAME=x86emu) -SpecialObjectRule(helper_exec.o, helper_exec.c, -D_X86EMU) -SpecialObjectRule(xf86int10.o, xf86int10.c, -D_X86EMU -DSHOW_ALL_DEVICES) -SpecialObjectRule(linux.o, linux.c, -D_X86EMU) - X86TOPDIR = $(TOP)/extras/x86emu X86SRCDIR = $(X86TOPDIR)/src/x86emu X86EMUINCLUDES = $(X86TOPDIR)/include -I$(X86SRCDIR) X86EMUDEFINES = -D__DRIVER__ -DFORCE_POST -D_CEXPORT= -DNO_LONG_LONG -#if !defined(X86EMU_LIBPATH) +#if !defined(X86EMU_LIBPATH) X86EMUSRCS = debug.c decode.c fpu.c ops.c ops2.c prim_ops.c sys.c X86EMUOBJS = debug.o decode.o fpu.o ops.o ops2.o prim_ops.o sys.o @@ -100,14 +89,24 @@ #else BuildObjectFromLibraryWithPath(X86EMU_LIBPATH,x86emu,x86emu) X86EMUOBJS = x86emu.o -#endif +#endif SRCS = $(SRCS2) $(X86EMUSRCS) OBJS = $(OBJS2) $(X86EMUOBJS) +INCLUDES = -I$(XF86COMSRC) -I$(XF86SRC)/int10 -I$(XF86OSSRC) \ + -I$(SERVERSRC)/include -I$(X86EMUINCLUDES) + +DEFINES = $(X86EMUDEFINES) $(EXTRADEFINES) + +SpecialObjectRule(xf86x86emumodule.o, xf86x86emumodule.c, -DMOD_NAME=x86emu) +SpecialObjectRule(helper_exec.o, helper_exec.c, -D_X86EMU) +SpecialObjectRule(xf86int10.o, xf86int10.c, -D_X86EMU -DSHOW_ALL_DEVICES) +SpecialObjectRule(linux.o, linux.c, -D_X86EMU) + ModuleObjectRule() -#if defined(DoLoadableServer) && defined(Int10SubLibs) +#if defined(DoLoadableServer) && defined(Int10SubLibs) LibraryModuleTarget(x86emu, $(OBJS),linux) InstallLibraryModule(x86emu,$(MODULEDIR),linux) @@ -123,4 +122,3 @@ #endif DependTarget() - Index: xc/programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/drm.h diff -u xc/programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/drm.h:1.5 xc/programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/drm.h:1.6 --- xc/programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/drm.h:1.5 Fri Feb 16 07:57:28 2007 +++ xc/programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/drm.h Tue Mar 18 12:41:55 2008 @@ -1,3 +1,4 @@ +/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/shared/drm/kernel/drm.h,v 1.6 2008/03/18 19:41:55 tsi Exp $ */ /** * \file drm.h * Header for the Direct Rendering Manager @@ -42,7 +43,6 @@ #endif #if defined(__linux__) -#include #include /* For _IO* macros */ #define DRM_IOCTL_NR(n) _IOC_NR(n) #define DRM_IOC_VOID _IOC_NONE Index: xc/programs/Xserver/hw/xfree86/os-support/sunos/sun_init.c diff -u xc/programs/Xserver/hw/xfree86/os-support/sunos/sun_init.c:1.10 xc/programs/Xserver/hw/xfree86/os-support/sunos/sun_init.c:1.16 --- xc/programs/Xserver/hw/xfree86/os-support/sunos/sun_init.c:1.10 Sat Sep 2 09:44:22 2006 +++ xc/programs/Xserver/hw/xfree86/os-support/sunos/sun_init.c Mon May 19 09:11:44 2008 @@ -1,8 +1,9 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/sunos/sun_init.c,v 1.10 2006/09/02 16:44:22 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/sunos/sun_init.c,v 1.16 2008/05/19 16:11:44 tsi Exp $ */ /* * Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany * Copyright 1993 by David Wexelblat * Copyright 1999 by David Holland + * Copyright 2008 by Marc Aurele La France (TSI @ UQV), * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -27,6 +28,9 @@ #include "xf86Priv.h" #include "xf86_OSlib.h" +#include +#include + static Bool KeepTty = FALSE; static Bool Protect0 = FALSE; #ifdef HAS_USL_VTS @@ -36,6 +40,137 @@ static char fb_dev[PATH_MAX] = "/dev/console"; +#ifdef NOREDIRECT +#undef SRIOCSREDIR +#endif + +#ifdef SRIOCSREDIR +static char *redirfn = NULL; +static FILE *redirfd = NULL; +static Bool redired = FALSE; +static int pipe_fds[2] = {-1, -1}; +static Bool redirectConsole = TRUE; + +static void +xf86CopyRedirectedConsole(void) +{ + long length; + char buffer[16]; /* Increase size for efficiency */ + + while ((length = read(pipe_fds[1], buffer, sizeof(buffer))) > 0) { + redired = TRUE; + fwrite(buffer, 1, length, redirfd); + } +} + +static void +xf86ReadRedirectedConsole(pointer pData, int error, pointer pMask) +{ + if ((error >= 0) && pMask && FD_ISSET(pipe_fds[1], (fd_set *)pMask)) + xf86CopyRedirectedConsole(); + + fflush(redirfd); + fsync(fileno(redirfd)); +} + +/* + * This attempts to redirect /dev/console output (from anything in the system) + * while the server is running into a file. This file is copied back into + * /dev/console on server exit. If this redirection fails, we at least + * redirect the server's own output into the log. + * + * This is being done to help avoid screen corruption while the server is + * running. + * + * Note that /dev/wscons output will still corrupt the screen, but there + * doesn't seem to be anything that can be done about that. + */ +static void +xf86RedirectConsole(void) +{ + int consolefd; + + /* fb_dev can be overridden */ + if ((consolefd = open("/dev/console", O_RDWR | O_NDELAY)) < 0) + return; + + xasprintf(&redirfn, "%s.console", xf86FilePaths->logFile); + if (!redirfn) { + xf86Msg(X_WARNING, "xf86RedirectConsole: could not allocate console" + " redirection file name (%s)\n", strerror(errno)); + goto done; + } + + if (!(redirfd = fopen(redirfn, "w"))) { + xf86Msg(X_WARNING, "xf86RedirectConsole: could not open \"%s\"" + " (%s)\n", redirfn, strerror(errno)); + goto openfail; + } + + if (pipe(pipe_fds) < 0) { + xf86Msg(X_WARNING, "xf86RedirectConsole: could not create pipe for" + " console redirection (%s)\n", strerror(errno)); + goto pipefail; + } + + if (fcntl(pipe_fds[1], F_SETFL, O_NDELAY) < 0) { + xf86Msg(X_WARNING, "xf86RedirectConsole: fcntl /dev/console O_NDELAY" + " failure (%s)\n", strerror(errno)); + goto cntlfail; + } + + if (ioctl(consolefd, SRIOCSREDIR, pipe_fds[0]) < 0) { + if (errno != EBUSY) { + xf86Msg(X_WARNING, "xf86RedirectConsole: ioctl /dev/console" + " SRIOCSREDIR failure (%s)\n", strerror(errno)); + goto cntlfail; + } + + /* + * At this point, something else in the system (likely a shell) has + * a read hung on /dev/console (or is flooding it). On the premise + * (but not certainty) that the server's stderr is also /dev/console, + * redirect that output into the log, closing that reference to + * /dev/console. At the very least, this means that server messages + * will not corrupt the screen (although /dev/console output by + * something other than the server will still do so). + * + * One downside of doing this is that, should the server fail for any + * reason, failure messages will only appear in the log. + */ + LogSetParameter(XLOG_STDERR, 1); + + /* + * Try again, just in case /dev/console redirection isn't as broken as + * I believe it to be. + */ + if (ioctl(consolefd, SRIOCSREDIR, pipe_fds[0]) < 0) { + xf86Msg(X_WARNING, "xf86RedirectConsole: ioctl /dev/console" + " SRIOCSREDIR failure (%s)\n", strerror(errno)); + goto cntlfail; + } + } + + AddEnabledDevice(pipe_fds[1]); + RegisterBlockAndWakeupHandlers((BlockHandlerProcPtr)NoopDDA, + xf86ReadRedirectedConsole, NULL); + goto done; + +cntlfail: + close(pipe_fds[0]); + close(pipe_fds[1]); + pipe_fds[0] = pipe_fds[1] = -1; +pipefail: + fclose(redirfd); + redirfd = NULL; +openfail: + xfree(redirfn); + redirfn = NULL; +done: + close(consolefd); +} +#endif /* SRIOCSREDIR */ + void xf86OpenConsole(void) { @@ -94,7 +229,8 @@ strerror(errno)); if (ioctl(fd, VT_GETSTATE, &vtinfo) < 0) - FatalError("xf86OpenConsole: Cannot determine current VT\n"); + FatalError("xf86OpenConsole: Cannot determine current VT" + " (%s)\n", strerror(errno)); xf86StartVT = vtinfo.v_active; @@ -117,7 +253,7 @@ FreeVTslot = 1; if (!FreeVTslot || - (ioctl(fd, VT_OPENQRY, &xf86Info.vtno) < 0) || + (ioctl(fd, VT_OPENQRY, &xf86Info.vtno) < 0) || (xf86Info.vtno == -1)) FatalError("xf86OpenConsole: Cannot find a free VT\n"); @@ -146,13 +282,16 @@ * Now get the VT */ if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno) != 0) - xf86Msg(X_WARNING, "xf86OpenConsole: VT_ACTIVATE failed\n"); + xf86Msg(X_WARNING, "xf86OpenConsole: VT_ACTIVATE failed (%s)\n", + strerror(errno)); if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, xf86Info.vtno) != 0) - xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed\n"); + xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed (%s)\n", + strerror(errno)); if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) < 0) - FatalError("xf86OpenConsole: VT_GETMODE failed\n"); + FatalError("xf86OpenConsole: VT_GETMODE failed (%s)\n", + strerror(errno)); signal(SIGUSR1, xf86VTRequest); @@ -161,16 +300,24 @@ VT.acqsig = SIGUSR1; if (ioctl(xf86Info.consoleFd, VT_SETMODE, &VT) < 0) - FatalError("xf86OpenConsole: VT_SETMODE VT_PROCESS failed\n"); + FatalError("xf86OpenConsole: VT_SETMODE VT_PROCESS failed (%s)\n", + strerror(errno)); +#ifdef KDSETMODE if (ioctl(xf86Info.consoleFd, KDSETMODE, KD_GRAPHICS) < 0) - FatalError("xf86OpenConsole: KDSETMODE KD_GRAPHICS failed\n"); + FatalError("xf86OpenConsole: KDSETMODE KD_GRAPHICS failed (%s)\n", + strerror(errno)); +#endif #else #ifdef KDSETMODE /* This may fail. */ ioctl(xf86Info.consoleFd, KDSETMODE, KD_GRAPHICS); #endif #endif +#ifdef SRIOCSREDIR + if (redirectConsole) + xf86RedirectConsole(); +#endif } #ifdef HAS_USL_VTS else /* serverGeneration != 1 */ @@ -179,10 +326,12 @@ * Now re-get the VT */ if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno) != 0) - xf86Msg(X_WARNING, "xf86OpenConsole: VT_ACTIVATE failed\n"); + xf86Msg(X_WARNING, "xf86OpenConsole: VT_ACTIVATE failed (%s)\n", + strerror(errno)); if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, xf86Info.vtno) != 0) - xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed\n"); + xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed (%s)\n", + strerror(errno)); /* * If the server doesn't have the VT when the reset occurs, @@ -211,33 +360,49 @@ if (!xf86DoProbe && !xf86DoConfigure) { /* - * Wipe out framebuffer just like the non-SI Xsun server does. This - * could be improved by saving framebuffer contents in - * xf86OpenConsole() above and restoring them here. Also, it's unclear - * at this point whether this should be done for all framebuffers in - * the system, rather than only the console. + * Wipe out framebuffers, given we have nothing to restore them with. */ - struct fbgattr fbattr; + for (tmp = 0; ; tmp++) { + struct fbgattr fbattr; + char *fbdev; + int fd; + + fbdev = NULL; + xasprintf(&fbdev, "/dev/fb%d", tmp); + if (!fbdev) { + xf86Msg(X_WARNING, + "Cannot allocate space for framebuffer name\n"); + break; + } - if ((ioctl(xf86Info.consoleFd, FBIOGATTR, &fbattr) < 0) && - (ioctl(xf86Info.consoleFd, FBIOGTYPE, &fbattr.fbtype) < 0)) { - xf86Msg(X_WARNING, - "xf86CloseConsole(): unable to retrieve framebuffer" - " attributes (%s)\n", strerror(errno)); - } else { - pointer fbdata; - - fbdata = mmap(NULL, fbattr.fbtype.fb_size, - PROT_READ | PROT_WRITE, MAP_SHARED, - xf86Info.consoleFd, 0); - if (fbdata == MAP_FAILED) { + fd = open(fbdev, O_RDWR | O_NDELAY, 0); + if (fd < 0) { + xfree(fbdev); + break; + } + + if ((ioctl(fd, FBIOGATTR, &fbattr) < 0) && + (ioctl(fd, FBIOGTYPE, &fbattr.fbtype) < 0)) { xf86Msg(X_WARNING, - "xf86CloseConsole(): unable to mmap framebuffer" - " (%s)\n", strerror(errno)); + "xf86CloseConsole: Unable to retrieve %s attributes" + " (%s)\n", fbdev, strerror(errno)); } else { - (void)memset(fbdata, 0, fbattr.fbtype.fb_size); - (void)munmap(fbdata, fbattr.fbtype.fb_size); + pointer fbdata; + + fbdata = mmap(NULL, fbattr.fbtype.fb_size, + PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); + if (fbdata == MAP_FAILED) { + xf86Msg(X_WARNING, + "xf86CloseConsole: Unable to mmap %s (%s)\n", + fbdev, strerror(errno)); + } else { + (void)memset(fbdata, 0, fbattr.fbtype.fb_size); + (void)munmap(fbdata, fbattr.fbtype.fb_size); + } } + + close(fd); + xfree(fbdev); } } @@ -275,6 +440,48 @@ #endif /* HAS_USL_VTS */ +#ifdef SRIOCSREDIR + if (pipe_fds[1] >= 0) { + /* Catch the last little bit, if any */ + xf86CopyRedirectedConsole(); + + close(pipe_fds[0]); + close(pipe_fds[1]); + pipe_fds[0] = -1; + + fclose(redirfd); + + if (redired) { + /* Copy data back to /dev/console */ + if ((pipe_fds[1] = open(redirfn, O_RDONLY)) < 0) { + xf86Msg(X_WARNING, "xf86CloseConsole: could not reopen \"%s\"" + " (%s)\n", redirfn, strerror(errno)); + } else { + if (!(redirfd = fopen("/dev/console", "w"))) { + xf86Msg(X_WARNING, "xf86CloseConsole: could not reopen" + " \"/dev/console\" (%s)\n", strerror(errno)); + } else { + putc('\n', redirfd); + xf86CopyRedirectedConsole(); + + fclose(redirfd); + } + + close(pipe_fds[1]); + } + + redired = FALSE; + } + + pipe_fds[1] = -1; + redirfd = NULL; + + unlink(redirfn); + xfree(redirfn); + redirfn = NULL; + } +#endif + close(xf86Info.consoleFd); #if defined(__SOL8__) || defined(__sparc__) @@ -318,6 +525,17 @@ return 1; } +#ifdef SRIOCSREDIR + /* + * Disable /dev/console redirection (for testing purposes). + */ + if (!strcmp(argv[i], "-noredirect")) + { + redirectConsole = FALSE; + return 1; + } +#endif + #ifdef HAS_USL_VTS if ((argv[i][0] == 'v') && (argv[i][1] == 't')) @@ -371,6 +589,10 @@ ErrorF("-ar2 Set autorepeat interval time (sec)\n"); ErrorF(" (if not using XKB)\n"); #endif +#ifdef SRIOCSREDIR + ErrorF("-noredirect Don't redirect /dev/console output\n"); + ErrorF(" while the X server is running\n"); +#endif ErrorF("-keeptty Don't detach controlling tty\n"); ErrorF(" (for debugging only)\n"); }