1 /*++ 2 3 Copyright (C) Microsoft Corporation, 1991 - 1999 4 5 Module Name: 6 7 disk.c 8 9 Abstract: 10 11 SCSI disk class driver 12 13 Environment: 14 15 kernel mode only 16 17 Notes: 18 19 Revision History: 20 21 --*/ 22 23 #include "disk.h" 24 25 #ifndef __REACTOS__ 26 #ifdef ALLOC_DATA_PRAGMA 27 #pragma data_seg("PAGE") 28 #endif 29 #endif 30 31 /* 32 #define HackDisableTaggedQueuing (0x01) 33 #define HackDisableSynchronousTransfers (0x02) 34 #define HackDisableSpinDown (0x04) 35 #define HackDisableWriteCache (0x08) 36 #define HackCauseNotReportableHack (0x10) 37 #define HackRequiresStartUnitCommand (0x20) 38 */ 39 #ifdef __REACTOS__ 40 DATA_SEG("PAGEDATA") 41 #endif 42 CLASSPNP_SCAN_FOR_SPECIAL_INFO DiskBadControllers[] = { 43 { "COMPAQ" , "PD-1" , NULL, 0x02 }, 44 { "CONNER" , "CP3500" , NULL, 0x02 }, 45 { "FUJITSU" , "M2652S-512" , NULL, 0x01 }, 46 { "HP ", "C1113F " , NULL, 0x20 }, 47 // iomegas require START_UNIT commands so be sure to match all of them. 48 { "iomega" , "jaz" , NULL, 0x30 }, 49 { "iomega" , NULL , NULL, 0x20 }, 50 { "IOMEGA" , "ZIP" , NULL, 0x27 }, 51 { "IOMEGA" , NULL , NULL, 0x20 }, 52 { "MAXTOR" , "MXT-540SL" , "I1.2", 0x01 }, 53 { "MICROP" , "1936-21MW1002002" , NULL, 0x03 }, 54 { "OLIVETTI", "CP3500" , NULL, 0x02 }, 55 { "SEAGATE" , "ST41601N" , "0102", 0x02 }, 56 { "SEAGATE" , "ST3655N" , NULL, 0x08 }, 57 { "SEAGATE" , "ST3390N" , NULL, 0x08 }, 58 { "SEAGATE" , "ST12550N" , NULL, 0x08 }, 59 { "SEAGATE" , "ST32430N" , NULL, 0x08 }, 60 { "SEAGATE" , "ST31230N" , NULL, 0x08 }, 61 { "SEAGATE" , "ST15230N" , NULL, 0x08 }, 62 { "SyQuest" , "SQ5110" , "CHC", 0x03 }, 63 { "TOSHIBA" , "MK538FB" , "60", 0x01 }, 64 { NULL , NULL , NULL, 0x0 } 65 }; 66 67 // ======== ROS DIFF ======== 68 // Added MediaTypes in their own brace nesting level 69 // ======== ROS DIFF ======== 70 71 #ifdef __REACTOS__ 72 DATA_SEG("PAGECONS") 73 #endif 74 DISK_MEDIA_TYPES_LIST const DiskMediaTypesExclude[] = { 75 { "HP" , "RDX" , NULL, 0, 0, {0 , 0 , 0 , 0 }}, 76 { NULL , NULL , NULL, 0, 0, {0 , 0 , 0 , 0 }} 77 }; 78 79 #ifdef __REACTOS__ 80 DATA_SEG("PAGECONS") 81 #endif 82 DISK_MEDIA_TYPES_LIST const DiskMediaTypes[] = { 83 { "COMPAQ" , "PD-1 LF-1094" , NULL, 1, 1, {PC_5_RW , 0 , 0 , 0 }}, 84 { "HP" , NULL , NULL, 2, 2, {MO_5_WO , MO_5_RW, 0 , 0 }}, 85 { "iomega" , "jaz" , NULL, 1, 1, {IOMEGA_JAZ , 0 , 0 , 0 }}, 86 { "IOMEGA" , "ZIP" , NULL, 1, 1, {IOMEGA_ZIP , 0 , 0 , 0 }}, 87 { "PINNACLE", "Apex 4.6GB" , NULL, 3, 2, {PINNACLE_APEX_5_RW, MO_5_RW, MO_5_WO, 0 }}, 88 { "SONY" , "SMO-F541" , NULL, 2, 2, {MO_5_WO , MO_5_RW, 0 , 0 }}, 89 { "SONY" , "SMO-F551" , NULL, 2, 2, {MO_5_WO , MO_5_RW, 0 , 0 }}, 90 { "SONY" , "SMO-F561" , NULL, 2, 2, {MO_5_WO , MO_5_RW, 0 , 0 }}, 91 { "Maxoptix", "T5-2600" , NULL, 2, 2, {MO_5_WO , MO_5_RW, 0 , 0 }}, 92 { "Maxoptix", "T6-5200" , NULL, 2, 2, {MO_5_WO , MO_5_RW, 0 , 0 }}, 93 { NULL , NULL , NULL, 0, 0, {0 , 0 , 0 , 0 }} 94 }; 95 96 #ifndef __REACTOS__ 97 #ifdef ALLOC_DATA_PRAGMA 98 #pragma data_seg() 99 #endif 100 #endif 101