xref: /reactos/drivers/storage/class/disk/data.c (revision 98e8827a)
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