Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
2.9 KiB

  1. /*++
  2. Copyright (C) Microsoft Corporation, 1991 - 1999
  3. Module Name:
  4. disk.c
  5. Abstract:
  6. SCSI disk class driver
  7. Environment:
  8. kernel mode only
  9. Notes:
  10. Revision History:
  11. --*/
  12. #include "disk.h"
  13. #ifdef ALLOC_DATA_PRAGMA
  14. #pragma data_seg("PAGE")
  15. #endif
  16. /*
  17. #define HackDisableTaggedQueuing (0x01)
  18. #define HackDisableSynchronousTransfers (0x02)
  19. #define HackDisableSpinDown (0x04)
  20. #define HackDisableWriteCache (0x08)
  21. #define HackCauseNotReportableHack (0x10)
  22. #define HackRequiresStartUnitCommand (0x20)
  23. */
  24. CLASSPNP_SCAN_FOR_SPECIAL_INFO DiskBadControllers[] = {
  25. { "COMPAQ" , "PD-1" , NULL, 0x02 },
  26. { "CONNER" , "CP3500" , NULL, 0x02 },
  27. { "FUJITSU" , "M2652S-512" , NULL, 0x01 },
  28. { "HP ", "C1113F " , NULL, 0x20 },
  29. // iomegas require START_UNIT commands so be sure to match all of them.
  30. { "iomega" , "jaz" , NULL, 0x30 },
  31. { "iomega" , NULL , NULL, 0x20 },
  32. { "IOMEGA" , "ZIP" , NULL, 0x27 },
  33. { "IOMEGA" , NULL , NULL, 0x20 },
  34. { "MAXTOR" , "MXT-540SL" , "I1.2", 0x01 },
  35. { "MICROP" , "1936-21MW1002002" , NULL, 0x03 },
  36. { "OLIVETTI", "CP3500" , NULL, 0x02 },
  37. { "SEAGATE" , "ST41601N" , "0102", 0x02 },
  38. { "SEAGATE" , "ST3655N" , NULL, 0x08 },
  39. { "SEAGATE" , "ST3390N" , NULL, 0x08 },
  40. { "SEAGATE" , "ST12550N" , NULL, 0x08 },
  41. { "SEAGATE" , "ST32430N" , NULL, 0x08 },
  42. { "SEAGATE" , "ST31230N" , NULL, 0x08 },
  43. { "SEAGATE" , "ST15230N" , NULL, 0x08 },
  44. { "SyQuest" , "SQ5110" , "CHC", 0x03 },
  45. { "TOSHIBA" , "MK538FB" , "60", 0x01 },
  46. { NULL , NULL , NULL, 0x0 }
  47. };
  48. DISK_MEDIA_TYPES_LIST const DiskMediaTypes[] = {
  49. { "COMPAQ" , "PD-1 LF-1094" , NULL, 1, 1, PC_5_RW , 0 , 0 , 0 },
  50. { "HP" , NULL , NULL, 2, 2, MO_5_WO , MO_5_RW, 0 , 0 },
  51. { "iomega" , "jaz" , NULL, 1, 1, IOMEGA_JAZ , 0 , 0 , 0 },
  52. { "IOMEGA" , "ZIP" , NULL, 1, 1, IOMEGA_ZIP , 0 , 0 , 0 },
  53. { "PINNACLE", "Apex 4.6GB" , NULL, 3, 2, PINNACLE_APEX_5_RW, MO_5_RW, MO_5_WO, 0 },
  54. { "SONY" , "SMO-F541" , NULL, 2, 2, MO_5_WO , MO_5_RW, 0 , 0 },
  55. { "SONY" , "SMO-F551" , NULL, 2, 2, MO_5_WO , MO_5_RW, 0 , 0 },
  56. { NULL , NULL , NULL, 0, 0, 0 , 0 , 0 , 0 }
  57. };
  58. #ifdef ALLOC_DATA_PRAGMA
  59. #pragma data_seg()
  60. #endif