Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenbm_devs.h
Go to the documentation of this file.
00001 /*++ 00002 00003 Copyright (c) 2002-2011 Alexandr A. Telyatnikov (Alter) 00004 00005 Module Name: 00006 bm_devs.h 00007 00008 Abstract: 00009 This file contains list of 'well known' PCI IDE controllers 00010 00011 Author: 00012 Alexander A. Telyatnikov (Alter) 00013 00014 Environment: 00015 kernel mode only 00016 00017 Notes: 00018 00019 THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 00020 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00021 OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 00022 IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 00023 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 00024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00025 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 00026 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00027 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 00028 THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00029 00030 Revision History: 00031 00032 --*/ 00033 00034 #define IDE_MAX_CHAN 16 00035 #define IDE_DEFAULT_MAX_CHAN 2 00036 // Thanks to SATA Port Multipliers: 00037 //#define IDE_MAX_LUN_PER_CHAN SATA_MAX_PM_UNITS 00038 #define IDE_MAX_LUN_PER_CHAN 2 00039 00040 #define IDE_MAX_LUN (AHCI_MAX_PORT*IDE_MAX_LUN_PER_CHAN) 00041 00042 #define MAX_QUEUE_STAT 8 00043 00044 // 00045 // values for TransferMode 00046 // 00047 #define ATA_PIO 0x00 00048 #define ATA_PIO_NRDY 0x01 00049 00050 #define ATA_PIO0 0x08 00051 #define ATA_PIO1 0x09 00052 #define ATA_PIO2 0x0a 00053 #define ATA_PIO3 0x0b 00054 #define ATA_PIO4 0x0c 00055 #define ATA_PIO5 0x0d 00056 00057 #define ATA_DMA 0x10 00058 #define ATA_SDMA 0x10 00059 #define ATA_SDMA0 0x10 00060 #define ATA_SDMA1 0x11 00061 #define ATA_SDMA2 0x12 00062 00063 #define ATA_WDMA 0x20 00064 #define ATA_WDMA0 0x20 00065 #define ATA_WDMA1 0x21 00066 #define ATA_WDMA2 0x22 00067 00068 #define ATA_UDMA 0x40 00069 #define ATA_UDMA0 0x40 // ATA-16 00070 #define ATA_UDMA1 0x41 // ATA-25 00071 #define ATA_UDMA2 0x42 // ATA-33 00072 #define ATA_UDMA3 0x43 // ATA-44 00073 #define ATA_UDMA4 0x44 // ATA-66 00074 #define ATA_UDMA5 0x45 // ATA-100 00075 #define ATA_UDMA6 0x46 // ATA-133 00076 //#define ATA_UDMA7 0x47 // ATA-166 00077 00078 #define ATA_SA150 0x47 /*0x80*/ 00079 #define ATA_SA300 0x48 /*0x81*/ 00080 #define ATA_SA600 0x49 /*0x82*/ 00081 00082 // define PIO timings in nanoseconds 00083 #define PIO0_TIMING 600 00084 00085 //#define UniataGetPioTiming(LunExt) ((LunExt->TransferMode <= ATA_PIO0) ? PIO0_TIMING : 0) 00086 #define UniataGetPioTiming(LunExt) 0 //ktp 00087 00088 #ifndef __IDE_BUSMASTER_DEVICES_H__ 00089 #define __IDE_BUSMASTER_DEVICES_H__ 00090 00091 typedef struct _BUSMASTER_CONTROLLER_INFORMATION { 00092 PCHAR VendorId; 00093 ULONG VendorIdLength; 00094 ULONG nVendorId; 00095 PCHAR DeviceId; 00096 ULONG DeviceIdLength; 00097 ULONG nDeviceId; 00098 ULONG nRevId; 00099 ULONG MaxTransferMode; 00100 PCHAR FullDevName; 00101 ULONG RaidFlags; 00102 CHAR VendorIdStr[4]; 00103 CHAR DeviceIdStr[4]; 00104 ULONG slotNumber; 00105 ULONG busNumber; 00106 CHAR channel; 00107 // CHAR numOfChannes; 00108 CHAR MasterDev; 00109 BOOLEAN Known; 00110 #ifndef USER_MODE 00111 CHAR ChanInitOk; // 0x01 - primary, 0x02 - secondary 00112 BOOLEAN Isr2Enable; 00113 PDEVICE_OBJECT Isr2DevObj; 00114 KIRQL Isr2Irql; 00115 KAFFINITY Isr2Affinity; 00116 ULONG Isr2Vector; 00117 PKINTERRUPT Isr2InterruptObject; 00118 CHAR AltInitMasterDev; // 0xff - uninitialized, 0x00 - normal, 0x01 - change ISA to PCI 00119 CHAR NeedAltInit; // 0x01 - try change ISA to PCI 00120 #endif 00121 00122 }BUSMASTER_CONTROLLER_INFORMATION, *PBUSMASTER_CONTROLLER_INFORMATION; 00123 00124 /* defines for known chipset PCI id's */ 00125 #define ATA_ACARD_ID 0x1191 00126 #define ATA_ATP850 0x00021191 00127 #define ATA_ATP850A 0x00041191 00128 #define ATA_ATP850R 0x00051191 00129 #define ATA_ATP860A 0x00061191 00130 #define ATA_ATP860R 0x00071191 00131 #define ATA_ATP865A 0x00081191 00132 #define ATA_ATP865R 0x00091191 00133 00134 #define ATA_AMD_ID 0x1022 00135 #define ATA_AMD755 0x74011022 00136 #define ATA_AMD756 0x74091022 00137 #define ATA_AMD766 0x74111022 00138 #define ATA_AMD768 0x74411022 00139 #define ATA_AMD8111 0x74691022 00140 #define ATA_AMD5536 0x209a1022 00141 00142 #define ATA_ACER_LABS_ID 0x10b9 00143 #define ATA_ALI_1533 0x153310b9 00144 #define ATA_ALI_5228 0x522810b9 00145 #define ATA_ALI_5229 0x522910b9 00146 #define ATA_ALI_5281 0x528110b9 00147 #define ATA_ALI_5287 0x528710b9 00148 #define ATA_ALI_5288 0x528810b9 00149 #define ATA_ALI_5289 0x528910b9 00150 00151 #define ATA_ATI_ID 0x1002 00152 #define ATA_ATI_IXP200 0x43491002 00153 #define ATA_ATI_IXP300 0x43691002 00154 #define ATA_ATI_IXP300_S1 0x436e1002 00155 #define ATA_ATI_IXP400 0x43761002 00156 #define ATA_ATI_IXP400_S1 0x43791002 00157 #define ATA_ATI_IXP400_S2 0x437a1002 00158 #define ATA_ATI_IXP600 0x438c1002 00159 #define ATA_ATI_IXP600_S1 0x43801002 00160 #define ATA_ATI_IXP700 0x439c1002 00161 #define ATA_ATI_IXP700_S1 0x43901002 00162 #define ATA_ATI_IXP700_S2 0x43911002 00163 #define ATA_ATI_IXP700_S3 0x43921002 00164 #define ATA_ATI_IXP700_S4 0x43931002 00165 #define ATA_ATI_IXP800_S1 0x43941002 00166 #define ATA_ATI_IXP800_S2 0x43951002 00167 00168 #define ATA_CENATEK_ID 0x16ca 00169 #define ATA_CENATEK_ROCKET 0x000116ca 00170 00171 #define ATA_CYRIX_ID 0x1078 00172 #define ATA_CYRIX_5530 0x01021078 00173 00174 #define ATA_CYPRESS_ID 0x1080 00175 #define ATA_CYPRESS_82C693 0xc6931080 00176 00177 #define ATA_DEC_21150 0x00221011 00178 #define ATA_DEC_21150_1 0x00231011 00179 00180 #define ATA_HIGHPOINT_ID 0x1103 00181 #define ATA_HPT366 0x00041103 00182 #define ATA_HPT372 0x00051103 00183 #define ATA_HPT302 0x00061103 00184 #define ATA_HPT371 0x00071103 00185 #define ATA_HPT374 0x00081103 00186 00187 #define ATA_INTEL_ID 0x8086 00188 #define ATA_I960RM 0x09628086 00189 #define ATA_I82371FB 0x12308086 00190 #define ATA_I82371SB 0x70108086 00191 #define ATA_I82371AB 0x71118086 00192 #define ATA_I82443MX 0x71998086 00193 #define ATA_I82451NX 0x84ca8086 00194 #define ATA_I82372FB 0x76018086 00195 #define ATA_I82801AB 0x24218086 00196 #define ATA_I82801AA 0x24118086 00197 #define ATA_I82801BA 0x244a8086 00198 #define ATA_I82801BA_1 0x244b8086 00199 #define ATA_I82801CA 0x248a8086 00200 #define ATA_I82801CA_1 0x248b8086 00201 #define ATA_I82801DB 0x24cb8086 00202 #define ATA_I82801DB_1 0x24ca8086 00203 #define ATA_I82801EB 0x24db8086 00204 #define ATA_I82801EB_S1 0x24d18086 00205 #define ATA_I82801EB_R1 0x24df8086 00206 #define ATA_I6300ESB 0x25a28086 00207 #define ATA_I6300ESB_S1 0x25a38086 00208 #define ATA_I6300ESB_R1 0x25b08086 00209 #define ATA_I63XXESB2 0x269e8086 00210 #define ATA_I63XXESB2_S1 0x26808086 00211 #define ATA_I63XXESB2_S2 0x26818086 00212 #define ATA_I63XXESB2_R1 0x26828086 00213 #define ATA_I63XXESB2_R2 0x26838086 00214 #define ATA_I82801FB 0x266f8086 00215 #define ATA_I82801FB_S1 0x26518086 00216 #define ATA_I82801FB_R1 0x26528086 00217 #define ATA_I82801FB_M 0x26538086 00218 #define ATA_I82801GB 0x27df8086 00219 #define ATA_I82801GB_S1 0x27c08086 00220 #define ATA_I82801GB_AH 0x27c18086 00221 #define ATA_I82801GB_R1 0x27c38086 00222 #define ATA_I82801GBM_S1 0x27c48086 00223 #define ATA_I82801GBM_AH 0x27c58086 00224 #define ATA_I82801GBM_R1 0x27c68086 00225 #define ATA_I82801HB_S1 0x28208086 00226 #define ATA_I82801HB_AH6 0x28218086 00227 #define ATA_I82801HB_R1 0x28228086 00228 #define ATA_I82801HB_AH4 0x28248086 00229 #define ATA_I82801HB_S2 0x28258086 00230 #define ATA_I82801HBM 0x28508086 00231 #define ATA_I82801HBM_S1 0x28288086 00232 #define ATA_I82801HBM_S2 0x28298086 00233 #define ATA_I82801HBM_S3 0x282a8086 00234 #define ATA_I82801IB_S1 0x29208086 00235 #define ATA_I82801IB_AH2 0x29218086 00236 #define ATA_I82801IB_AH6 0x29228086 00237 #define ATA_I82801IB_AH4 0x29238086 00238 #define ATA_I82801IB_R1 0x29258086 00239 #define ATA_I82801IB_S2 0x29268086 00240 #define ATA_I82801JIB_S1 0x3a208086 00241 #define ATA_I82801JIB_AH 0x3a228086 00242 #define ATA_I82801JIB_R1 0x3a258086 00243 #define ATA_I82801JIB_S2 0x3a268086 00244 #define ATA_I82801JD_S1 0x3a008086 00245 #define ATA_I82801JD_AH 0x3a028086 00246 #define ATA_I82801JD_R1 0x3a058086 00247 #define ATA_I82801JD_S2 0x3a068086 00248 /* 00249 #define ATA_I82801JI_S1 0x3a208086 00250 #define ATA_I82801JI_AH 0x3a228086 00251 #define ATA_I82801JI_R1 0x3a258086 00252 #define ATA_I82801JI_S2 0x3a268086 00253 */ 00254 #define ATA_5Series_S1 0x3b208086 00255 #define ATA_5Series_S2 0x3b218086 00256 #define ATA_5Series_AH1 0x3b228086 00257 #define ATA_5Series_AH2 0x3b238086 00258 #define ATA_5Series_R1 0x3b258086 00259 #define ATA_5Series_S3 0x3b268086 00260 #define ATA_5Series_S4 0x3b288086 00261 #define ATA_5Series_AH3 0x3b298086 00262 #define ATA_5Series_R2 0x3b2c8086 00263 #define ATA_5Series_S5 0x3b2d8086 00264 #define ATA_5Series_S6 0x3b2e8086 00265 #define ATA_5Series_AH4 0x3b2f8086 00266 00267 #define ATA_CPT_S1 0x1c008086 00268 #define ATA_CPT_S2 0x1c018086 00269 #define ATA_CPT_AH1 0x1c028086 00270 #define ATA_CPT_AH2 0x1c038086 00271 #define ATA_CPT_R1 0x1c048086 00272 #define ATA_CPT_R2 0x1c058086 00273 #define ATA_CPT_S3 0x1c088086 00274 #define ATA_CPT_S4 0x1c098086 00275 00276 #define ATA_I31244 0x32008086 00277 #define ATA_ISCH 0x811a8086 00278 00279 #define ATA_JMICRON_ID 0x197b 00280 #define ATA_JMB360 0x2360197b 00281 #define ATA_JMB361 0x2361197b 00282 #define ATA_JMB363 0x2363197b 00283 #define ATA_JMB365 0x2365197b 00284 #define ATA_JMB366 0x2366197b 00285 #define ATA_JMB368 0x2368197b 00286 00287 #define ATA_MARVELL_ID 0x11ab 00288 #define ATA_M88SX5040 0x504011ab 00289 #define ATA_M88SX5041 0x504111ab 00290 #define ATA_M88SX5080 0x508011ab 00291 #define ATA_M88SX5081 0x508111ab 00292 #define ATA_M88SX6041 0x604111ab 00293 #define ATA_M88SX6042 0x604211ab 00294 #define ATA_M88SX6081 0x608111ab 00295 #define ATA_M88SX7042 0x704211ab 00296 #define ATA_M88SX6101 0x610111ab 00297 #define ATA_M88SX6102 0x610211ab 00298 #define ATA_M88SX6111 0x611111ab 00299 #define ATA_M88SX6121 0x612111ab 00300 #define ATA_M88SX6141 0x614111ab 00301 #define ATA_M88SX6145 0x614511ab 00302 #define ATA_MARVELL2_ID 0x1b4b 00303 00304 #define ATA_MICRON_ID 0x1042 00305 #define ATA_MICRON_RZ1000 0x10001042 00306 #define ATA_MICRON_RZ1001 0x10011042 00307 00308 #define ATA_NATIONAL_ID 0x100b 00309 #define ATA_SC1100 0x0502100b 00310 00311 #define ATA_NETCELL_ID 0x169c 00312 #define ATA_NETCELL_SR 0x0044169c 00313 00314 #define ATA_NVIDIA_ID 0x10de 00315 #define ATA_NFORCE1 0x01bc10de 00316 #define ATA_NFORCE2 0x006510de 00317 #define ATA_NFORCE2_PRO 0x008510de 00318 #define ATA_NFORCE2_PRO_S1 0x008e10de 00319 #define ATA_NFORCE3 0x00d510de 00320 #define ATA_NFORCE3_PRO 0x00e510de 00321 #define ATA_NFORCE3_PRO_S1 0x00e310de 00322 #define ATA_NFORCE3_PRO_S2 0x00ee10de 00323 #define ATA_NFORCE_MCP04 0x003510de 00324 #define ATA_NFORCE_MCP04_S1 0x003610de 00325 #define ATA_NFORCE_MCP04_S2 0x003e10de 00326 #define ATA_NFORCE_CK804 0x005310de 00327 #define ATA_NFORCE_CK804_S1 0x005410de 00328 #define ATA_NFORCE_CK804_S2 0x005510de 00329 #define ATA_NFORCE_MCP51 0x026510de 00330 #define ATA_NFORCE_MCP51_S1 0x026610de 00331 #define ATA_NFORCE_MCP51_S2 0x026710de 00332 #define ATA_NFORCE_MCP55 0x036e10de 00333 #define ATA_NFORCE_MCP55_S1 0x037e10de 00334 #define ATA_NFORCE_MCP55_S2 0x037f10de 00335 #define ATA_NFORCE_MCP61 0x03ec10de 00336 #define ATA_NFORCE_MCP61_S1 0x03e710de 00337 #define ATA_NFORCE_MCP61_S2 0x03f610de 00338 #define ATA_NFORCE_MCP61_S3 0x03f710de 00339 #define ATA_NFORCE_MCP65 0x044810de 00340 #define ATA_NFORCE_MCP65_A0 0x044c10de 00341 #define ATA_NFORCE_MCP65_A1 0x044d10de 00342 #define ATA_NFORCE_MCP65_A2 0x044e10de 00343 #define ATA_NFORCE_MCP65_A3 0x044f10de 00344 #define ATA_NFORCE_MCP65_A4 0x045c10de 00345 #define ATA_NFORCE_MCP65_A5 0x045d10de 00346 #define ATA_NFORCE_MCP65_A6 0x045e10de 00347 #define ATA_NFORCE_MCP65_A7 0x045f10de 00348 #define ATA_NFORCE_MCP67 0x056010de 00349 #define ATA_NFORCE_MCP67_A0 0x055010de 00350 #define ATA_NFORCE_MCP67_A1 0x055110de 00351 #define ATA_NFORCE_MCP67_A2 0x055210de 00352 #define ATA_NFORCE_MCP67_A3 0x055310de 00353 #define ATA_NFORCE_MCP67_A4 0x055410de 00354 #define ATA_NFORCE_MCP67_A5 0x055510de 00355 #define ATA_NFORCE_MCP67_A6 0x055610de 00356 #define ATA_NFORCE_MCP67_A7 0x055710de 00357 #define ATA_NFORCE_MCP67_A8 0x055810de 00358 #define ATA_NFORCE_MCP67_A9 0x055910de 00359 #define ATA_NFORCE_MCP67_AA 0x055A10de 00360 #define ATA_NFORCE_MCP67_AB 0x055B10de 00361 #define ATA_NFORCE_MCP67_AC 0x058410de 00362 #define ATA_NFORCE_MCP73 0x056c10de 00363 #define ATA_NFORCE_MCP73_A0 0x07f010de 00364 #define ATA_NFORCE_MCP73_A1 0x07f110de 00365 #define ATA_NFORCE_MCP73_A2 0x07f210de 00366 #define ATA_NFORCE_MCP73_A3 0x07f310de 00367 #define ATA_NFORCE_MCP73_A4 0x07f410de 00368 #define ATA_NFORCE_MCP73_A5 0x07f510de 00369 #define ATA_NFORCE_MCP73_A6 0x07f610de 00370 #define ATA_NFORCE_MCP73_A7 0x07f710de 00371 #define ATA_NFORCE_MCP73_A8 0x07f810de 00372 #define ATA_NFORCE_MCP73_A9 0x07f910de 00373 #define ATA_NFORCE_MCP73_AA 0x07fa10de 00374 #define ATA_NFORCE_MCP73_AB 0x07fb10de 00375 #define ATA_NFORCE_MCP77 0x075910de 00376 #define ATA_NFORCE_MCP77_A0 0x0ad010de 00377 #define ATA_NFORCE_MCP77_A1 0x0ad110de 00378 #define ATA_NFORCE_MCP77_A2 0x0ad210de 00379 #define ATA_NFORCE_MCP77_A3 0x0ad310de 00380 #define ATA_NFORCE_MCP77_A4 0x0ad410de 00381 #define ATA_NFORCE_MCP77_A5 0x0ad510de 00382 #define ATA_NFORCE_MCP77_A6 0x0ad610de 00383 #define ATA_NFORCE_MCP77_A7 0x0ad710de 00384 #define ATA_NFORCE_MCP77_A8 0x0ad810de 00385 #define ATA_NFORCE_MCP77_A9 0x0ad910de 00386 #define ATA_NFORCE_MCP77_AA 0x0ada10de 00387 #define ATA_NFORCE_MCP77_AB 0x0adb10de 00388 #define ATA_NFORCE_MCP79_A0 0x0ab410de 00389 #define ATA_NFORCE_MCP79_A1 0x0ab510de 00390 #define ATA_NFORCE_MCP79_A2 0x0ab610de 00391 #define ATA_NFORCE_MCP79_A3 0x0ab710de 00392 #define ATA_NFORCE_MCP79_A4 0x0ab810de 00393 #define ATA_NFORCE_MCP79_A5 0x0ab910de 00394 #define ATA_NFORCE_MCP79_A6 0x0aba10de 00395 #define ATA_NFORCE_MCP79_A7 0x0abb10de 00396 #define ATA_NFORCE_MCP79_A8 0x0abc10de 00397 #define ATA_NFORCE_MCP79_A9 0x0abd10de 00398 #define ATA_NFORCE_MCP79_AA 0x0abe10de 00399 #define ATA_NFORCE_MCP79_AB 0x0abf10de 00400 #define ATA_NFORCE_MCP89_A0 0x0d8410de 00401 #define ATA_NFORCE_MCP89_A1 0x0d8510de 00402 #define ATA_NFORCE_MCP89_A2 0x0d8610de 00403 #define ATA_NFORCE_MCP89_A3 0x0d8710de 00404 #define ATA_NFORCE_MCP89_A4 0x0d8810de 00405 #define ATA_NFORCE_MCP89_A5 0x0d8910de 00406 #define ATA_NFORCE_MCP89_A6 0x0d8a10de 00407 #define ATA_NFORCE_MCP89_A7 0x0d8b10de 00408 #define ATA_NFORCE_MCP89_A8 0x0d8c10de 00409 #define ATA_NFORCE_MCP89_A9 0x0d8d10de 00410 #define ATA_NFORCE_MCP89_AA 0x0d8e10de 00411 #define ATA_NFORCE_MCP89_AB 0x0d8f10de 00412 00413 #define ATA_PROMISE_ID 0x105a 00414 #define ATA_PDC20246 0x4d33105a 00415 #define ATA_PDC20262 0x4d38105a 00416 #define ATA_PDC20263 0x0d38105a 00417 #define ATA_PDC20265 0x0d30105a 00418 #define ATA_PDC20267 0x4d30105a 00419 #define ATA_PDC20268 0x4d68105a 00420 #define ATA_PDC20269 0x4d69105a 00421 #define ATA_PDC20270 0x6268105a 00422 #define ATA_PDC20271 0x6269105a 00423 #define ATA_PDC20275 0x1275105a 00424 #define ATA_PDC20276 0x5275105a 00425 #define ATA_PDC20277 0x7275105a 00426 #define ATA_PDC20318 0x3318105a 00427 #define ATA_PDC20319 0x3319105a 00428 #define ATA_PDC20371 0x3371105a 00429 #define ATA_PDC20375 0x3375105a 00430 #define ATA_PDC20376 0x3376105a 00431 #define ATA_PDC20377 0x3377105a 00432 #define ATA_PDC20378 0x3373105a 00433 #define ATA_PDC20379 0x3372105a 00434 #define ATA_PDC20571 0x3571105a 00435 #define ATA_PDC20575 0x3d75105a 00436 #define ATA_PDC20579 0x3574105a 00437 #define ATA_PDC20771 0x3570105a 00438 #define ATA_PDC40518 0x3d18105a 00439 #define ATA_PDC40519 0x3519105a 00440 #define ATA_PDC40718 0x3d17105a 00441 #define ATA_PDC40719 0x3515105a 00442 #define ATA_PDC40775 0x3d73105a 00443 #define ATA_PDC40779 0x3577105a 00444 #define ATA_PDC20617 0x6617105a 00445 #define ATA_PDC20618 0x6626105a 00446 #define ATA_PDC20619 0x6629105a 00447 #define ATA_PDC20620 0x6620105a 00448 #define ATA_PDC20621 0x6621105a 00449 #define ATA_PDC20622 0x6622105a 00450 #define ATA_PDC20624 0x6624105a 00451 #define ATA_PDC81518 0x8002105a 00452 00453 #define ATA_SERVERWORKS_ID 0x1166 00454 #define ATA_ROSB4_ISA 0x02001166 00455 #define ATA_ROSB4 0x02111166 00456 #define ATA_CSB5 0x02121166 00457 #define ATA_CSB6 0x02131166 00458 #define ATA_CSB6_1 0x02171166 00459 #define ATA_HT1000 0x02141166 00460 #define ATA_HT1000_S1 0x024b1166 00461 #define ATA_HT1000_S2 0x024a1166 00462 #define ATA_K2 0x02401166 00463 #define ATA_FRODO4 0x02411166 00464 #define ATA_FRODO8 0x02421166 00465 00466 #define ATA_SILICON_IMAGE_ID 0x1095 00467 #define ATA_SII3114 0x31141095 00468 #define ATA_SII3512 0x35121095 00469 #define ATA_SII3112 0x31121095 00470 #define ATA_SII3112_1 0x02401095 00471 #define ATA_SII3124 0x31241095 00472 #define ATA_SII3132 0x31321095 00473 #define ATA_SII3132_1 0x02421095 00474 #define ATA_SII3132_2 0x02441095 00475 #define ATA_SII0680 0x06801095 00476 #define ATA_CMD646 0x06461095 00477 #define ATA_CMD648 0x06481095 00478 #define ATA_CMD649 0x06491095 00479 00480 #define ATA_SIS_ID 0x1039 00481 #define ATA_SISSOUTH 0x00081039 00482 #define ATA_SIS5511 0x55111039 00483 #define ATA_SIS5513 0x55131039 00484 #define ATA_SIS5517 0x55171039 00485 #define ATA_SIS5518 0x55181039 00486 #define ATA_SIS5571 0x55711039 00487 #define ATA_SIS5591 0x55911039 00488 #define ATA_SIS5596 0x55961039 00489 #define ATA_SIS5597 0x55971039 00490 #define ATA_SIS5598 0x55981039 00491 #define ATA_SIS5600 0x56001039 00492 #define ATA_SIS530 0x05301039 00493 #define ATA_SIS540 0x05401039 00494 #define ATA_SIS550 0x05501039 00495 #define ATA_SIS620 0x06201039 00496 #define ATA_SIS630 0x06301039 00497 #define ATA_SIS635 0x06351039 00498 #define ATA_SIS633 0x06331039 00499 #define ATA_SIS640 0x06401039 00500 #define ATA_SIS645 0x06451039 00501 #define ATA_SIS646 0x06461039 00502 #define ATA_SIS648 0x06481039 00503 #define ATA_SIS650 0x06501039 00504 #define ATA_SIS651 0x06511039 00505 #define ATA_SIS652 0x06521039 00506 #define ATA_SIS655 0x06551039 00507 #define ATA_SIS658 0x06581039 00508 #define ATA_SIS661 0x06611039 00509 #define ATA_SIS730 0x07301039 00510 #define ATA_SIS733 0x07331039 00511 #define ATA_SIS735 0x07351039 00512 #define ATA_SIS740 0x07401039 00513 #define ATA_SIS745 0x07451039 00514 #define ATA_SIS746 0x07461039 00515 #define ATA_SIS748 0x07481039 00516 #define ATA_SIS750 0x07501039 00517 #define ATA_SIS751 0x07511039 00518 #define ATA_SIS752 0x07521039 00519 #define ATA_SIS755 0x07551039 00520 #define ATA_SIS961 0x09611039 00521 #define ATA_SIS962 0x09621039 00522 #define ATA_SIS963 0x09631039 00523 #define ATA_SIS964 0x09641039 00524 #define ATA_SIS965 0x09651039 00525 #define ATA_SIS964_1 0x01801039 00526 #define ATA_SIS180 0x01801039 00527 #define ATA_SIS181 0x01811039 00528 #define ATA_SIS182 0x01821039 00529 00530 #define ATA_VIA_ID 0x1106 00531 #define ATA_VIA82C571 0x05711106 00532 #define ATA_VIA82C586 0x05861106 00533 #define ATA_VIA82C596 0x05961106 00534 #define ATA_VIA82C686 0x06861106 00535 #define ATA_VIA8231 0x82311106 00536 #define ATA_VIA8233 0x30741106 00537 #define ATA_VIA8233A 0x31471106 00538 #define ATA_VIA8233C 0x31091106 00539 #define ATA_VIA8235 0x31771106 00540 #define ATA_VIA8237 0x32271106 00541 #define ATA_VIA8237A 0x05911106 00542 #define ATA_VIA8237S 0x53371106 00543 #define ATA_VIA8237_5372 0x53721106 00544 #define ATA_VIA8237_7372 0x73721106 00545 #define ATA_VIA8251 0x33491106 00546 #define ATA_VIA8361 0x31121106 00547 #define ATA_VIA8363 0x03051106 00548 #define ATA_VIA8371 0x03911106 00549 #define ATA_VIA8662 0x31021106 00550 #define ATA_VIA6410 0x31641106 00551 #define ATA_VIA6420 0x31491106 00552 #define ATA_VIA6421 0x32491106 00553 00554 #define ATA_VIACX700IDE 0x05811106 00555 #define ATA_VIACX700 0x83241106 00556 #define ATA_VIASATAIDE 0x53241106 00557 #define ATA_VIAVX800 0x83531106 00558 #define ATA_VIASATAIDE2 0xc4091106 00559 #define ATA_VIAVX855 0x84091106 00560 #define ATA_VIASATAIDE3 0x90011106 00561 #define ATA_VIAVX900 0x84101106 00562 00563 #define ATA_ITE_ID 0x1283 00564 #define ATA_IT8172G 0x81721283 00565 #define ATA_IT8211F 0x82111283 00566 #define ATA_IT8212F 0x82121283 00567 #define ATA_IT8213F 0x82131283 00568 00569 #define ATA_OPTI_ID 0x1045 00570 #define ATA_OPTI82C621 0xc6211045 00571 #define ATA_OPTI82C625 0xd5681045 00572 00573 #define ATA_HINT_ID 0x3388 00574 #define ATA_HINTEIDE_ID 0x80133388 00575 00576 /* chipset setup related defines */ 00577 /* Used in HW_DEVICE_EXTENSION.InitMethod */ 00578 00579 #define CHIPTYPE_MASK 0x000000ff 00580 #define CHIPFLAG_MASK 0xffffff00 00581 00582 #define UNIATA_RAID_CONTROLLER 0x80000000 00583 #define UNIATA_SIMPLEX_ONLY 0x40000000 00584 #define UNIATA_NO_SLAVE 0x20000000 00585 #define UNIATA_SATA 0x10000000 00586 #define UNIATA_NO_DPC 0x08000000 00587 #define UNIATA_NO_DPC_ATAPI 0x04000000 00588 #define UNIATA_AHCI 0x02000000 00589 #define UNIATA_NO80CHK 0x01000000 00590 00591 #define ATPOLD 0x0100 00592 00593 #define ALIOLD 0x0100 00594 #define ALINEW 0x0200 00595 00596 #define HPT366 0 00597 #define HPT370 1 00598 #define HPT372 2 00599 #define HPT374 3 00600 #define HPTOLD 0x0100 00601 00602 #define PROLD 0 00603 #define PRNEW 1 00604 #define PRTX 2 00605 #define PRMIO 3 00606 #define PRIDX 4 00607 #define PRTX4 0x0100 00608 #define PRSX4K 0x0200 00609 #define PRSX6K 0x0400 00610 #define PRSATA 0x0800 00611 #define PRDUAL 0x1000 00612 00613 #define SWKS33 0 00614 #define SWKS66 1 00615 #define SWKS100 2 00616 #define SWKSMIO 3 00617 00618 #define SIIOLD 0 00619 #define SIICMD 1 00620 #define SIIMIO 2 00621 00622 #define SIIINTR 0x0100 00623 #define SIIENINTR 0x0200 00624 #define SII4CH 0x0400 00625 #define SIISETCLK 0x0800 00626 #define SIIBUG 0x1000 00627 #define SIINOSATAIRQ 0x2000 00628 00629 //#define SIS_SOUTH 1 00630 #define SISSATA 2 00631 #define SIS133NEW 3 00632 #define SIS133OLD 4 00633 #define SIS100NEW 5 00634 #define SIS100OLD 6 00635 #define SIS66 7 00636 #define SIS33 8 00637 00638 #define SIS_BASE 0x0100 00639 #define SIS_SOUTH 0x0200 00640 00641 #define INTEL_STD 0 00642 #define INTEL_IDX 1 00643 00644 #define ICH4_FIX 0x0100 00645 #define ICH5 0x0200 00646 #define I6CH 0x0400 00647 #define I6CH2 0x0800 00648 #define I1CH 0x1000 00649 00650 #define NV4OFF 0x0100 00651 #define NVQ 0x0200 00652 00653 #define VIA33 0 00654 #define VIA66 1 00655 #define VIA100 2 00656 #define VIA133 3 00657 #define AMDNVIDIA 4 00658 #define AMDCABLE 0x0100 00659 #define AMDBUG 0x0200 00660 #define VIABAR 0x0400 00661 #define VIACLK 0x0800 00662 #define VIABUG 0x1000 00663 #define VIASOUTH 0x2000 00664 #define VIAAST 0x4000 00665 #define VIAPRQ 0x8000 00666 #define VIASATA 0x10000 00667 00668 #define ITE_33 0 00669 #define ITE_133 1 00670 #define ITE_133_NEW 2 00671 00672 #ifdef USER_MODE 00673 #define PCI_DEV_HW_SPEC_BM(idhi, idlo, rev, mode, name, flags) \ 00674 { #idlo, 4, 0x##idlo, #idhi, 4, 0x##idhi, rev, mode, name, flags} 00675 #else 00676 #define PCI_DEV_HW_SPEC_BM(idhi, idlo, rev, mode, name, flags) \ 00677 { (PCHAR) #idlo, 4, 0x##idlo, (PCHAR) #idhi, 4, 0x##idhi, rev, mode, NULL, flags} 00678 #endif 00679 00680 #define BMLIST_TERMINATOR (0xffffffffL) 00681 00682 BUSMASTER_CONTROLLER_INFORMATION const BusMasterAdapters[] = { 00683 00684 PCI_DEV_HW_SPEC_BM( 0005, 1191, 0x00, ATA_UDMA2, "Acard ATP850" , ATPOLD | UNIATA_SIMPLEX_ONLY ), 00685 PCI_DEV_HW_SPEC_BM( 0006, 1191, 0x00, ATA_UDMA4, "Acard ATP860A" , UNIATA_NO80CHK ), 00686 PCI_DEV_HW_SPEC_BM( 0007, 1191, 0x00, ATA_UDMA4, "Acard ATP860R" , UNIATA_NO80CHK ), 00687 PCI_DEV_HW_SPEC_BM( 0008, 1191, 0x00, ATA_UDMA6, "Acard ATP865A" , UNIATA_NO80CHK ), 00688 PCI_DEV_HW_SPEC_BM( 0009, 1191, 0x00, ATA_UDMA6, "Acard ATP865R" , UNIATA_NO80CHK ), 00689 00690 PCI_DEV_HW_SPEC_BM( 5289, 10b9, 0x00, ATA_SA150, "ALI M5289" , UNIATA_SATA | UNIATA_NO_SLAVE ), 00691 PCI_DEV_HW_SPEC_BM( 5288, 10b9, 0x00, ATA_SA300, "ALI M5288" , UNIATA_SATA | UNIATA_NO_SLAVE ), 00692 PCI_DEV_HW_SPEC_BM( 5287, 10b9, 0x00, ATA_SA150, "ALI M5287" , UNIATA_SATA | UNIATA_NO_SLAVE ), 00693 PCI_DEV_HW_SPEC_BM( 5281, 10b9, 0x00, ATA_SA150, "ALI M5281" , UNIATA_SATA | UNIATA_NO_SLAVE ), 00694 PCI_DEV_HW_SPEC_BM( 5228, 10b9, 0xc5, ATA_UDMA6, "ALI M5228 UDMA6" , ALINEW ), 00695 PCI_DEV_HW_SPEC_BM( 5229, 10b9, 0xc5, ATA_UDMA6, "ALI M5229 UDMA6" , ALINEW ), 00696 PCI_DEV_HW_SPEC_BM( 5229, 10b9, 0xc4, ATA_UDMA5, "ALI M5229 UDMA5" , ALINEW ), 00697 PCI_DEV_HW_SPEC_BM( 5229, 10b9, 0xc2, ATA_UDMA4, "ALI M5229 UDMA4" , ALINEW ), 00698 PCI_DEV_HW_SPEC_BM( 5229, 10b9, 0x20, ATA_UDMA2, "ALI M5229 UDMA2" , ALIOLD ), 00699 PCI_DEV_HW_SPEC_BM( 5229, 10b9, 0x00, ATA_WDMA2, "ALI M5229 WDMA2" , ALIOLD ), 00700 00701 PCI_DEV_HW_SPEC_BM( 7401, 1022, 0x00, ATA_UDMA2, "AMD 755" , AMDNVIDIA | 0x00 ), 00702 PCI_DEV_HW_SPEC_BM( 7409, 1022, 0x00, ATA_UDMA4, "AMD 756" , AMDNVIDIA | UNIATA_NO80CHK ), 00703 PCI_DEV_HW_SPEC_BM( 7411, 1022, 0x00, ATA_UDMA5, "AMD 766" , AMDNVIDIA | AMDBUG ), 00704 PCI_DEV_HW_SPEC_BM( 7441, 1022, 0x00, ATA_UDMA5, "AMD 768" , AMDNVIDIA ), 00705 PCI_DEV_HW_SPEC_BM( 7469, 1022, 0x00, ATA_UDMA6, "AMD 8111" , AMDNVIDIA ), 00706 PCI_DEV_HW_SPEC_BM( 209a, 1022, 0x00, ATA_UDMA5, "AMD CS5536" , AMDNVIDIA ), 00707 00708 PCI_DEV_HW_SPEC_BM( 4349, 1002, 0x00, ATA_UDMA5, "ATI IXP200" , 0 ), 00709 PCI_DEV_HW_SPEC_BM( 4369, 1002, 0x00, ATA_UDMA6, "ATI IXP300" , 0 ), 00710 PCI_DEV_HW_SPEC_BM( 4376, 1002, 0x00, ATA_UDMA6, "ATI IXP400" , 0 ), 00711 PCI_DEV_HW_SPEC_BM( 436e, 1002, 0x00, ATA_SA150, "ATI IXP300" , SIIMIO | UNIATA_SATA ), 00712 PCI_DEV_HW_SPEC_BM( 4379, 1002, 0x00, ATA_SA150, "ATI IXP400" , SIIMIO | SIINOSATAIRQ | UNIATA_SATA ), 00713 PCI_DEV_HW_SPEC_BM( 437a, 1002, 0x00, ATA_SA300, "ATI IXP400" , SIIMIO | SIINOSATAIRQ | UNIATA_SATA ), 00714 PCI_DEV_HW_SPEC_BM( 438c, 1002, 0x00, ATA_UDMA6, "ATI IXP600" , 0 ), 00715 PCI_DEV_HW_SPEC_BM( 4380, 1002, 0x00, ATA_SA150, "ATI IXP600" , UNIATA_SATA | UNIATA_AHCI ), 00716 PCI_DEV_HW_SPEC_BM( 439c, 1002, 0x00, ATA_UDMA6, "ATI IXP700" , 0 ), 00717 PCI_DEV_HW_SPEC_BM( 4390, 1002, 0x00, ATA_SA150, "ATI IXP700" , UNIATA_SATA | UNIATA_AHCI ), 00718 00719 PCI_DEV_HW_SPEC_BM( 0004, 1103, 0x05, ATA_UDMA6, "HighPoint HPT372" , HPT372 | 0x00 | UNIATA_RAID_CONTROLLER), 00720 PCI_DEV_HW_SPEC_BM( 0004, 1103, 0x03, ATA_UDMA5, "HighPoint HPT370" , HPT370 | 0x00 | UNIATA_RAID_CONTROLLER), 00721 PCI_DEV_HW_SPEC_BM( 0004, 1103, 0x02, ATA_UDMA4, "HighPoint HPT368" , HPT366 | 0x00 | UNIATA_RAID_CONTROLLER), 00722 PCI_DEV_HW_SPEC_BM( 0004, 1103, 0x00, ATA_UDMA4, "HighPoint HPT366" , HPT366 | HPTOLD | UNIATA_RAID_CONTROLLER), 00723 PCI_DEV_HW_SPEC_BM( 0005, 1103, 0x01, ATA_UDMA6, "HighPoint HPT372" , HPT372 | 0x00 | UNIATA_RAID_CONTROLLER), 00724 PCI_DEV_HW_SPEC_BM( 0005, 1103, 0x00, ATA_UDMA4, "HighPoint HPT372" , HPT372 | HPTOLD | UNIATA_RAID_CONTROLLER), 00725 PCI_DEV_HW_SPEC_BM( 0006, 1103, 0x01, ATA_UDMA6, "HighPoint HPT302" , HPT372 | 0x00 | UNIATA_RAID_CONTROLLER), 00726 PCI_DEV_HW_SPEC_BM( 0007, 1103, 0x01, ATA_UDMA6, "HighPoint HPT371" , HPT372 | 0x00 | UNIATA_RAID_CONTROLLER), 00727 PCI_DEV_HW_SPEC_BM( 0008, 1103, 0x07, ATA_UDMA6, "HighPoint HPT374" , HPT374 | 0x00 | UNIATA_RAID_CONTROLLER), 00728 00729 PCI_DEV_HW_SPEC_BM( 1230, 8086, 0x00, ATA_WDMA2, "Intel PIIX" , 0 ), 00730 PCI_DEV_HW_SPEC_BM( 7010, 8086, 0x00, ATA_WDMA2, "Intel PIIX3" , 0 ), 00731 PCI_DEV_HW_SPEC_BM( 7111, 8086, 0x00, ATA_UDMA3, "Intel PIIX4" , 0 ), 00732 PCI_DEV_HW_SPEC_BM( 7199, 8086, 0x00, ATA_UDMA2, "Intel PIIX4" , 0 ), 00733 PCI_DEV_HW_SPEC_BM( 84ca, 8086, 0x00, ATA_UDMA2, "Intel PIIX4" , 0 ), 00734 PCI_DEV_HW_SPEC_BM( 7601, 8086, 0x00, ATA_UDMA2, "Intel ICH0" , 0 ), 00735 00736 PCI_DEV_HW_SPEC_BM( 2421, 8086, 0x00, ATA_UDMA4, "Intel ICH" , 0 ), 00737 PCI_DEV_HW_SPEC_BM( 2411, 8086, 0x00, ATA_UDMA4, "Intel ICH" , 0 ), 00738 00739 PCI_DEV_HW_SPEC_BM( 244a, 8086, 0x00, ATA_UDMA5, "Intel ICH2" , 0 ), 00740 PCI_DEV_HW_SPEC_BM( 244b, 8086, 0x00, ATA_UDMA5, "Intel ICH2" , 0 ), 00741 00742 PCI_DEV_HW_SPEC_BM( 248a, 8086, 0x00, ATA_UDMA5, "Intel ICH3" , 0 ), 00743 PCI_DEV_HW_SPEC_BM( 248b, 8086, 0x00, ATA_UDMA5, "Intel ICH3" , 0 ), 00744 00745 PCI_DEV_HW_SPEC_BM( 24cb, 8086, 0x00, ATA_UDMA5, "Intel ICH4" , ICH4_FIX | UNIATA_NO_DPC ), 00746 PCI_DEV_HW_SPEC_BM( 24ca, 8086, 0x00, ATA_UDMA5, "Intel ICH4" , ICH4_FIX | UNIATA_NO_DPC ), 00747 00748 PCI_DEV_HW_SPEC_BM( 24db, 8086, 0x00, ATA_UDMA5, "Intel ICH5 EB" , 0 ), 00749 PCI_DEV_HW_SPEC_BM( 24d1, 8086, 0x00, ATA_SA150, "Intel ICH5 EB1" , ICH5 | UNIATA_SATA ), 00750 PCI_DEV_HW_SPEC_BM( 24df, 8086, 0x00, ATA_SA150, "Intel ICH5 EB2" , ICH5 | UNIATA_SATA ), 00751 00752 PCI_DEV_HW_SPEC_BM( 25a2, 8086, 0x00, ATA_UDMA5, "Intel 6300ESB" , 0 ), 00753 PCI_DEV_HW_SPEC_BM( 25a3, 8086, 0x00, ATA_SA150, "Intel 6300ESB1" , ICH5 | UNIATA_SATA ), 00754 PCI_DEV_HW_SPEC_BM( 25b0, 8086, 0x00, ATA_SA150, "Intel 6300ESB2" , ICH5 | UNIATA_SATA ), 00755 00756 PCI_DEV_HW_SPEC_BM( 266f, 8086, 0x00, ATA_UDMA5, "Intel ICH6" , 0 ), 00757 PCI_DEV_HW_SPEC_BM( 2651, 8086, 0x00, ATA_SA150, "Intel ICH6" , UNIATA_SATA | UNIATA_AHCI ), 00758 PCI_DEV_HW_SPEC_BM( 2652, 8086, 0x00, ATA_SA150, "Intel ICH6" , UNIATA_SATA | UNIATA_AHCI ), 00759 PCI_DEV_HW_SPEC_BM( 2653, 8086, 0x00, ATA_SA150, "Intel ICH6M" , UNIATA_SATA | UNIATA_AHCI ), 00760 00761 PCI_DEV_HW_SPEC_BM( 27df, 8086, 0x00, ATA_UDMA5, "Intel ICH7" , I1CH ), 00762 PCI_DEV_HW_SPEC_BM( 27c0, 8086, 0x00, ATA_SA300, "Intel ICH7 S1" , UNIATA_SATA ), 00763 PCI_DEV_HW_SPEC_BM( 27c1, 8086, 0x00, ATA_SA300, "Intel ICH7" , UNIATA_SATA | UNIATA_AHCI ), 00764 PCI_DEV_HW_SPEC_BM( 27c3, 8086, 0x00, ATA_SA300, "Intel ICH7" , UNIATA_SATA ), 00765 PCI_DEV_HW_SPEC_BM( 27c4, 8086, 0x00, ATA_SA150, "Intel ICH7M R1" , UNIATA_SATA ), 00766 PCI_DEV_HW_SPEC_BM( 27c5, 8086, 0x00, ATA_SA150, "Intel ICH7M" , UNIATA_SATA | UNIATA_AHCI ), 00767 PCI_DEV_HW_SPEC_BM( 27c6, 8086, 0x00, ATA_SA150, "Intel ICH7M" , UNIATA_SATA ), 00768 00769 PCI_DEV_HW_SPEC_BM( 269e, 8086, 0x00, ATA_UDMA5, "Intel 63XXESB2" , I1CH ), 00770 PCI_DEV_HW_SPEC_BM( 2680, 8086, 0x00, ATA_SA300, "Intel 63XXESB2" , UNIATA_SATA ), 00771 PCI_DEV_HW_SPEC_BM( 2681, 8086, 0x00, ATA_SA300, "Intel 63XXESB2" , UNIATA_SATA | UNIATA_AHCI ), 00772 PCI_DEV_HW_SPEC_BM( 2682, 8086, 0x00, ATA_SA300, "Intel 63XXESB2" , UNIATA_SATA | UNIATA_AHCI ), 00773 PCI_DEV_HW_SPEC_BM( 2683, 8086, 0x00, ATA_SA300, "Intel 63XXESB2" , UNIATA_SATA | UNIATA_AHCI ), 00774 00775 PCI_DEV_HW_SPEC_BM( 2820, 8086, 0x00, ATA_SA300, "Intel ICH8" , I6CH ), 00776 PCI_DEV_HW_SPEC_BM( 2821, 8086, 0x00, ATA_SA300, "Intel ICH8" , UNIATA_SATA | UNIATA_AHCI ), 00777 PCI_DEV_HW_SPEC_BM( 2822, 8086, 0x00, ATA_SA300, "Intel ICH8" , UNIATA_SATA | UNIATA_AHCI ), 00778 PCI_DEV_HW_SPEC_BM( 2824, 8086, 0x00, ATA_SA300, "Intel ICH8" , UNIATA_SATA | UNIATA_AHCI ), 00779 PCI_DEV_HW_SPEC_BM( 2825, 8086, 0x00, ATA_SA300, "Intel ICH8" , I6CH2 | UNIATA_SATA ), 00780 PCI_DEV_HW_SPEC_BM( 2828, 8086, 0x00, ATA_SA300, "Intel ICH8M" , I6CH | UNIATA_SATA ), 00781 PCI_DEV_HW_SPEC_BM( 2829, 8086, 0x00, ATA_SA300, "Intel ICH8M" , UNIATA_SATA | UNIATA_AHCI ), 00782 PCI_DEV_HW_SPEC_BM( 282a, 8086, 0x00, ATA_SA300, "Intel ICH8M" , UNIATA_SATA | UNIATA_AHCI ), 00783 PCI_DEV_HW_SPEC_BM( 2850, 8086, 0x00, ATA_UDMA5, "Intel ICH8M" , I1CH ), 00784 00785 PCI_DEV_HW_SPEC_BM( 2920, 8086, 0x00, ATA_SA300, "Intel ICH9" , I6CH | UNIATA_SATA ), 00786 PCI_DEV_HW_SPEC_BM( 2926, 8086, 0x00, ATA_SA300, "Intel ICH9" , I6CH2 | UNIATA_SATA ), 00787 PCI_DEV_HW_SPEC_BM( 2921, 8086, 0x00, ATA_SA300, "Intel ICH9" , UNIATA_SATA | UNIATA_AHCI ), 00788 PCI_DEV_HW_SPEC_BM( 2922, 8086, 0x00, ATA_SA300, "Intel ICH9" , UNIATA_SATA | UNIATA_AHCI ), 00789 PCI_DEV_HW_SPEC_BM( 2923, 8086, 0x00, ATA_SA300, "Intel ICH9" , UNIATA_SATA | UNIATA_AHCI ), 00790 PCI_DEV_HW_SPEC_BM( 2925, 8086, 0x00, ATA_SA300, "Intel ICH9" , UNIATA_SATA | UNIATA_AHCI ), 00791 00792 PCI_DEV_HW_SPEC_BM( 3a20, 8086, 0x00, ATA_SA300, "Intel ICH10" , I6CH | UNIATA_SATA ), 00793 PCI_DEV_HW_SPEC_BM( 3a26, 8086, 0x00, ATA_SA300, "Intel ICH10" , I6CH2 | UNIATA_SATA ), 00794 PCI_DEV_HW_SPEC_BM( 3a22, 8086, 0x00, ATA_SA300, "Intel ICH10" , UNIATA_SATA | UNIATA_AHCI ), 00795 PCI_DEV_HW_SPEC_BM( 3a25, 8086, 0x00, ATA_SA300, "Intel ICH10" , UNIATA_SATA | UNIATA_AHCI ), 00796 00797 PCI_DEV_HW_SPEC_BM( 3a00, 8086, 0x00, ATA_SA300, "Intel ICH10" , I6CH | UNIATA_SATA ), 00798 PCI_DEV_HW_SPEC_BM( 3a06, 8086, 0x00, ATA_SA300, "Intel ICH10" , I6CH2 | UNIATA_SATA ), 00799 PCI_DEV_HW_SPEC_BM( 3a02, 8086, 0x00, ATA_SA300, "Intel ICH10" , UNIATA_SATA | UNIATA_AHCI ), 00800 PCI_DEV_HW_SPEC_BM( 3a05, 8086, 0x00, ATA_SA300, "Intel ICH10" , UNIATA_SATA | UNIATA_AHCI ), 00801 /* 00802 PCI_DEV_HW_SPEC_BM( ????, 8086, 0x00, ATA_SA300, "Intel ICH10" , I6CH | UNIATA_SATA ), 00803 PCI_DEV_HW_SPEC_BM( ????, 8086, 0x00, ATA_SA300, "Intel ICH10" , I6CH2 | UNIATA_SATA ), 00804 PCI_DEV_HW_SPEC_BM( ????, 8086, 0x00, ATA_SA300, "Intel ICH10" , UNIATA_SATA | UNIATA_AHCI ), 00805 PCI_DEV_HW_SPEC_BM( ????, 8086, 0x00, ATA_SA300, "Intel ICH10" , UNIATA_SATA | UNIATA_AHCI ), 00806 */ 00807 PCI_DEV_HW_SPEC_BM( 3b20, 8086, 0x00, ATA_SA300, "Intel 5 Series/3400" , I6CH | UNIATA_SATA ), 00808 PCI_DEV_HW_SPEC_BM( 3b21, 8086, 0x00, ATA_SA300, "Intel 5 Series/3400" , I6CH2 | UNIATA_SATA ), 00809 PCI_DEV_HW_SPEC_BM( 3b22, 8086, 0x00, ATA_SA300, "Intel 5 Series/3400" , UNIATA_SATA | UNIATA_AHCI ), 00810 PCI_DEV_HW_SPEC_BM( 3b23, 8086, 0x00, ATA_SA300, "Intel 5 Series/3400" , UNIATA_SATA | UNIATA_AHCI ), 00811 PCI_DEV_HW_SPEC_BM( 3b25, 8086, 0x00, ATA_SA300, "Intel 5 Series/3400" , UNIATA_SATA | UNIATA_AHCI ), 00812 PCI_DEV_HW_SPEC_BM( 3b26, 8086, 0x00, ATA_SA300, "Intel 5 Series/3400" , I6CH2 | UNIATA_SATA ), 00813 PCI_DEV_HW_SPEC_BM( 3b28, 8086, 0x00, ATA_SA300, "Intel 5 Series/3400" , I6CH | UNIATA_SATA ), 00814 PCI_DEV_HW_SPEC_BM( 3b29, 8086, 0x00, ATA_SA300, "Intel 5 Series/3400" , UNIATA_SATA | UNIATA_AHCI ), 00815 PCI_DEV_HW_SPEC_BM( 3b2c, 8086, 0x00, ATA_SA300, "Intel 5 Series/3400" , UNIATA_SATA | UNIATA_AHCI ), 00816 PCI_DEV_HW_SPEC_BM( 3b2d, 8086, 0x00, ATA_SA300, "Intel 5 Series/3400" , I6CH2 | UNIATA_SATA ), 00817 PCI_DEV_HW_SPEC_BM( 3b2e, 8086, 0x00, ATA_SA300, "Intel 5 Series/3400" , I6CH | UNIATA_SATA ), 00818 PCI_DEV_HW_SPEC_BM( 3b2f, 8086, 0x00, ATA_SA300, "Intel 5 Series/3400" , UNIATA_SATA | UNIATA_AHCI ), 00819 00820 PCI_DEV_HW_SPEC_BM( 1c00, 8086, 0x00, ATA_SA300, "Intel Cougar Point" , I6CH | UNIATA_SATA ), 00821 PCI_DEV_HW_SPEC_BM( 1c01, 8086, 0x00, ATA_SA300, "Intel Cougar Point" , I6CH | UNIATA_SATA ), 00822 PCI_DEV_HW_SPEC_BM( 1c02, 8086, 0x00, ATA_SA300, "Intel Cougar Point" , UNIATA_SATA | UNIATA_AHCI ), 00823 PCI_DEV_HW_SPEC_BM( 1c03, 8086, 0x00, ATA_SA300, "Intel Cougar Point" , UNIATA_SATA | UNIATA_AHCI ), 00824 PCI_DEV_HW_SPEC_BM( 1c04, 8086, 0x00, ATA_SA300, "Intel Cougar Point" , UNIATA_SATA | UNIATA_AHCI ), 00825 PCI_DEV_HW_SPEC_BM( 1c05, 8086, 0x00, ATA_SA300, "Intel Cougar Point" , UNIATA_SATA | UNIATA_AHCI ), 00826 PCI_DEV_HW_SPEC_BM( 1c08, 8086, 0x00, ATA_SA300, "Intel Cougar Point" , I6CH2 | UNIATA_SATA ), 00827 PCI_DEV_HW_SPEC_BM( 1c09, 8086, 0x00, ATA_SA300, "Intel Cougar Point" , I6CH2 | UNIATA_SATA ), 00828 00829 // PCI_DEV_HW_SPEC_BM( 3200, 8086, 0x00, ATA_SA150, "Intel 31244" , UNIATA_SATA ), 00830 PCI_DEV_HW_SPEC_BM( 3200, 8086, 0x00, ATA_UDMA5, "Intel SCH" , I1CH ), 00831 00832 00833 PCI_DEV_HW_SPEC_BM( 2360, 197b, 0x00, ATA_SA300, "JMB360" , UNIATA_SATA | UNIATA_AHCI ), 00834 00835 PCI_DEV_HW_SPEC_BM( 2361, 197b, 0x00, ATA_UDMA6, "JMB361" , 0 ), 00836 PCI_DEV_HW_SPEC_BM( 2363, 197b, 0x00, ATA_UDMA6, "JMB363" , 0 ), 00837 PCI_DEV_HW_SPEC_BM( 2365, 197b, 0x00, ATA_UDMA6, "JMB365" , 0 ), 00838 PCI_DEV_HW_SPEC_BM( 2366, 197b, 0x00, ATA_UDMA6, "JMB366" , 0 ), 00839 PCI_DEV_HW_SPEC_BM( 2368, 197b, 0x00, ATA_UDMA6, "JMB368" , 0 ), 00840 /* 00841 PCI_DEV_HW_SPEC_BM( 5040, 11ab, 0x00, ATA_SA150, "Marvell 88SX5040" , UNIATA_SATA ), 00842 PCI_DEV_HW_SPEC_BM( 5041, 11ab, 0x00, ATA_SA150, "Marvell 88SX5041" , UNIATA_SATA ), 00843 PCI_DEV_HW_SPEC_BM( 5080, 11ab, 0x00, ATA_SA150, "Marvell 88SX5080" , UNIATA_SATA ), 00844 PCI_DEV_HW_SPEC_BM( 5081, 11ab, 0x00, ATA_SA150, "Marvell 88SX5081" , UNIATA_SATA ), 00845 PCI_DEV_HW_SPEC_BM( 6041, 11ab, 0x00, ATA_SA300, "Marvell 88SX6041" , UNIATA_SATA ), 00846 PCI_DEV_HW_SPEC_BM( 6081, 11ab, 0x00, ATA_SA300, "Marvell 88SX6081" , UNIATA_SATA ),*/ 00847 PCI_DEV_HW_SPEC_BM( 6101, 11ab, 0x00, ATA_UDMA6, "Marvell 88SX6101" , 0 ), 00848 PCI_DEV_HW_SPEC_BM( 6121, 11ab, 0x00, ATA_UDMA6, "Marvell 88SX6121" , 0 ), 00849 PCI_DEV_HW_SPEC_BM( 6145, 11ab, 0x00, ATA_UDMA6, "Marvell 88SX6145" , 0 ), 00850 00851 PCI_DEV_HW_SPEC_BM( 01bc, 10de, 0x00, ATA_UDMA5, "nVidia nForce" , AMDNVIDIA ), 00852 PCI_DEV_HW_SPEC_BM( 0065, 10de, 0x00, ATA_UDMA6, "nVidia nForce2" , AMDNVIDIA ), 00853 PCI_DEV_HW_SPEC_BM( 0085, 10de, 0x00, ATA_UDMA6, "nVidia nForce2 Pro",AMDNVIDIA ), 00854 PCI_DEV_HW_SPEC_BM( 008e, 10de, 0x00, ATA_SA150, "nVidia nForce2 Pro S1",UNIATA_SATA ), 00855 PCI_DEV_HW_SPEC_BM( 00d5, 10de, 0x00, ATA_UDMA6, "nVidia nForce3" , AMDNVIDIA ), 00856 PCI_DEV_HW_SPEC_BM( 00e5, 10de, 0x00, ATA_UDMA6, "nVidia nForce3 Pro",AMDNVIDIA ), 00857 PCI_DEV_HW_SPEC_BM( 00e3, 10de, 0x00, ATA_SA150, "nVidia nForce3 Pro S1",UNIATA_SATA ), 00858 PCI_DEV_HW_SPEC_BM( 00ee, 10de, 0x00, ATA_SA150, "nVidia nForce3 Pro S2",UNIATA_SATA ), 00859 PCI_DEV_HW_SPEC_BM( 0035, 10de, 0x00, ATA_UDMA6, "nVidia nForce MCP", AMDNVIDIA ), 00860 PCI_DEV_HW_SPEC_BM( 0036, 10de, 0x00, ATA_SA150, "nVidia nForce MCP S1",NV4OFF | UNIATA_SATA ), 00861 PCI_DEV_HW_SPEC_BM( 003e, 10de, 0x00, ATA_SA150, "nVidia nForce MCP S2",NV4OFF | UNIATA_SATA ), 00862 PCI_DEV_HW_SPEC_BM( 0053, 10de, 0x00, ATA_UDMA6, "nVidia nForce CK804", AMDNVIDIA ), 00863 PCI_DEV_HW_SPEC_BM( 0054, 10de, 0x00, ATA_SA300, "nVidia nForce CK804 S1",NV4OFF | UNIATA_SATA ), 00864 PCI_DEV_HW_SPEC_BM( 0055, 10de, 0x00, ATA_SA300, "nVidia nForce CK804 S2",NV4OFF | UNIATA_SATA ), 00865 PCI_DEV_HW_SPEC_BM( 0265, 10de, 0x00, ATA_UDMA6, "nVidia nForce MCP51", AMDNVIDIA ), 00866 PCI_DEV_HW_SPEC_BM( 0266, 10de, 0x00, ATA_SA300, "nVidia nForce MCP51 S1",NV4OFF | NVQ | UNIATA_SATA ), 00867 PCI_DEV_HW_SPEC_BM( 0267, 10de, 0x00, ATA_SA300, "nVidia nForce MCP51 S2",NV4OFF | NVQ | UNIATA_SATA ), 00868 PCI_DEV_HW_SPEC_BM( 036e, 10de, 0x00, ATA_UDMA6, "nVidia nForce MCP55", AMDNVIDIA ), 00869 PCI_DEV_HW_SPEC_BM( 037e, 10de, 0x00, ATA_SA300, "nVidia nForce MCP55 S1",NV4OFF | NVQ | UNIATA_SATA ), 00870 PCI_DEV_HW_SPEC_BM( 037f, 10de, 0x00, ATA_SA300, "nVidia nForce MCP55 S2",NV4OFF | NVQ | UNIATA_SATA ), 00871 PCI_DEV_HW_SPEC_BM( 03ec, 10de, 0x00, ATA_UDMA6, "nVidia nForce MCP61", AMDNVIDIA ), 00872 PCI_DEV_HW_SPEC_BM( 03e7, 10de, 0x00, ATA_SA300, "nVidia nForce MCP61 S1",NV4OFF | NVQ | UNIATA_SATA ), 00873 PCI_DEV_HW_SPEC_BM( 03f6, 10de, 0x00, ATA_SA300, "nVidia nForce MCP61 S2",NV4OFF | NVQ | UNIATA_SATA ), 00874 PCI_DEV_HW_SPEC_BM( 03f7, 10de, 0x00, ATA_SA300, "nVidia nForce MCP61 S3",NV4OFF | NVQ | UNIATA_SATA ), 00875 PCI_DEV_HW_SPEC_BM( 0448, 10de, 0x00, ATA_UDMA6, "nVidia nForce MCP65", AMDNVIDIA ), 00876 PCI_DEV_HW_SPEC_BM( 0560, 10de, 0x00, ATA_UDMA6, "nVidia nForce MCP67", AMDNVIDIA ), 00877 PCI_DEV_HW_SPEC_BM( 056c, 10de, 0x00, ATA_UDMA6, "nVidia nForce MCP73", AMDNVIDIA ), 00878 PCI_DEV_HW_SPEC_BM( 0759, 10de, 0x00, ATA_UDMA6, "nVidia nForce MCP77", AMDNVIDIA ), 00879 00880 PCI_DEV_HW_SPEC_BM( 0502, 100b, 0x00, ATA_UDMA2, "National Geode SC1100", 0 ), 00881 00882 PCI_DEV_HW_SPEC_BM( 4d33, 105a, 0x00, ATA_UDMA2, "Promise PDC20246" , PROLD | 0x00 ), 00883 PCI_DEV_HW_SPEC_BM( 4d38, 105a, 0x00, ATA_UDMA4, "Promise PDC20262" , PRNEW | 0x00 ), 00884 PCI_DEV_HW_SPEC_BM( 0d38, 105a, 0x00, ATA_UDMA4, "Promise PDC20263" , PRNEW | 0x00 | UNIATA_RAID_CONTROLLER), 00885 PCI_DEV_HW_SPEC_BM( 0d30, 105a, 0x00, ATA_UDMA5, "Promise PDC20265" , PRNEW | 0x00 | UNIATA_RAID_CONTROLLER), 00886 PCI_DEV_HW_SPEC_BM( 4d30, 105a, 0x00, ATA_UDMA5, "Promise PDC20267" , PRNEW | 0x00 | UNIATA_RAID_CONTROLLER), 00887 PCI_DEV_HW_SPEC_BM( 4d68, 105a, 0x00, ATA_UDMA5, "Promise PDC20268" , PRTX | PRTX4 | UNIATA_RAID_CONTROLLER), 00888 PCI_DEV_HW_SPEC_BM( 4d69, 105a, 0x00, ATA_UDMA6, "Promise PDC20269" , PRTX | 0x00 | UNIATA_RAID_CONTROLLER), 00889 PCI_DEV_HW_SPEC_BM( 6268, 105a, 0x00, ATA_UDMA5, "Promise PDC20270" , PRTX | PRTX4 | UNIATA_RAID_CONTROLLER), 00890 PCI_DEV_HW_SPEC_BM( 6269, 105a, 0x00, ATA_UDMA6, "Promise PDC20271" , PRTX | 0x00 | UNIATA_RAID_CONTROLLER), 00891 PCI_DEV_HW_SPEC_BM( 1275, 105a, 0x00, ATA_UDMA6, "Promise PDC20275" , PRTX | 0x00 | UNIATA_RAID_CONTROLLER), 00892 PCI_DEV_HW_SPEC_BM( 5275, 105a, 0x00, ATA_UDMA6, "Promise PDC20276" , PRTX | PRSX6K | UNIATA_RAID_CONTROLLER), 00893 PCI_DEV_HW_SPEC_BM( 7275, 105a, 0x00, ATA_UDMA6, "Promise PDC20277" , PRTX | 0x00 | UNIATA_RAID_CONTROLLER), 00894 PCI_DEV_HW_SPEC_BM( 3318, 105a, 0x00, ATA_SA150, "Promise PDC20318" , PRMIO | PRSATA | UNIATA_RAID_CONTROLLER | UNIATA_SATA), 00895 PCI_DEV_HW_SPEC_BM( 3319, 105a, 0x00, ATA_SA150, "Promise PDC20319" , PRMIO | PRSATA | UNIATA_RAID_CONTROLLER | UNIATA_SATA), 00896 PCI_DEV_HW_SPEC_BM( 3371, 105a, 0x00, ATA_SA150, "Promise PDC20371" , PRMIO | PRSATA | UNIATA_RAID_CONTROLLER | UNIATA_SATA), 00897 PCI_DEV_HW_SPEC_BM( 3375, 105a, 0x00, ATA_SA150, "Promise PDC20375" , PRMIO | PRSATA | UNIATA_RAID_CONTROLLER | UNIATA_SATA), 00898 PCI_DEV_HW_SPEC_BM( 3376, 105a, 0x00, ATA_SA150, "Promise PDC20376" , PRMIO | PRSATA | UNIATA_RAID_CONTROLLER | UNIATA_SATA), 00899 PCI_DEV_HW_SPEC_BM( 3377, 105a, 0x00, ATA_SA150, "Promise PDC20377" , PRMIO | PRSATA | UNIATA_RAID_CONTROLLER | UNIATA_SATA), 00900 PCI_DEV_HW_SPEC_BM( 3373, 105a, 0x00, ATA_SA150, "Promise PDC20378" , PRMIO | PRSATA | UNIATA_RAID_CONTROLLER | UNIATA_SATA), 00901 PCI_DEV_HW_SPEC_BM( 3372, 105a, 0x00, ATA_SA150, "Promise PDC20379" , PRMIO | PRSATA | UNIATA_RAID_CONTROLLER | UNIATA_SATA), 00902 PCI_DEV_HW_SPEC_BM( 6617, 105a, 0x00, ATA_UDMA6, "Promise PDC20617" , PRMIO | PRDUAL | UNIATA_RAID_CONTROLLER), 00903 PCI_DEV_HW_SPEC_BM( 6626, 105a, 0x00, ATA_UDMA6, "Promise PDC20618" , PRMIO | PRDUAL | UNIATA_RAID_CONTROLLER), 00904 PCI_DEV_HW_SPEC_BM( 6629, 105a, 0x00, ATA_UDMA6, "Promise PDC20619" , PRMIO | PRDUAL | UNIATA_RAID_CONTROLLER), 00905 PCI_DEV_HW_SPEC_BM( 6620, 105a, 0x00, ATA_UDMA6, "Promise PDC20620" , PRMIO | PRDUAL | UNIATA_RAID_CONTROLLER), 00906 /* PCI_DEV_HW_SPEC_BM( 6621, 105a, 0x00, ATA_UDMA6, "Promise PDC20621" , PRMIO | PRSX4X | UNIATA_RAID_CONTROLLER), 00907 PCI_DEV_HW_SPEC_BM( 6622, 105a, 0x00, ATA_UDMA6, "Promise PDC20622" , PRMIO | PRSX4X | UNIATA_RAID_CONTROLLER),*/ 00908 00909 PCI_DEV_HW_SPEC_BM( 0211, 1166, 0x00, ATA_UDMA2, "ServerWorks ROSB4", SWKS33 | UNIATA_NO_DPC ), 00910 PCI_DEV_HW_SPEC_BM( 0212, 1166, 0x92, ATA_UDMA5, "ServerWorks CSB5" , SWKS100 ), 00911 PCI_DEV_HW_SPEC_BM( 0212, 1166, 0x00, ATA_UDMA4, "ServerWorks CSB5" , SWKS66 ), 00912 PCI_DEV_HW_SPEC_BM( 0213, 1166, 0x00, ATA_UDMA5, "ServerWorks CSB6" , SWKS100 ), 00913 PCI_DEV_HW_SPEC_BM( 0217, 1166, 0x00, ATA_UDMA4, "ServerWorks CSB6" , SWKS66 ), 00914 PCI_DEV_HW_SPEC_BM( 0214, 1166, 0x00, ATA_UDMA5, "ServerWorks HT1000" , SWKS100 ), 00915 PCI_DEV_HW_SPEC_BM( 024b, 1166, 0x00, ATA_SA150, "ServerWorks HT1000" , SWKS100 ), 00916 PCI_DEV_HW_SPEC_BM( 024a, 1166, 0x00, ATA_SA150, "ServerWorks HT1000" , SWKSMIO ), 00917 PCI_DEV_HW_SPEC_BM( 0240, 1166, 0x00, ATA_SA150, "ServerWorks K2" , SWKSMIO ), 00918 PCI_DEV_HW_SPEC_BM( 0241, 1166, 0x00, ATA_SA150, "ServerWorks Frodo4" , SWKSMIO ), 00919 PCI_DEV_HW_SPEC_BM( 0242, 1166, 0x00, ATA_SA150, "ServerWorks Frodo8" , SWKSMIO ), 00920 00921 PCI_DEV_HW_SPEC_BM( 3114, 1095, 0x00, ATA_SA150, "SiI 3114" , SIIMIO | SII4CH | UNIATA_SATA ), 00922 PCI_DEV_HW_SPEC_BM( 3512, 1095, 0x02, ATA_SA150, "SiI 3512" , SIIMIO | UNIATA_SATA ), 00923 PCI_DEV_HW_SPEC_BM( 3112, 1095, 0x02, ATA_SA150, "SiI 3112" , SIIMIO | UNIATA_SATA ), 00924 PCI_DEV_HW_SPEC_BM( 0240, 1095, 0x02, ATA_SA150, "SiI 3112" , SIIMIO | UNIATA_SATA ), 00925 PCI_DEV_HW_SPEC_BM( 3512, 1095, 0x00, ATA_SA150, "SiI 3512" , SIIMIO | SIIBUG | UNIATA_SATA ), 00926 PCI_DEV_HW_SPEC_BM( 3112, 1095, 0x00, ATA_SA150, "SiI 3112" , SIIMIO | SIIBUG | UNIATA_SATA ), 00927 PCI_DEV_HW_SPEC_BM( 0240, 1095, 0x00, ATA_SA150, "SiI 3112" , SIIMIO | SIIBUG | UNIATA_SATA ), 00928 PCI_DEV_HW_SPEC_BM( 0680, 1095, 0x00, ATA_UDMA6, "SiI 0680" , SIIMIO | SIISETCLK ), 00929 PCI_DEV_HW_SPEC_BM( 0649, 1095, 0x00, ATA_UDMA5, "CMD 649" , SIICMD | SIIINTR | UNIATA_NO_DPC_ATAPI ), 00930 PCI_DEV_HW_SPEC_BM( 0648, 1095, 0x00, ATA_UDMA4, "CMD 648" , SIICMD | SIIINTR ), 00931 PCI_DEV_HW_SPEC_BM( 0646, 1095, 0x07, ATA_UDMA2, "CMD 646U2" , SIICMD | 0 ), 00932 PCI_DEV_HW_SPEC_BM( 0646, 1095, 0x00, ATA_WDMA2, "CMD 646" , SIICMD | 0 ), 00933 PCI_DEV_HW_SPEC_BM( 0640, 1095, 0x00, ATA_PIO4 , "CMD 640" , SIIOLD | SIIENINTR | UNIATA_SIMPLEX_ONLY), 00934 00969 PCI_DEV_HW_SPEC_BM( 5513, 1039, 0xc2, ATA_UDMA2, "SiS ATA-xxx" , 0 ), 00970 PCI_DEV_HW_SPEC_BM( 5513, 1039, 0x00, ATA_WDMA2, "SiS ATA-xxx" , 0 ), 00971 PCI_DEV_HW_SPEC_BM( 0601, 1039, 0x00, ATA_WDMA2, "SiS ATA-xxx" , 0 ), 00972 00973 /* PCI_DEV_HW_SPEC_BM( 0586, 1106, 0x41, ATA_UDMA2, "VIA 82C586B" , VIA33 | 0x00 ), 00974 PCI_DEV_HW_SPEC_BM( 0586, 1106, 0x40, ATA_UDMA2, "VIA 82C586B" , VIA33 | VIAPRQ ), 00975 PCI_DEV_HW_SPEC_BM( 0586, 1106, 0x02, ATA_UDMA2, "VIA 82C586B" , VIA33 | 0x00 ), 00976 PCI_DEV_HW_SPEC_BM( 0586, 1106, 0x00, ATA_WDMA2, "VIA 82C586" , VIA33 | 0x00 ), 00977 PCI_DEV_HW_SPEC_BM( 0596, 1106, 0x12, ATA_UDMA4, "VIA 82C596B" , VIA66 | VIACLK ), 00978 PCI_DEV_HW_SPEC_BM( 0596, 1106, 0x00, ATA_UDMA2, "VIA 82C596" , VIA33 | 0x00 ), 00979 PCI_DEV_HW_SPEC_BM( 0686, 1106, 0x40, ATA_UDMA5, "VIA 82C686B" , VIA100 | VIABUG ), 00980 PCI_DEV_HW_SPEC_BM( 0686, 1106, 0x10, ATA_UDMA4, "VIA 82C686A" , VIA66 | VIACLK ), 00981 PCI_DEV_HW_SPEC_BM( 0686, 1106, 0x00, ATA_UDMA2, "VIA 82C686" , VIA33 | 0x00 ), 00982 PCI_DEV_HW_SPEC_BM( 8231, 1106, 0x00, ATA_UDMA5, "VIA 8231" , VIA100 | VIABUG ), 00983 PCI_DEV_HW_SPEC_BM( 3074, 1106, 0x00, ATA_UDMA5, "VIA 8233" , VIA100 | 0x00 ), 00984 PCI_DEV_HW_SPEC_BM( 3109, 1106, 0x00, ATA_UDMA5, "VIA 8233C" , VIA100 | 0x00 ), 00985 PCI_DEV_HW_SPEC_BM( 3147, 1106, 0x00, ATA_UDMA6, "VIA 8233A" , VIA133 | VIAAST ), 00986 PCI_DEV_HW_SPEC_BM( 3177, 1106, 0x00, ATA_UDMA6, "VIA 8235" , VIA133 | VIAAST ), 00987 */ 00988 PCI_DEV_HW_SPEC_BM( 0571, 1106, 0x00, ATA_UDMA2, "VIA ATA-xxx" , 0 ), 00989 PCI_DEV_HW_SPEC_BM( 0581, 1106, 0x00, ATA_UDMA6, "VIA UATA-xxx" , 0 ), 00990 /* has no SATA registers, all mapped to PATA-style regs */ 00991 PCI_DEV_HW_SPEC_BM( 5324, 1106, 0x00, ATA_SA150, "VIA SATA-xxx" , 0 ), 00992 PCI_DEV_HW_SPEC_BM( 3164, 1106, 0x00, ATA_UDMA6, "VIA 6410" , 0 ), 00993 PCI_DEV_HW_SPEC_BM( 3149, 1106, 0x00, ATA_SA150, "VIA 6420" , 0 | UNIATA_SATA ), 00994 PCI_DEV_HW_SPEC_BM( 3249, 1106, 0x00, ATA_SA150, "VIA 6421" , VIABAR | UNIATA_SATA ), 00995 PCI_DEV_HW_SPEC_BM( 0591, 1106, 0x00, ATA_SA150, "VIA 8237A" , 0 | UNIATA_SATA ), 00996 PCI_DEV_HW_SPEC_BM( 5337, 1106, 0x00, ATA_SA150, "VIA 8237S" , 0 | UNIATA_SATA ), 00997 PCI_DEV_HW_SPEC_BM( 5372, 1106, 0x00, ATA_SA300, "VIA 8237" , 0 | UNIATA_SATA ), 00998 PCI_DEV_HW_SPEC_BM( 7372, 1106, 0x00, ATA_SA300, "VIA 8237" , 0 | UNIATA_SATA ), 00999 //PCI_DEV_HW_SPEC_BM( 3349, 1106, 0x00, ATA_SA150, "VIA 8251" , VIAAHCI| UNIATA_SATA ), 01000 01001 PCI_DEV_HW_SPEC_BM( c693, 1080, 0x00, ATA_WDMA2, "Cypress 82C693" ,0 ), 01002 01003 /* 01004 PCI_DEV_HW_SPEC_BM( 4d68, 105a, 0, 0, "Promise TX2 ATA-100 controller", UNIATA_RAID_CONTROLLER), 01005 PCI_DEV_HW_SPEC_BM( 6268, 105a, 0, 0, "Promise TX2 ATA-100 controller", UNIATA_RAID_CONTROLLER), 01006 01007 PCI_DEV_HW_SPEC_BM( 4d69, 105a, 0, 0, "Promise TX2 ATA-133 controller", UNIATA_RAID_CONTROLLER), 01008 PCI_DEV_HW_SPEC_BM( 5275, 105a, 0, 0, "Promise TX2 ATA-133 controller", UNIATA_RAID_CONTROLLER), 01009 PCI_DEV_HW_SPEC_BM( 6269, 105a, 0, 0, "Promise TX2 ATA-133 controller", UNIATA_RAID_CONTROLLER), 01010 PCI_DEV_HW_SPEC_BM( 7275, 105a, 0, 0, "Promise TX2 ATA-133 controller", UNIATA_RAID_CONTROLLER), 01011 01012 PCI_DEV_HW_SPEC_BM( 4d33, 105a, 0, 0, "Promise Ultra/FastTrak-33 controller", UNIATA_RAID_CONTROLLER), 01013 01014 PCI_DEV_HW_SPEC_BM( 0d38, 105a, 0, 0, "Promise FastTrak 66 controller", 0), 01015 PCI_DEV_HW_SPEC_BM( 4d38, 105a, 0, 0, "Promise Ultra/FastTrak-66 controller", UNIATA_RAID_CONTROLLER), 01016 01017 PCI_DEV_HW_SPEC_BM( 4d30, 105a, 0, 0, "Promise Ultra/FastTrak-100 controller", UNIATA_RAID_CONTROLLER), 01018 PCI_DEV_HW_SPEC_BM( 0d30, 105a, 0, 0, "Promise OEM ATA-100 controllers", UNIATA_RAID_CONTROLLER), 01019 01020 PCI_DEV_HW_SPEC_BM( 0004, 1103, 0, 0, "HighPoint HPT366/368/370/372 controller", UNIATA_RAID_CONTROLLER), 01021 PCI_DEV_HW_SPEC_BM( 0005, 1103, 0, 0, "HighPoint HPT372 controller", UNIATA_RAID_CONTROLLER), 01022 PCI_DEV_HW_SPEC_BM( 0008, 1103, 0, 0, "HighPoint HPT374 controller", UNIATA_RAID_CONTROLLER), 01023 */ 01024 PCI_DEV_HW_SPEC_BM( 0001, 16ca, 0x00, ATA_WDMA2, "Cenatek Rocket Drive",0 ), 01025 01026 PCI_DEV_HW_SPEC_BM( 0102, 1078, 0x00, ATA_UDMA2, "Cyrix 5530" , 0 ), 01027 01028 PCI_DEV_HW_SPEC_BM( 0102, 1042, 0x00, ATA_PIO4, "RZ 100x" , 0 ), 01029 01030 PCI_DEV_HW_SPEC_BM( 8172, 1283, 0x00, ATA_UDMA2, "IT8172" , 0 ), 01031 PCI_DEV_HW_SPEC_BM( 8213, 1283, 0x00, ATA_UDMA6, "IT8213F" , ITE_133_NEW ), 01032 PCI_DEV_HW_SPEC_BM( 8212, 1283, 0x00, ATA_UDMA6, "IT8212F" , ITE_133 ), 01033 PCI_DEV_HW_SPEC_BM( 8211, 1283, 0x00, ATA_UDMA6, "IT8211F" , ITE_133 ), 01034 01035 PCI_DEV_HW_SPEC_BM( 0044, 169c, 0x00, ATA_UDMA2, "Netcell SR3000/5000", 0 ), 01036 01037 PCI_DEV_HW_SPEC_BM( 8013, 3388, 0x00, ATA_DMA, "HiNT VXII EIDE" , 0 ), 01038 01039 // Terminator 01040 PCI_DEV_HW_SPEC_BM( ffff, ffff, 0xff, BMLIST_TERMINATOR, NULL , BMLIST_TERMINATOR ) 01041 }; 01042 01043 #define NUM_BUSMASTER_ADAPTERS (sizeof(BusMasterAdapters) / sizeof(BUSMASTER_CONTROLLER_INFORMATION)) 01044 01045 /* 01046 Looks for device with specified Device/Vendor and Revision 01047 in specified device list and returnts its index. 01048 If no matching record found, -1 is returned 01049 */ 01050 __inline 01051 ULONG 01052 Ata_is_dev_listed( 01053 PBUSMASTER_CONTROLLER_INFORMATION BusMasterAdapters, 01054 ULONG VendorId, 01055 ULONG DeviceId, 01056 ULONG RevId, // min suitable revision 01057 ULONG lim 01058 ) 01059 { 01060 for(ULONG k=0; k<lim; k++) { 01061 if(BusMasterAdapters[k].nVendorId == 0xffff && 01062 BusMasterAdapters[k].nDeviceId == 0xffff && 01063 BusMasterAdapters[k].nRevId == 0xff) { 01064 if(lim != BMLIST_TERMINATOR) 01065 continue; 01066 return BMLIST_TERMINATOR; 01067 } 01068 if(BusMasterAdapters[k].nVendorId == VendorId && 01069 (BusMasterAdapters[k].nDeviceId == DeviceId || DeviceId == 0xffff) && 01070 (!RevId || BusMasterAdapters[k].nRevId <= RevId) ) 01071 return k; 01072 } 01073 return BMLIST_TERMINATOR; 01074 } 01075 01076 #define Ata_is_supported_dev(pciData) \ 01077 ((pciData)->BaseClass == PCI_DEV_CLASS_STORAGE && \ 01078 (pciData)->SubClass == PCI_DEV_SUBCLASS_IDE) 01079 01080 #define Ata_is_ahci_dev(pciData) \ 01081 ((pciData)->BaseClass == PCI_DEV_CLASS_STORAGE && \ 01082 (pciData)->SubClass == PCI_DEV_SUBCLASS_SATA && \ 01083 (pciData)->ProgIf == PCI_DEV_PROGIF_AHCI_1_0 && \ 01084 ((pciData)->u.type0.BaseAddresses[5] & ~0x7)) 01085 01086 01087 #endif //__IDE_BUSMASTER_H__ Generated on Sat May 26 2012 04:26:55 for ReactOS by
1.7.6.1
|