⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pci.c

📁 GNU Mach 微内核源代码, 基于美国卡内基美隆大学的 Mach 研究项目
💻 C
📖 第 1 页 / 共 4 页
字号:
	DEVICE( VIA,		VIA_82C416,	"VT 82C416MV"),	DEVICE( VIA,		VIA_82C595_97,	"VT 82C595 Apollo VP2/97"),	DEVICE( VIA,		VIA_82C586_2,	"VT 82C586 Apollo USB"),	DEVICE( VIA,		VIA_82C586_3,	"VT 82C586B Apollo ACPI"),	DEVICE( VIA,		VIA_86C100A,	"VT 86C100A"),	DEVICE( VIA,		VIA_82C597_1,	"VT 82C597 Apollo VP3 AGP"),	DEVICE( VORTEX,		VORTEX_GDT60x0,	"GDT 60x0"),	DEVICE( VORTEX,		VORTEX_GDT6000B,"GDT 6000b"),	DEVICE( VORTEX,		VORTEX_GDT6x10,	"GDT 6110/6510"),	DEVICE( VORTEX,		VORTEX_GDT6x20,	"GDT 6120/6520"),	DEVICE( VORTEX,		VORTEX_GDT6530,	"GDT 6530"),	DEVICE( VORTEX,		VORTEX_GDT6550,	"GDT 6550"),	DEVICE( VORTEX,		VORTEX_GDT6x17,	"GDT 6117/6517"),	DEVICE( VORTEX,		VORTEX_GDT6x27,	"GDT 6127/6527"),	DEVICE( VORTEX,		VORTEX_GDT6537,	"GDT 6537"),	DEVICE( VORTEX,		VORTEX_GDT6557,	"GDT 6557"),	DEVICE( VORTEX,		VORTEX_GDT6x15,	"GDT 6115/6515"),	DEVICE( VORTEX,		VORTEX_GDT6x25,	"GDT 6125/6525"),	DEVICE( VORTEX,		VORTEX_GDT6535,	"GDT 6535"),	DEVICE( VORTEX,		VORTEX_GDT6555,	"GDT 6555"),	DEVICE( VORTEX,		VORTEX_GDT6x17RP,"GDT 6117RP/6517RP"),	DEVICE( VORTEX,		VORTEX_GDT6x27RP,"GDT 6127RP/6527RP"),	DEVICE( VORTEX,		VORTEX_GDT6537RP,"GDT 6537RP"),	DEVICE( VORTEX,		VORTEX_GDT6557RP,"GDT 6557RP"),	DEVICE( VORTEX,		VORTEX_GDT6x11RP,"GDT 6111RP/6511RP"),	DEVICE( VORTEX,		VORTEX_GDT6x21RP,"GDT 6121RP/6521RP"),	DEVICE( VORTEX,		VORTEX_GDT6x17RP1,"GDT 6117RP1/6517RP1"),	DEVICE( VORTEX,		VORTEX_GDT6x27RP1,"GDT 6127RP1/6527RP1"),	DEVICE( VORTEX,		VORTEX_GDT6537RP1,"GDT 6537RP1"),	DEVICE( VORTEX,		VORTEX_GDT6557RP1,"GDT 6557RP1"),	DEVICE( VORTEX,		VORTEX_GDT6x11RP1,"GDT 6111RP1/6511RP1"),	DEVICE( VORTEX,		VORTEX_GDT6x21RP1,"GDT 6121RP1/6521RP1"),	DEVICE( VORTEX,		VORTEX_GDT6x17RP2,"GDT 6117RP2/6517RP2"),	DEVICE( VORTEX,		VORTEX_GDT6x27RP2,"GDT 6127RP2/6527RP2"),	DEVICE( VORTEX,		VORTEX_GDT6537RP2,"GDT 6537RP2"),	DEVICE( VORTEX,		VORTEX_GDT6557RP2,"GDT 6557RP2"),	DEVICE( VORTEX,		VORTEX_GDT6x11RP2,"GDT 6111RP2/6511RP2"),	DEVICE( VORTEX,		VORTEX_GDT6x21RP2,"GDT 6121RP2/6521RP2"),	DEVICE( EF,		EF_ATM_FPGA,		"155P-MF1 (FPGA)"),	DEVICE( EF,		EF_ATM_ASIC,	"155P-MF1 (ASIC)"),	DEVICE( FORE,		FORE_PCA200PC, "PCA-200PC"),	DEVICE( FORE,		FORE_PCA200E,	 "PCA-200E"),	DEVICE( IMAGINGTECH,	IMAGINGTECH_ICPCI, "MVC IC-PCI"),	DEVICE( PHILIPS,	PHILIPS_SAA7146,"SAA7146"),	DEVICE( CYCLONE,	CYCLONE_SDK,	"SDK"),	DEVICE( ALLIANCE,	ALLIANCE_PROMOTIO, "Promotion-6410"),	DEVICE( ALLIANCE,	ALLIANCE_PROVIDEO, "Provideo"),	DEVICE( ALLIANCE,	ALLIANCE_AT24,	"AT24"),	DEVICE( ALLIANCE,	ALLIANCE_AT3D,	"AT3D"),	DEVICE( VMIC,		VMIC_VME,	"VMIVME-7587"),	DEVICE( DIGI,		DIGI_EPC,	"AccelPort EPC"), 	DEVICE( DIGI,		DIGI_RIGHTSWITCH, "RightSwitch SE-6"),	DEVICE( DIGI,		DIGI_XEM,	"AccelPort Xem"),	DEVICE( DIGI,		DIGI_XR,	"AccelPort Xr"),	DEVICE( DIGI,		DIGI_CX,	"AccelPort C/X"),	DEVICE( DIGI,		DIGI_XRJ,	"AccelPort Xr/J"),	DEVICE( DIGI,		DIGI_EPCJ,	"AccelPort EPC/J"),	DEVICE( DIGI,		DIGI_XR_920,	"AccelPort Xr 920"),	DEVICE( MUTECH,		MUTECH_MV1000,	"MV-1000"),	DEVICE( RENDITION,	RENDITION_VERITE,"Verite 1000"),	DEVICE( RENDITION,	RENDITION_VERITE2100,"Verite 2100"),	DEVICE( TOSHIBA,	TOSHIBA_601,	"Laptop"),	DEVICE( TOSHIBA,	TOSHIBA_TOPIC95,"ToPIC95"),	DEVICE( TOSHIBA,	TOSHIBA_TOPIC97,"ToPIC97"),	DEVICE( RICOH,		RICOH_RL5C466,	"RL5C466"),	DEVICE( ARTOP,		ARTOP_ATP850UF,	"ATP850UF"),	DEVICE( ZEITNET,	ZEITNET_1221,	"1221"),	DEVICE( ZEITNET,	ZEITNET_1225,	"1225"),	DEVICE( OMEGA,		OMEGA_82C092G,	"82C092G"),	DEVICE( LITEON,		LITEON_LNE100TX,"LNE100TX"),	DEVICE( NP,		NP_PCI_FDDI,	"NP-PCI"),       	DEVICE( ATT,		ATT_L56XMF,	"L56xMF"),	DEVICE( SPECIALIX,	SPECIALIX_IO8,	"IO8+/PCI"),	DEVICE( SPECIALIX,	SPECIALIX_XIO,	"XIO/SIO host"),	DEVICE( SPECIALIX,	SPECIALIX_RIO,	"RIO host"),	DEVICE( AURAVISION,	AURAVISION_VXP524,"VXP524"),	DEVICE( IKON,		IKON_10115,	"10115 Greensheet"),	DEVICE( IKON,		IKON_10117,	"10117 Greensheet"),	DEVICE( ZORAN,		ZORAN_36057,	"ZR36057"),	DEVICE( ZORAN,		ZORAN_36120,	"ZR36120"),	DEVICE( KINETIC,	KINETIC_2915,	"2915 CAMAC"),	DEVICE( COMPEX,		COMPEX_ENET100VG4, "Readylink ENET100-VG4"),	DEVICE( COMPEX,		COMPEX_RL2000,	"ReadyLink 2000"),	DEVICE( RP,             RP8OCTA,        "RocketPort 8 Oct"),	DEVICE( RP,             RP8INTF,        "RocketPort 8 Intf"),	DEVICE( RP,             RP16INTF,       "RocketPort 16 Intf"),	DEVICE( RP,             RP32INTF,       "RocketPort 32 Intf"),	DEVICE( CYCLADES,	CYCLOM_Y_Lo,	"Cyclom-Y below 1Mbyte"),	DEVICE( CYCLADES,	CYCLOM_Y_Hi,	"Cyclom-Y above 1Mbyte"),	DEVICE( CYCLADES,	CYCLOM_Z_Lo,	"Cyclom-Z below 1Mbyte"),	DEVICE( CYCLADES,	CYCLOM_Z_Hi,	"Cyclom-Z above 1Mbyte"),	DEVICE( ESSENTIAL,	ESSENTIAL_ROADRUNNER,"Roadrunner serial HIPPI"),	DEVICE( O2,		O2_6832,	"6832"),	DEVICE( 3DFX,		3DFX_VOODOO,	"Voodoo"),	DEVICE( 3DFX,		3DFX_VOODOO2,	"Voodoo2"),	DEVICE( SIGMADES,	SIGMADES_6425,	"REALmagic64/GX"),	DEVICE( STALLION,	STALLION_ECHPCI832,"EasyConnection 8/32"),	DEVICE( STALLION,	STALLION_ECHPCI864,"EasyConnection 8/64"),	DEVICE( STALLION,	STALLION_EIOPCI,"EasyIO"),	DEVICE( OPTIBASE,	OPTIBASE_FORGE,	"MPEG Forge"),	DEVICE( OPTIBASE,	OPTIBASE_FUSION,"MPEG Fusion"),	DEVICE( OPTIBASE,	OPTIBASE_VPLEX,	"VideoPlex"),	DEVICE( OPTIBASE,	OPTIBASE_VPLEXCC,"VideoPlex CC"),	DEVICE( OPTIBASE,	OPTIBASE_VQUEST,"VideoQuest"),	DEVICE( ASIX,		ASIX_88140, "88140"),	DEVICE( SATSAGEM,	SATSAGEM_PCR2101,"PCR2101 DVB receiver"),	DEVICE( SATSAGEM,	SATSAGEM_TELSATTURBO,"Telsat Turbo DVB"),	DEVICE( ENSONIQ,	ENSONIQ_AUDIOPCI,"AudioPCI"),	DEVICE( PICTUREL,	PICTUREL_PCIVST,"PCIVST"),	DEVICE( NVIDIA_SGS,	NVIDIA_SGS_RIVA128,	"Riva 128"),	DEVICE( CBOARDS,	CBOARDS_DAS1602_16,"DAS1602/16"),	DEVICE( SYMPHONY,	SYMPHONY_101,	"82C101"),	DEVICE( TEKRAM,		TEKRAM_DC290,	"DC-290"),	DEVICE( 3DLABS,		3DLABS_300SX,	"GLINT 300SX"),	DEVICE( 3DLABS,		3DLABS_500TX,	"GLINT 500TX"),	DEVICE( 3DLABS,		3DLABS_DELTA,	"GLINT Delta"),	DEVICE( 3DLABS,		3DLABS_PERMEDIA,"PERMEDIA"),	DEVICE( 3DLABS,		3DLABS_MX,	"GLINT MX"),	DEVICE( AVANCE,		AVANCE_ALG2064,	"ALG2064i"),	DEVICE( AVANCE,		AVANCE_2302,	"ALG-2302"),	DEVICE( NETVIN,		NETVIN_NV5000SC,"NV5000"),	DEVICE( S3,		S3_PLATO_PXS,	"PLATO/PX (system)"),	DEVICE( S3,		S3_ViRGE,	"ViRGE"),	DEVICE( S3,		S3_TRIO,	"Trio32/Trio64"),	DEVICE( S3,		S3_AURORA64VP,	"Aurora64V+"),	DEVICE( S3,		S3_TRIO64UVP,	"Trio64UV+"),	DEVICE( S3,		S3_ViRGE_VX,	"ViRGE/VX"),	DEVICE( S3,		S3_868,	"Vision 868"),	DEVICE( S3,		S3_928,		"Vision 928-P"),	DEVICE( S3,		S3_864_1,	"Vision 864-P"),	DEVICE( S3,		S3_864_2,	"Vision 864-P"),	DEVICE( S3,		S3_964_1,	"Vision 964-P"),	DEVICE( S3,		S3_964_2,	"Vision 964-P"),	DEVICE( S3,		S3_968,		"Vision 968"),	DEVICE( S3,		S3_TRIO64V2,	"Trio64V2/DX or /GX"),	DEVICE( S3,		S3_PLATO_PXG,	"PLATO/PX (graphics)"),	DEVICE( S3,		S3_ViRGE_DXGX,	"ViRGE/DX or /GX"),	DEVICE( S3,		S3_ViRGE_GX2,	"ViRGE/GX2"),	DEVICE( S3,		S3_ViRGE_MX,	"ViRGE/MX"),	DEVICE( S3,		S3_ViRGE_MXP,	"ViRGE/MX+"),	DEVICE( S3,		S3_ViRGE_MXPMV,	"ViRGE/MX+MV"),	DEVICE( S3,		S3_SONICVIBES,	"SonicVibes"),	DEVICE( INTEL,		INTEL_82375,	"82375EB"),	BRIDGE( INTEL,		INTEL_82424,	"82424ZX Saturn",	0x00),	DEVICE( INTEL,		INTEL_82378,	"82378IB"),	DEVICE( INTEL,		INTEL_82430,	"82430ZX Aries"),	BRIDGE( INTEL,		INTEL_82434,	"82434LX Mercury/Neptune", 0x00),	DEVICE( INTEL,		INTEL_82092AA_0,"82092AA PCMCIA bridge"),	DEVICE( INTEL,		INTEL_82092AA_1,"82092AA EIDE"),	DEVICE( INTEL,		INTEL_7116,	"SAA7116"),	DEVICE( INTEL,		INTEL_82596,	"82596"),	DEVICE( INTEL,		INTEL_82865,	"82865"),	DEVICE( INTEL,		INTEL_82557,	"82557"),	DEVICE( INTEL,		INTEL_82437,	"82437"),	DEVICE( INTEL,		INTEL_82371_0,	"82371 Triton PIIX"),	DEVICE( INTEL,		INTEL_82371_1,	"82371 Triton PIIX"),	DEVICE( INTEL,		INTEL_82371MX,	"430MX - 82371MX MPIIX"),	DEVICE( INTEL,		INTEL_82437MX,	"430MX - 82437MX MTSC"),	DEVICE( INTEL,		INTEL_82441,	"82441FX Natoma"),	DEVICE( INTEL,		INTEL_82380FB,	"82380FB Mobile"),	DEVICE( INTEL,		INTEL_82439,	"82439HX Triton II"),	DEVICE(	INTEL,		INTEL_82371SB_0,"82371SB PIIX3 ISA"),	DEVICE(	INTEL,		INTEL_82371SB_1,"82371SB PIIX3 IDE"),	DEVICE( INTEL,		INTEL_82371SB_2,"82371SB PIIX3 USB"),	DEVICE( INTEL,		INTEL_82437VX,	"82437VX Triton II"),	DEVICE( INTEL,		INTEL_82439TX,	"82439TX"),	DEVICE( INTEL,		INTEL_82371AB_0,"82371AB PIIX4 ISA"),	DEVICE( INTEL,		INTEL_82371AB,	"82371AB PIIX4 IDE"),	DEVICE( INTEL,		INTEL_82371AB_2,"82371AB PIIX4 USB"),	DEVICE( INTEL,		INTEL_82371AB_3,"82371AB PIIX4 ACPI"),	DEVICE( INTEL,		INTEL_82443LX_0,"440LX - 82443LX PAC Host"),	DEVICE( INTEL,		INTEL_82443LX_1,"440LX - 82443LX PAC AGP"),	DEVICE( INTEL,		INTEL_82443BX_0,"440BX - 82443BX Host"),	DEVICE( INTEL,		INTEL_82443BX_1,"440BX - 82443BX AGP"),	DEVICE( INTEL,		INTEL_82443BX_2,"440BX - 82443BX Host (no AGP)"),	DEVICE( INTEL,		INTEL_82443GX_0,"440GX - 82443GX Host"),	DEVICE( INTEL,		INTEL_82443GX_1,"440GX - 82443GX AGP"),	DEVICE( INTEL,		INTEL_82443GX_2,"440GX - 82443GX Host (no AGP)"),	DEVICE( INTEL,		INTEL_P6,	"Orion P6"), 	DEVICE( INTEL,		INTEL_82450GX,	"82450GX Orion P6"),	DEVICE(	KTI,		KTI_ET32P2,	"ET32P2"),	DEVICE( ADAPTEC,	ADAPTEC_7810,	"AIC-7810 RAID"),	DEVICE( ADAPTEC,	ADAPTEC_7850,	"AIC-7850"),	DEVICE( ADAPTEC,	ADAPTEC_7855,	"AIC-7855"),	DEVICE( ADAPTEC,	ADAPTEC_5800,	"AIC-5800"),	DEVICE( ADAPTEC,	ADAPTEC_7860,	"AIC-7860"),	DEVICE( ADAPTEC,	ADAPTEC_7861,	"AIC-7861"),	DEVICE( ADAPTEC,	ADAPTEC_7870,	"AIC-7870"),	DEVICE( ADAPTEC,	ADAPTEC_7871,	"AIC-7871"),	DEVICE( ADAPTEC,	ADAPTEC_7872,	"AIC-7872"),	DEVICE( ADAPTEC,	ADAPTEC_7873,	"AIC-7873"),	DEVICE( ADAPTEC,	ADAPTEC_7874,	"AIC-7874"),	DEVICE( ADAPTEC,	ADAPTEC_7895,	"AIC-7895U"),	DEVICE( ADAPTEC,	ADAPTEC_7880,	"AIC-7880U"),	DEVICE( ADAPTEC,	ADAPTEC_7881,	"AIC-7881U"),	DEVICE( ADAPTEC,	ADAPTEC_7882,	"AIC-7882U"),	DEVICE( ADAPTEC,	ADAPTEC_7883,	"AIC-7883U"),	DEVICE( ADAPTEC,	ADAPTEC_7884,	"AIC-7884U"),	DEVICE( ADAPTEC,	ADAPTEC_1030,	"ABA-1030 DVB receiver"),  DEVICE( ADAPTEC2, ADAPTEC2_2940U2, "AHA-2940U2"),  DEVICE( ADAPTEC2, ADAPTEC2_7890, "AIC-7890/1"),  DEVICE( ADAPTEC2, ADAPTEC2_3940U2, "AHA-3940U2"),  DEVICE( ADAPTEC2, ADAPTEC2_7896, "AIC-7896/7"),  	DEVICE( ATRONICS,	ATRONICS_2015,	"IDE-2015PL"),	DEVICE( TIGERJET,	TIGERJET_300,	"Tiger300 ISDN"),	DEVICE( ARK,		ARK_STING,	"Stingray"),	DEVICE( ARK,		ARK_STINGARK,	"Stingray ARK 2000PV"),	DEVICE( ARK,		ARK_2000MT,	"2000MT")};#ifdef CONFIG_PCI_OPTIMIZE/* * An item of this structure has the following meaning: * for each optimization, the register address, the mask * and value to write to turn it on. * There are 5 optimizations for the moment: * Cache L2 write back best than write through * Posted Write for CPU to PCI enable * Posted Write for CPU to MEMORY enable * Posted Write for PCI to MEMORY enable * PCI Burst enable * * Half of the bios I've meet don't allow you to turn that on, and you * can gain more than 15% on graphic accesses using those * optimizations... */struct optimization_type {	const char	*type;	const char	*off;	const char	*on;} bridge_optimization[] = {	{"Cache L2",			"write through",	"write back"},	{"CPU-PCI posted write",	"off",		"on"},	{"CPU-Memory posted write",	"off",		"on"},	{"PCI-Memory posted write",	"off",		"on"},	{"PCI burst",			"off",		"on"}};#define NUM_OPTIMIZATIONS \	(sizeof(bridge_optimization) / sizeof(bridge_optimization[0]))struct bridge_mapping_type {	unsigned char	addr;	/* config space address */	unsigned char	mask;	unsigned char	value;} bridge_mapping[] = {	/*	 * Intel Neptune/Mercury/Saturn:	 *	If the internal cache is write back,	 *	the L2 cache must be write through!	 *	I've to check out how to control that	 *	for the moment, we won't touch the cache	 */	{0x0	,0x02	,0x02	},	{0x53	,0x02	,0x02	},	{0x53	,0x01	,0x01	},	{0x54	,0x01	,0x01	},	{0x54	,0x02	,0x02	},	/*	 * UMC 8891A Pentium chipset:	 *	Why did you think UMC was cheaper ??	 */	{0x50	,0x10	,0x00	},	{0x51	,0x40	,0x40	},	{0x0	,0x0	,0x0	},	{0x0	,0x0	,0x0	},	{0x0	,0x0	,0x0	},	/*	 * UMC UM8881F	 *	This is a dummy entry for my tests.	 *	I have this chipset and no docs....	 */	{0x0	,0x1	,0x1	},	{0x0	,0x2	,0x0	},	{0x0	,0x0	,0x0	},	{0x0	,0x0	,0x0	},	{0x0	,0x0	,0x0	}};#endif /* CONFIG_PCI_OPTIMIZE *//* * device_info[] is sorted so we can use binary search */struct pci_dev_info *pci_lookup_dev(unsigned int vendor, unsigned int dev){	int min = 0,	    max = sizeof(dev_info)/sizeof(dev_info[0]) - 1;	for ( ; ; )	{	    int i = (min + max) >> 1;	    long order;	    order = dev_info[i].vendor - (long) vendor;	    if (!order)		order = dev_info[i].device - (long) dev;		    if (order < 0)	    {		    min = i + 1;		    if ( min > max )		       return 0;		    continue;	    }	    if (order > 0)	    {		    max = i - 1;		    if ( min > max )		       return 0;		    continue;	    }	    return & dev_info[ i ];	}}const char *pci_strclass (unsigned int class){	switch (class >> 8) {	      case PCI_CLASS_NOT_DEFINED:		return "Non-VGA device";	      case PCI_CLASS_NOT_DEFINED_VGA:		return "VGA compatible device";	      case PCI_CLASS_STORAGE_SCSI:		return "SCSI storage controller";	      case PCI_CLASS_STORAGE_IDE:		return "IDE interface";	      case PCI_CLASS_STORAGE_FLOPPY:		return "Floppy disk controller";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -