; Copyright (c) Microsoft Corporation.  All rights reserved.

[Version]
Signature="$WINDOWS NT$"
Class=hdc
ClassGuid={4D36E96A-E325-11CE-BFC1-08002BE10318}
Provider=%MS%
DriverVer=06/21/2006,6.1.7601.17514

[SourceDisksNames]
3426=windows cd

[SourceDisksFiles]
msahci.sys 		= 3426
intelide.sys 	= 3426
cmdide.sys 		= 3426
viaide.sys 		= 3426
aliide.sys 		= 3426
amdide.sys	= 3426
storprop.dll 	= 3426
atapi.sys 		= 3426
ataport.sys 	= 3426
pciidex.sys 	= 3426
pciide.sys 		= 3426

[DestinationDirs]
DefaultDestDir = 12 ; DIRID_DRIVERS

[ControlFlags]
BasicDriverOk=*
ExcludeFromSelect=*

[Manufacturer]
%MS-Drivers%=MS_HDC,NTx86
%IODATA%=IODATA_HDC,NTx86
%ALI%=ALI_HDC,NTx86
%APPIAN%=APPIAN_HDC,NTx86
%CMD%=CMD_HDC,NTx86
%COMPAQ%=COMPAQ_HDC,NTx86
%INTEL%=INTEL_HDC,NTx86
%PCTECH%=PCTECH_HDC,NTx86
%SIS%=SIS_HDC,NTx86
%SYMPHONY%=SYMPHONY_HDC,NTx86
%VIA%=VIA_HDC,NTx86
%IBM%=IBM_HDC,NTx86
%LEXAR%=LEXAR_HDC,NTx86
%SONY%=SONY_HDC,NTx86
%SMSC%=SMSC_HDC,NTx86
%MICRON%=MICRON_HDC,NTx86
%SERVERWORKS%=SERVERWORKS_HDC,NTx86
%AMD%=AMD_HDC,NTx86
%NVIDIA%=NVIDIA_HDC,NTx86
%MS-AHCI%=AHCI_HDC,NTx86

[MS_HDC.NTx86]
%pcmcia.DeviceDesc%      = pcmcia_atapi_Inst, PCMCIA\*PNP0600  ; PCMCIA IDE Controller
%idechannel.DeviceDesc%  = atapi_Inst, Internal_IDE_Channel    ; IDE Channel
%idechannel.DeviceDesc%  = atapi_Inst, Primary_IDE_Channel     ; Primary IDE Channel
%idechannel.DeviceDesc%  = atapi_Inst, Secondary_IDE_Channel   ; Secondary IDE Channel
%PCI\CC_0101.DeviceDesc% = pciide_Inst, PCI\CC_0101            ; PCI IDE Controller

[IODATA_HDC.NTx86]
%PCMCIA\LOOKMEET-CBIDE2______-6C0A.DeviceDesc% = pcmcia_atapi_Inst, PCMCIA\LOOKMEET-CBIDE2______-6C0A 

[ALI_HDC.NTx86]
%PCI\VEN_10B9&DEV_5215.DeviceDesc%=pciide_Inst, PCI\VEN_10B9&DEV_5215  ; ALi
%PCI\VEN_10B9&DEV_5229.DeviceDesc%=aliide_Inst, PCI\VEN_10B9&DEV_5229  ; ALi

[APPIAN_HDC.NTx86]
%PCI\VEN_1097&DEV_0038.DeviceDesc%=pciide_Inst, PCI\VEN_1097&DEV_0038  

[CMD_HDC.NTx86]
%PCI\VEN_1095&DEV_0640.DeviceDesc%  = pciide_Inst, PCI\VEN_1095&DEV_0640       
%PCI\VEN_1095&DEV_0646.DeviceDesc%  = pciide_Inst, PCI\VEN_1095&DEV_0646      
%PCI\VEN_1095&DEV_0648.DeviceDesc%  = cmdide_Inst, PCI\VEN_1095&DEV_0648
%PCI\VEN_1095&DEV_0649.DeviceDesc%  = cmdide_Inst, PCI\VEN_1095&DEV_0649
%PCI\VEN_1095&DEV_0646U2.DeviceDesc%= cmdide_Inst, PCI\VEN_1095&DEV_0646&REV_05
%PCI\VEN_1095&DEV_0646U2.DeviceDesc%= cmdide_Inst, PCI\VEN_1095&DEV_0646&REV_07

[COMPAQ_HDC.NTx86]
%PCI\VEN_0E11&DEV_AE33.DeviceDesc%=pciide_Inst, PCI\VEN_0E11&DEV_AE33      

[INTEL_HDC.NTx86]
%PCI\VEN_8086&DEV_1222.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_1222     ; Intel PIIX  
%PCI\VEN_8086&DEV_1230.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_1230     ; Intel PIIX  
%PCI\VEN_8086&DEV_7010.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_7010     ; Intel PIIX3 
%PCI\VEN_8086&DEV_7111.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_7111     ; Intel PIIX4 
%PCI\VEN_8086&DEV_2411.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_2411     ; Intel ICH   
%PCI\VEN_8086&DEV_2421.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_2421     ; Intel ICH-0 
%PCI\VEN_8086&DEV_244A.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_244A     ; Intel ICH-2 
%PCI\VEN_8086&DEV_244B.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_244B     ; Intel ICH-2 
%PCI\VEN_8086&DEV_248A.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_248A     ; Intel ICH-3 
%PCI\VEN_8086&DEV_248B.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_248B     ; Intel ICH-3 
%PCI\VEN_8086&DEV_24C1.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_24C1     ; Intel ICH-4 
%PCI\VEN_8086&DEV_24CA.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_24CA     ; Intel ICH-4 
%PCI\VEN_8086&DEV_24CB.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_24CB     ; Intel ICH-4 
%PCI\VEN_8086&DEV_24D1.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_24D1     ; Intel ICH-5 
%PCI\VEN_8086&DEV_24DB.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_24DB     ; Intel ICH-5 
%PCI\VEN_8086&DEV_25A2.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_25A2     ; Intel ICH-5 
%PCI\VEN_8086&DEV_25A3.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_25A3     ; Intel ICH-5
%PCI\VEN_8086&DEV_2651.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_2651&CC_0101  ; Intel ICH-6
%PCI\VEN_8086&DEV_2652.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_2652&CC_0101  ; Intel ICH-6
%PCI\VEN_8086&DEV_2653.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_2653&CC_0101  ; Intel ICH-6
%PCI\VEN_8086&DEV_266F.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_266F     ; Intel ICH-6 
%PCI\VEN_8086&DEV_7199.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_7199     ; Intel 7199  (SINGLE)
%PCI\VEN_8086&DEV_7601.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_7601     ; Intel 7601  (IA64)
%PCI\VEN_8086&DEV_27C0.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_27C0          ; Intel ICH7 
%PCI\VEN_8086&DEV_27C4.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_27C4          ; Intel ICH7-M    
%PCI\VEN_8086&DEV_27DF.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_27DF          ; Intel ICH7
%PCI\VEN_8086&DEV_2820.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_2820         ; Intel ICH8 4 port
%PCI\VEN_8086&DEV_2825.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_2825         ; Intel ICH8 2 port
%PCI\VEN_8086&DEV_2828.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_2828         ; Intel ICH8 3 port
%PCI\VEN_8086&DEV_2850.DeviceDesc%=intelide_Inst, PCI\VEN_8086&DEV_2850         ; Intel ICH8

[AMD_HDC.NTx86]
%PCI\VEN_1022&DEV_7409.DeviceDesc%=amdide_Inst, PCI\VEN_1022&DEV_7409                 ; AMD
%PCI\VEN_1022&DEV_7411.DeviceDesc%=amdide_Inst, PCI\VEN_1022&DEV_7411                 ; AMD
%PCI\VEN_1022&DEV_7441.DeviceDesc%=amdide_Inst, PCI\VEN_1022&DEV_7441                 ; AMD
%PCI\VEN_1022&DEV_7469.DeviceDesc%=amdide_Inst, PCI\VEN_1022&DEV_7469                 ; AMD

[PCTECH_HDC.NTx86]
%PCI\VEN_1042&DEV_1000.DeviceDesc%=pciide_Inst, PCI\VEN_1042&DEV_1000       ; 

[SIS_HDC.NTx86]
%PCI\VEN_1039&DEV_0601.DeviceDesc%=pciide_Inst, PCI\VEN_1039&DEV_0601       ; 
%PCI\VEN_1039&DEV_5513.DeviceDesc%=pciide_Inst, PCI\VEN_1039&DEV_5513       ; 

[SYMPHONY_HDC.NTx86]
%PCI\VEN_10AD&DEV_0001.DeviceDesc%=pciide_Inst, PCI\VEN_10AD&DEV_0001       ; 
%PCI\VEN_10AD&DEV_0150.DeviceDesc%=pciide_Inst, PCI\VEN_10AD&DEV_0150       ; 

[VIA_HDC.NTx86]
%PCI\VEN_1106&DEV_0571.DeviceDesc%=viaide_Inst, PCI\VEN_1106&DEV_0571                  ; VIA All PATA
%PCI\VEN_1106&DEV_3149&CC_0101.DeviceDesc%=viaide_Inst, PCI\VEN_1106&DEV_3149&CC_0101  ; VIA VT8237
%PCI\VEN_1106&DEV_3349&CC_0101.DeviceDesc%=viaide_Inst, PCI\VEN_1106&DEV_3349&CC_0101  ; VIA VT8251 
%PCI\VEN_1106&DEV_5287.DeviceDesc%=viaide_Inst, PCI\VEN_1106&DEV_5287                  ; VIA VT8251
%PCI\VEN_1106&DEV_0581&CC_0101.DeviceDesc%=viaide_Inst, PCI\VEN_1106&DEV_0581&CC_0101  ; VIA CX700/VX700
%PCI\VEN_1106&DEV_5324.DeviceDesc%=viaide_Inst, PCI\VEN_1106&DEV_5324                  ; VIA CX700/VX700
%PCI\VEN_1106&DEV_0591&CC_0101.DeviceDesc%=viaide_Inst, PCI\VEN_1106&DEV_0591&CC_0101  ; VIA VT8237A
%PCI\VEN_1106&DEV_5337.DeviceDesc%=viaide_Inst, PCI\VEN_1106&DEV_5337                  ; VIA VT8237A 
%PCI\VEN_1106&DEV_3164&CC_0101.DeviceDesc%=viaide_Inst, PCI\VEN_1106&DEV_3164&CC_0101  ; VIA VT6410

[IBM_HDC.NTx86]
%PCMCIA\IBM-MICRODRIVE-7F50.DeviceDesc%=pcmcia_atapi_Inst, PCMCIA\IBM-MICRODRIVE-7F50 ; IBM Micro Drive
%PCMCIA\IBM-MICRODRIVE-AA55.DeviceDesc%=pcmcia_atapi_Inst, PCMCIA\IBM-MICRODRIVE-AA55 ; IBM Micro Drive

[SERVERWORKS_HDC.NTx86]
%PCI\VEN_1166&DEV_0211.DeviceDesc%=serverworks_Inst, PCI\VEN_1166&DEV_0211       
%PCI\VEN_1166&DEV_0212&SUBSYS_02121166.DeviceDesc%=serverworks_Inst, PCI\VEN_1166&DEV_0212&SUBSYS_02121166 

[LEXAR_HDC.NTx86]
%LEXAR.DeviceDesc%=pcmcia_atapi_Inst, PCMCIA\CL_ATA_FLASH_CARD_LEXAR__-HURRIC_-172F
%LEXAR.DeviceDesc%=pcmcia_atapi_Inst, PCMCIA\CL_ATA_FLASH_CARD_LEXAR__-TIDALWV-0E97
%LEXAR.DeviceDesc%=pcmcia_atapi_Inst, PCMCIA\____CL_ATA_FLASH_CARD_LEXAR__-HURRIC_-DC37
%LEXAR.DeviceDesc%=pcmcia_atapi_Inst, PCMCIA\CL_ATA_FLASH_CARD_LEXAR__-TORNADO-29EC
%LEXAR.DeviceDesc%=pcmcia_atapi_Inst, PCMCIA\CL_ATA_FLASH_CARD_LEXAR__-TIDALWV-FD21
%LEXAR.DeviceDesc%=pcmcia_atapi_Inst, PCMCIA\LEXARMEDIA_ATA_FLASH_CARD-HUR_HP_-0623

[SONY_HDC.NTx86]
%PCMCIA\SONY-MEMORYSTICK.DeviceDesc%=pcmcia_atapi_Inst,PCMCIA\SONY-MEMORYSTICK(__4M)-E637
%PCMCIA\SONY-MEMORYSTICK.DeviceDesc%=pcmcia_atapi_Inst,PCMCIA\SONY-MEMORYSTICK(__8M)-9EB3
%PCMCIA\SONY-MEMORYSTICK.DeviceDesc%=pcmcia_atapi_Inst,PCMCIA\SONY-MEMORYSTICK(_16M)-D04D
%PCMCIA\SONY-MEMORYSTICK.DeviceDesc%=pcmcia_atapi_Inst,PCMCIA\SONY-MEMORYSTICK(_32M)-1766
%PCMCIA\SONY-MEMORYSTICK.DeviceDesc%=pcmcia_atapi_Inst,PCMCIA\SONY-MEMORYSTICK(_64M)-8C2C

[SMSC_HDC.NTx86]
%PCI\VEN_1055&DEV_9130.DeviceDesc%=pciide_inst, PCI\VEN_1055&DEV_9130 

[MICRON_HDC.NTx86]
%PCMCIA\MICRON-MTCF.DeviceDesc%=pcmcia_atapi_Inst, PCMCIA\MICRON-MTCF____-392D

[NVIDIA_HDC.NTx86]
%PCI\VEN_10DE&DEV_00E3.DeviceDesc%=pciide_Inst, PCI\VEN_10DE&DEV_00E3 ; NVIDIA
%PCI\VEN_10DE&DEV_00E5.DeviceDesc%=pciide_Inst, PCI\VEN_10DE&DEV_00E5 ; NVIDIA
%PCI\VEN_10DE&DEV_00EE.DeviceDesc%=pciide_Inst, PCI\VEN_10DE&DEV_00EE ; NVIDIA

[AHCI_HDC.NTx86]
%PCI\CC_010601.DeviceDesc%=msahci_Inst, PCI\CC_010601; AHCI Standard Controller

[atapi_copyfiles]
atapi.sys,,,0x100
ataport.sys,,,0x100

[pciidex_copyfiles]
pciidex.sys,,,0x100
atapi.sys,,,0x100
ataport.sys,,,0x100

;*******************************************************
; Channel driver (atapi.sys) for pcmcia ide controllers
[pcmcia_atapi_Inst]
CopyFiles = atapi_copyfiles
LogConfig = esdilc1, esdilc2, esdilc3, esdilc4
AddReg = atapi_property_provider_AddReg

[pcmcia_atapi_Inst.Services]
AddService = atapi, %SPSVCINST_ASSOCSERVICE%, atapi_Service_Inst, atapi_EventLog_Inst

[pcmcia_atapi_Inst.HW]
AddReg = atapi_interrupt_priority_AddReg

;****************************************************
; Channel driver (atapi.sys) for pci ide controllers
[atapi_Inst]
CopyFiles = atapi_copyfiles
LogConfig = esdilc1, esdilc2, esdilc3, esdilc4
AddReg = atapi_property_provider_AddReg

[atapi_Inst.Services]
AddService = atapi, %SPSVCINST_ASSOCSERVICE%, atapi_Service_Inst, atapi_EventLog_Inst

[atapi_Inst.HW]
AddReg = atapi_interrupt_priority_AddReg

[atapi_Inst.CoInstallers]
AddReg=CoInstaller_AddReg

[CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000,"storprop.dll,HdcCoInstaller"

;*************************************************************
; atapi Service
[atapi_Service_Inst]
DisplayName    = %idechannel.DeviceDesc%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_CRITICAL%
ServiceBinary  = %12%\atapi.sys
LoadOrderGroup = SCSI Miniport

[atapi_EventLog_Inst]
AddReg = atapi_EventLog_AddReg

;*********************
; Add reg for atapi

[atapi_interrupt_priority_AddReg]
HKR,"Interrupt Management",,0x00000010
HKR,"Interrupt Management\Affinity Policy",,0x00000010
HKR,"Interrupt Management\Affinity Policy","DevicePriority",0x00010003,3

[atapi_property_provider_AddReg]
HKR,,EnumPropPages32,,"storprop.dll,AtaPropPageProvider"

[atapi_EventLog_AddReg]
HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll"
HKR,,TypesSupported,%REG_DWORD%,7

[esdilc1]
ConfigPriority=HARDWIRED
IOConfig=1f0-1f7(3ff::)
IOConfig=3f6-3f6(3ff::)
IRQConfig=14

[esdilc2]
ConfigPriority=HARDWIRED
IOConfig=170-177(3ff::)
IOConfig=376-376(3ff::)
IRQConfig=15

[esdilc3]
ConfigPriority=HARDWIRED
IOConfig=1e8-1ef(3ff::)
IOConfig=3ee-3ee(3ff::)
IRQConfig=11

[esdilc4]
ConfigPriority=HARDWIRED
IOConfig=168-16f(3ff::)
IOConfig=36e-36e(3ff::)
IRQConfig=10

;****************************************************
; Generic AHCI Controller
[msahci_Inst]
CopyFiles = @msahci.sys, pciidex_copyfiles
AddPowerSetting=AhciPowerSetting1,AhciPowerSetting2
; Exclude Toshiba RAID controllers
ExcludeId = PCI\VEN_8086&DEV_2653&SUBSYS_0F001179
ExcludeId = PCI\VEN_8086&DEV_2653&SUBSYS_0F101179
ExcludeId = PCI\VEN_8086&DEV_27C5&SUBSYS_0F001179
ExcludeId = PCI\VEN_8086&DEV_27C5&SUBSYS_0F101179
ExcludeId = PCI\VEN_8086&DEV_27C5&SUBSYS_0F031179
ExcludeId = PCI\VEN_8086&DEV_27C5&SUBSYS_0F131179
ExcludeId = PCI\VEN_8086&DEV_27C5&SUBSYS_FF011179
ExcludeId = PCI\VEN_8086&DEV_2829&SUBSYS_0F031179
ExcludeId = PCI\VEN_8086&DEV_2829&SUBSYS_0F131179
ExcludeId = PCI\VEN_8086&DEV_2829&SUBSYS_FF011179
ExcludeId = PCI\VEN_8086&DEV_2829&SUBSYS_FF021179
ExcludeId = PCI\VEN_8086&DEV_2829&SUBSYS_FF031179
ExcludeId = PCI\VEN_8086&DEV_2829&SUBSYS_FF041179
ExcludeId = PCI\VEN_8086&DEV_2829&SUBSYS_FF111179
ExcludeId = PCI\VEN_8086&DEV_2829&SUBSYS_FF121179
ExcludeId = PCI\VEN_8086&DEV_2829&SUBSYS_FF131179
ExcludeId = PCI\VEN_8086&DEV_2829&SUBSYS_FF141179
ExcludeId = PCI\VEN_8086&DEV_2829&SUBSYS_FF311179
ExcludeId = PCI\VEN_8086&DEV_2829&SUBSYS_FF321179
ExcludeId = PCI\VEN_8086&DEV_2829&SUBSYS_FF331179
ExcludeId = PCI\VEN_8086&DEV_2829&SUBSYS_FF341179

[AhciPowerSetting1]
Subgroup = {0012ee47-9041-4b5d-9b77-535fba8b1442}
; LPM: Partial - 10us resume time on IO; Slumber - 10ms resume time on IO

;****** HIPM settings 
Setting =  {0b2d69d7-a2a1-449c-9680-f91c70521c60}, "AHCI Link Power Management - HIPM/DIPM", "Configures the LPM state.",,0x00000001

Value = 0, "Active", "Neither Host or Device initiated allowed", 0x00010001, 0
Value = 1, "HIPM", "Host initiated allowed only", 0x00010001, 1
Value = 2, "HIPM+DIPM", "Both Host and Device initiated allowed", 0x00010001, 3 

; High Performance
Default = {8C5E7FDA-E8BF-4A96-9A85-A6E23A8C635C}, 0, 0
Default = {8C5E7FDA-E8BF-4A96-9A85-A6E23A8C635C}, 1, 1
; Balanced
Default = {381B4222-F694-41F0-9685-FF5BB260DF2E}, 0, 1
Default = {381B4222-F694-41F0-9685-FF5BB260DF2E}, 1, 1
; Power Saving
Default = {A1841308-3541-4FAB-BC81-F71556F20B4A}, 0, 2
Default = {A1841308-3541-4FAB-BC81-F71556F20B4A}, 1, 2

[AhciPowerSetting2]
Subgroup = {0012ee47-9041-4b5d-9b77-535fba8b1442}
; LPM: Partial - 10us resume time on IO; Slumber - 10ms resume time on IO

;****** Partial to Slumber settings (ms)
Setting =  {DAB60367-53FE-4fbc-825E-521D069D2456}, "AHCI Link Power Management - Adaptive", "Automatically transit from Partial to Slumber.",,0x00000001
; range 0 to 5 minutes (unit: ms)
ValueRange = 0, 300000, 1, "millisecond"

; High Performance
Default = {8C5E7FDA-E8BF-4A96-9A85-A6E23A8C635C}, 0, 0
Default = {8C5E7FDA-E8BF-4A96-9A85-A6E23A8C635C}, 1, 0
; Balanced
Default = {381B4222-F694-41F0-9685-FF5BB260DF2E}, 0, 100
Default = {381B4222-F694-41F0-9685-FF5BB260DF2E}, 1, 100
; Power Saving
Default = {A1841308-3541-4FAB-BC81-F71556F20B4A}, 0, 100
Default = {A1841308-3541-4FAB-BC81-F71556F20B4A}, 1, 100


[msahci_Inst.Services]
AddService = msahci, %SPSVCINST_ASSOCSERVICE%, msahci_Service_Inst
AddService = atapi,,atapi_Service_Inst, atapi_EventLog_Inst

[msahci_Service_Inst]
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_CRITICAL%
ServiceBinary  = %12%\msahci.sys
LoadOrderGroup = SCSI Miniport

;****************************************************
; Generic PCI IDE Controller 
[pciide_Inst]
CopyFiles = PciIde_CopyFiles, pciidex_copyfiles

[pciide_Inst.Services]
AddService = pciide, %SPSVCINST_ASSOCSERVICE%, pciide_Service_Inst

[pciide_Service_Inst]
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_CRITICAL%
ServiceBinary  = %12%\pciide.sys
LoadOrderGroup = System Bus Extender

;**********************************************************
; Intel PCI IDE Controller 
[intelide_Inst]
CopyFiles = @intelide.sys, pciidex_copyfiles
AddReg = intelChannelEnableCheck_AddReg.HW

[intelide_Inst.Services]
AddService = intelide, %SPSVCINST_ASSOCSERVICE%, intelide_Service_Inst

[intelide_Service_Inst]
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_CRITICAL%
ServiceBinary  = %12%\intelide.sys
LoadOrderGroup = System Bus Extender

[intelChannelEnableCheck_AddReg.HW]
HKR,Channel0,ChannelStateMask,%REG_DWORD%,0x00000080
HKR,Channel0,ChannelStateOffset,%REG_DWORD%,0x00000041
HKR,Channel1,ChannelStateMask,%REG_DWORD%,0x00000080
HKR,Channel1,ChannelStateOffset,%REG_DWORD%,0x00000043

;**********************************************************
; SERVER WORKS PCI IDE Controller 
[serverworks_Inst]
CopyFiles = PciIde_CopyFiles, pciidex_copyfiles

[PciIde_CopyFiles]
pciide.sys,,,0x100

[serverworks_Inst.Services]
AddService = pciide, %SPSVCINST_ASSOCSERVICE%, pciide_Service_Inst

;********************************************************
; CMD PCI IDE CONTROLLER
[cmdide_inst]
CopyFiles = @cmdide.sys, pciidex_copyfiles

[cmdide_Inst.Services]
AddService = cmdide, %SPSVCINST_ASSOCSERVICE%, cmdide_Service_Inst

[cmdide_Service_Inst]
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_CRITICAL%
ServiceBinary  = %12%\cmdide.sys
LoadOrderGroup = System Bus Extender

;********************************************************
; VIA PCI IDE CONTROLLER
[viaide_inst]
CopyFiles = @viaide.sys, pciidex_copyfiles

[viaide_Inst.Services]
AddService = viaide, %SPSVCINST_ASSOCSERVICE%, viaide_Service_Inst

[viaide_Service_Inst]
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_CRITICAL%
ServiceBinary  = %12%\viaide.sys
LoadOrderGroup = System Bus Extender

;****************************************************
; ALI IDE Controller 
[aliide_Inst]
CopyFiles = @aliide.sys, pciidex_copyfiles

[aliide_Inst.Services]
AddService = aliide, %SPSVCINST_ASSOCSERVICE%, aliide_Service_Inst

[aliide_Service_Inst]
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_CRITICAL%
ServiceBinary  = %12%\aliide.sys
LoadOrderGroup = System Bus Extender

;****************************************************
; AMD IDE Controller 
[amdide_Inst]
CopyFiles = @amdide.sys, pciidex_copyfiles

[amdide_Inst.Services]
AddService = amdide, %SPSVCINST_ASSOCSERVICE%, amdide_Service_Inst

[amdide_Service_Inst]
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_CRITICAL%
ServiceBinary  = %12%\amdide.sys
LoadOrderGroup = System Bus Extender

;********************************************************
; Extra Registry Entries

[Strings]
;Localizable
*PNP0600.DeviceDesc     = "Standard IDE/ESDI Hard Disk Controller"
MS                      = "Microsoft"
MS-Drivers              = "(Standard IDE ATA/ATAPI controllers)"
idechannel.DeviceDesc   = "IDE Channel"
PCI\CC_0101.DeviceDesc  = "Standard Dual Channel PCI IDE Controller"
IODATA = "I-O DATA DEVICE,INC."
PCMCIA\LOOKMEET-CBIDE2______-6C0A.DeviceDesc = "CBIDE2-LM DuoATA Card (16Bit Mode)"
ALI="ULi Electronics Inc."
PCI\VEN_10B9&DEV_5215.DeviceDesc="ULi PCI IDE Controller"
PCI\VEN_10B9&DEV_5219.DeviceDesc="ULi M5219 PCI Bus Master IDE Controller"
PCI\VEN_10B9&DEV_5229.DeviceDesc="ULi M5229 PCI Bus Master IDE Controller"
APPIAN="Appian Technology"
PCI\VEN_1097&DEV_0038.DeviceDesc="Appian PCI IDE Controller"
CMD="CMD Technology"
PCI\VEN_1095&DEV_0640.DeviceDesc="CMD PCI-0640 PCI to IDE Controller"
PCI\VEN_1095&DEV_0643.DeviceDesc="CMD PCI-0643 PCI to IDE Controller"
PCI\VEN_1095&DEV_0646.DeviceDesc="CMD PCI-0646 Bus Master PCI to IDE Controller"
PCI\VEN_1095&DEV_0646U2.DeviceDesc="CMD PCI-0646U2 Ultra DMA IDE Controller"
PCI\VEN_1095&DEV_0648.DeviceDesc="CMD PCI-0648 Ultra DMA IDE Controller"
PCI\VEN_1095&DEV_0649.DeviceDesc="CMD PCI-0649 Ultra DMA IDE Controller"
COMPAQ="Compaq"
PCI\VEN_0E11&DEV_AE33.DeviceDesc="Compaq PCI IDE Controller"
SERVERWORKS="ServerWorks"
PCI\VEN_1166&DEV_0211.DeviceDesc="OSB4 IDE Controller"
PCI\VEN_1166&DEV_0212&SUBSYS_02121166.DeviceDesc="CSB5 IDE Controller"
INTEL="Intel"
PCI\VEN_8086&DEV_1222.DeviceDesc="Intel(R) 82092AA PCI IDE Controller"
PCI\VEN_8086&DEV_1230.DeviceDesc="Intel(R) 82371FB PCI Bus Master IDE Controller"
PCI\VEN_8086&DEV_7010.DeviceDesc="Intel(R) 82371SB PCI Bus Master IDE Controller"
PCI\VEN_8086&DEV_7111.DeviceDesc="Intel(R) 82371AB/EB PCI Bus Master IDE Controller"
PCI\VEN_8086&DEV_2411.DeviceDesc="Intel(R) 82801AA Bus Master IDE Controller"
PCI\VEN_8086&DEV_2421.DeviceDesc="Intel(R) 82801AB Bus Master IDE Controller"
PCI\VEN_8086&DEV_7199.DeviceDesc="Intel(R) 82440MX Bus Master IDE Controller"
PCI\VEN_8086&DEV_244A.DeviceDesc="Intel(R) 82801BAM Ultra ATA Storage Controller - 244A"
PCI\VEN_8086&DEV_244B.DeviceDesc="Intel(R) 82801BA Ultra ATA Storage Controller - 244B"
PCI\VEN_8086&DEV_248A.DeviceDesc="Intel(R) 82801CAM Ultra ATA Storage Controller-248A"
PCI\VEN_8086&DEV_248B.DeviceDesc="Intel(R) 82801CA Ultra ATA Storage Controller-248B"
PCI\VEN_8086&DEV_24C1.DeviceDesc="Intel(R) 82801DBM Ultra ATA Storage Controller - 24C1"
PCI\VEN_8086&DEV_24CA.DeviceDesc="Intel(R) 82801DBM Ultra ATA Storage Controller - 24CA"
PCI\VEN_8086&DEV_24CB.DeviceDesc="Intel(R) 82801DB Ultra ATA Storage Controller-24CB"
PCI\VEN_8086&DEV_24D1.DeviceDesc="Intel(R) 82801EB Ultra ATA Storage Controllers - 24D1"
PCI\VEN_8086&DEV_24DB.DeviceDesc="Intel(R) 82801EB Ultra ATA Storage Controllers - 24DB"
PCI\VEN_8086&DEV_25A2.DeviceDesc="Intel(R) 6300ESB Ultra ATA Storage Controller - 25A2"
PCI\VEN_8086&DEV_25A3.DeviceDesc="Intel(R) 6300ESB Ultra ATA Storage/SATA Controller - 25A3" 
PCI\VEN_8086&DEV_2651.DeviceDesc="Intel(R) 82801FB Ultra ATA Storage Controllers - 2651"
PCI\VEN_8086&DEV_2652.DeviceDesc="Intel(R) 82801FB Ultra ATA Storage Controllers - 2652"
PCI\VEN_8086&DEV_2653.DeviceDesc="Intel(R) 82801FBM Ultra ATA Storage Controllers - 2653"
PCI\VEN_8086&DEV_266F.DeviceDesc="Intel(R) 82801FB/FBM Ultra ATA Storage Controllers - 266F"
PCI\VEN_8086&DEV_7601.DeviceDesc="Intel(R) IA64 Bus Master IDE Controller"
PCI\VEN_8086&DEV_27C0.DeviceDesc="Intel(R) 82801GB/GR/GH (ICH7 Family) Serial ATA Storage Controller - 27C0"
PCI\VEN_8086&DEV_27C4.DeviceDesc="Intel(R) 82801GBM/GHM (ICH7-M Family) Serial ATA Storage Controller - 27C4"
PCI\VEN_8086&DEV_27DF.DeviceDesc="Intel(R) 82801G (ICH7 Family) Ultra ATA Storage Controllers - 27DF"
PCI\VEN_8086&DEV_2820.DeviceDesc="Intel(R) ICH8 4 port Serial ATA Storage Controller - 2820"
PCI\VEN_8086&DEV_2825.DeviceDesc="Intel(R) ICH8 2 port Serial ATA Storage Controller - 2825"
PCI\VEN_8086&DEV_2828.DeviceDesc="Intel(R) ICH8M 3 port Serial ATA Storage Controller - 2828"
PCI\VEN_8086&DEV_2850.DeviceDesc="Intel(R) ICH8M Ultra ATA Storage Controllers - 2850"

AMD="Advanced Micro Devices"
PCI\VEN_1022&DEV_7409.DeviceDesc="AMD-756 PCI Bus Master IDE Controller"
PCI\VEN_1022&DEV_7411.DeviceDesc="AMD-766 PCI Bus Master IDE Controller"
PCI\VEN_1022&DEV_7441.DeviceDesc="AMD-768 PCI Bus Master IDE Controller"
PCI\VEN_1022&DEV_7469.DeviceDesc="AMD-8111 PCI Bus Master IDE Controller"

PCTECH="PC Technology"
PCI\VEN_1042&DEV_1000.DeviceDesc="PC Tech PCI IDE Single or Dual Port Controller"
SIS="Silicon Integrated System"
PCI\VEN_1039&DEV_0601.DeviceDesc="SiS PCI IDE Controller"
PCI\VEN_1039&DEV_5513.DeviceDesc="SiS PCI IDE Controller"
SYMPHONY="Symphony Labs"
PCI\VEN_10AD&DEV_0001.DeviceDesc="Symphony PCI IDE Controller"
PCI\VEN_10AD&DEV_0150.DeviceDesc="Symphony PCI IDE Controller"

MS-AHCI="Standard AHCI 1.0 Serial ATA Controller"
PCI\CC_010601.DeviceDesc  = "Standard AHCI 1.0 Serial ATA Controller"

VIA="VIA Technologies, Inc."
PCI\VEN_1106&DEV_0571.DeviceDesc="VIA Bus Master IDE Controller - 0571"
PCI\VEN_1106&DEV_3149&CC_0101.DeviceDesc="VIA Serial ATA Controller - 3149"
PCI\VEN_1106&DEV_0581&CC_0101.DeviceDesc="VIA Serial ATA Controller - 0581"
PCI\VEN_1106&DEV_5324.DeviceDesc="VIA Bus Master IDE Controller - 5324"
PCI\VEN_1106&DEV_0591&CC_0101.DeviceDesc="VIA Serial ATA Controller - 0591"
PCI\VEN_1106&DEV_5337.DeviceDesc="VIA Serial ATA Controller - 5337"
PCI\VEN_1106&DEV_3349&CC_0101.DeviceDesc="VIA Serial ATA Controller - 3349"
PCI\VEN_1106&DEV_5287.DeviceDesc="VIA Serial ATA Controller - 5287"
PCI\VEN_1106&DEV_6287.DeviceDesc="VIA AHCI Serial ATA Controller - 6287"
PCI\VEN_1106&DEV_3164&CC_0101.DeviceDesc="VIA Bus Master IDE Controller - 3164"

IBM="IBM"
PCMCIA\IBM-MICRODRIVE-7F50.DeviceDesc="IBM Microdrive"
PCMCIA\IBM-MICRODRIVE-AA55.DeviceDesc="IBM Microdrive"
SONY="SONY"
PCMCIA\SONY-MEMORYSTICK.DeviceDesc="Sony Memory Stick" 
LEXAR="Lexar Microsystems"
LEXAR.DeviceDesc="Lexar Media Digital Film Card"
SMSC="Standard Microsystems Corp"
PCI\VEN_1055&DEV_9130.DeviceDesc="SMSC SLC90E66 PCI Bus Master IDE Controller"
MICRON="Micron"
PCMCIA\Micron-MTCF.DeviceDesc="Micron ATA Flash Card"
NVIDIA="NVIDIA"
PCI\VEN_10DE&DEV_00E3.DeviceDesc="NVIDIA nForce3 250 Serial ATA Controller"
PCI\VEN_10DE&DEV_00E5.DeviceDesc="NVIDIA nForce3 250 Parallel ATA Controller"
PCI\VEN_10DE&DEV_00EE.DeviceDesc="NVIDIA nForce3 250 Serial ATA Controller"

pcmcia.DeviceDesc               = "PCMCIA IDE/ATAPI Controller"

;*******************************************
;Non-localizable, Handy macro substitutions
SPSVCINST_ASSOCSERVICE = 0x00000002
SERVICE_KERNEL_DRIVER  = 1
SERVICE_BOOT_START     = 0
SERVICE_ERROR_NORMAL   = 1
SERVICE_ERROR_CRITICAL = 3
REG_EXPAND_SZ          = 0x00020000
REG_DWORD              = 0x00010001
REG_MULTI_SZ           = 0x00010000

