;
; perc2.inf for Dell PERC RAID controllers.
; This INF installs the miniport, filter, and coinstaller.
;
; Copyright 2003 Adaptec, Inc. All rights reserved.
;
; This software contains the valuable trade secrets of Adaptec or its licensors.
; The software is protected under international copyright laws and treaties.
; This software may only be used in accordance with the terms of its accompanying license agreement.
;

[Version]
Signature = "$Windows NT$"
Class = SCSIAdapter
ClassGUID = {4d36e97b-e325-11ce-bfc1-08002be10318}
Provider = %ADPT%
CatalogFile = perc2.cat
DriverVer=02/25/2004, 2.8.0.6085

[ControlFlags]
ExcludeFromSelect = *

[SourceDisksNames]
1 = %disk1%, raidisk1,

[SourceDisksFiles]
perc2.sys = 1
perc2evt.exe = 1
perc2cin.dll = 1

[perc2DriverFiles]
perc2.sys, perc2.sys, nperc2.sys, 0x00000000

[perc2EvtFiles]
perc2evt.exe, perc2evt.exe, nperc2evt.exe, 0x00000000

[perc2CoInstFiles]
perc2cin.dll, perc2cin.dll, nperc2cin.dll, 0x00000000

[DestinationDirs]
perc2EvtFiles = 11
perc2CoInstFiles = 11
DefaultDestDir = 12



; ===============================================================
; =================== Table of contents =========================
; ===============================================================
[Manufacturer]
%ADPT% = ADPT


;------------------------;
; Windows 2000 and above ;
;------------------------;
[ADPT]
;
; AdvancedRAID devices
;
%perc2.DeviceDesc% = perc2AR_Inst, PCI\VEN_1011&DEV_0046&SUBSYS_13649005

;
; RAIDpoint devices
;
%perc2si.DeviceDesc% = perc2_Inst, PCI\VEN_1028&DEV_0001&SUBSYS_00011028

;
; RAIDpoint devices using Gatling technology
;
%perc3si.DeviceDesc% = perc2_Inst, PCI\VEN_1028&DEV_0003&SUBSYS_00031028

%perc3di.DeviceDesc% = perc2_Inst, PCI\VEN_1028&DEV_0002&SUBSYS_00021028
%perc3di.DeviceDesc% = perc2_Inst, PCI\VEN_1028&DEV_0002&SUBSYS_00D11028
%perc3di.DeviceDesc% = perc2_Inst, PCI\VEN_1028&DEV_0002&SUBSYS_00D91028
%perc3di.DeviceDesc% = perc2_Inst, PCI\VEN_1028&DEV_000A&SUBSYS_01061028
%perc3di.DeviceDesc% = perc2_Inst, PCI\VEN_1028&DEV_000A&SUBSYS_011B1028
%perc3di.DeviceDesc% = perc2_Inst, PCI\VEN_1028&DEV_000A&SUBSYS_01211028

;
; RAIDpoint (SCSI chip in RAID mode)
;
%perc2gatscsi.DeviceDesc% = perc2_Inst, PCI\VEN_9005&DEV_00C5&SUBSYS_00C51028



; ==============================================================
; =================== Install Sections =========================
; ==============================================================

;-------------------------------------------;
; Install section for the Scsiport miniport ;
;-------------------------------------------;

[perc2_Inst.NT]
CopyFiles = perc2DriverFiles, perc2EvtFiles
CopyINF = perc2mgt.inf
DelFiles = OldDeviceDriverFiles, HibFilterDriverFile
DelReg = OldDeviceDriverReg

[perc2_Inst.NT.HW]
DelReg = LegacyScsiportValues, RemoveHibernationLowerFilter

[perc2_Inst.NT.Services]
AddService = perc2, %SPSVCINST_ASSOCSERVICE%, perc2_Service_Inst, Miniport_EventLog_Inst
DelService = perc2evt
DelService = perc2hib

[perc2_Inst.NT.CoInstallers]
CopyFiles = perc2CoInstFiles
AddReg = perc2_CoInstallers_AddReg



[perc2AR_Inst.NT]
CopyFiles = perc2DriverFiles, perc2EvtFiles
CopyINF = perc2mgt.inf
DelFiles = OldDeviceDriverFiles
DelReg = OldDeviceDriverReg

[perc2AR_Inst.NT.HW]
DelReg = LegacyScsiportValues

[perc2AR_Inst.NT.Services]
AddService = perc2, %SPSVCINST_ASSOCSERVICE%, perc2_Service_Inst, Miniport_EventLog_Inst
DelService = perc2evt

[perc2AR_Inst.NT.CoInstallers]
CopyFiles = perc2CoInstFiles
AddReg = perc2_CoInstallers_AddReg



; ==============================================================
; ================== Service install sections ==================
; ==============================================================

[perc2_Service_Inst]
DisplayName    = %perc2_ServiceName%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\perc2.sys
LoadOrderGroup = SCSI miniport
AddReg         = perc2_Parameters_Inst

[perc2evt_Service_Inst]
DisplayName    = %perc2evt_ServiceName%
Description    = %perc2evt_ServiceDesc%
ServiceType    = %SERVICE_WIN32_OWN_PROCESS%
StartType      = %SERVICE_AUTO_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %11%\perc2evt.exe -d perc2
Dependencies   = WinMgmt,RasMan,Eventlog



; =======================================================
; ================== Registry sections ==================
; =======================================================

;-----------------------------------------------------------;
; Coinstaller registry additions (same one for all drivers) ;
;-----------------------------------------------------------;
[perc2_CoInstallers_AddReg]
HKR,,CoInstallers32, %FLG_ADDREG_TYPE_MULTI_SZ%, "perc2cin.dll, XxxCoInstaller"

;------------------------------;
; Event log registry additions ;
;------------------------------;
[Miniport_EventLog_Inst]
AddReg = Miniport_EventLog_AddReg, Driver_Info_AddReg

[Miniport_EventLog_AddReg]
HKR,,EventMessageFile, %FLG_ADDREG_TYPE_EXPAND_SZ%, "%11%\IoLogMsg.dll;%11%\perc2evt.exe"
HKR,,TypesSupported, %FLG_ADDREG_TYPE_REG_DWORD%, 7

[perc2evt_EventLog_Inst]
AddReg = perc2evt_EventLog_AddReg

[perc2evt_EventLog_AddReg]
HKR,,EventMessageFile, %FLG_ADDREG_TYPE_EXPAND_SZ%, "%11%\perc2evt.exe"
HKR,,TypesSupported, %FLG_ADDREG_TYPE_REG_DWORD%, 7

;----------------------------------------------------------------;
; Hardware-specific registry additions (under Parameters subkey) ;
;----------------------------------------------------------------;
[perc2_Parameters_Inst]
HKR,"Parameters\PnpInterface", "5", %FLG_ADDREG_TYPE_REG_DWORD%, 1
HKR,"Parameters\Device", "NumberOfRequests", %FLG_ADDREG_TYPE_REG_DWORD%, 254
HKR,"Parameters\Device", "UncachedExtAlignment", 0x00010001, 14

;------------------------------------------;
; Registry keys to add in support for Dell ;
;------------------------------------------;
[Driver_Info_AddReg]
HKLM,Software\InstalledOptions\%DriverOEM%\%DriverFamily%\%DriverMfgr%\%DriverProduct%,Description,,%DriverDescription%
HKLM,Software\InstalledOptions\%DriverOEM%\%DriverFamily%\%DriverMfgr%\%DriverProduct%,CurrentVer,,%DriverOEMVersion%
HKLM,Software\InstalledOptions\%DriverOEM%\%DriverFamily%\%DriverMfgr%\%DriverProduct%,Ver_%DriverOEMVersion%,,%DriverVersionID%
HKLM,Software\InstalledOptions\%DriverOEM%\%DriverFamily%\%DriverMfgr%\%DriverProduct%,BaseDriverFileName,,%BaseDriverFileName%
HKLM,Software\InstalledOptions\%DriverOEM%\%DriverFamily%\%DriverMfgr%\%DriverProduct%,BaseDriverFileVersion,,%BaseDriverFileVersion%

;-------------------------;
; Misc. registry sections ;
;-------------------------;
[LegacyScsiportValues]
HKR,Scsiport,BusNumber
HKR,Scsiport,LegacyInterfaceType
HKR,Scsiport,SlotNumber

[RemoveHibernationLowerFilter]
HKR,,LowerFilters,FLG_DELREG_MULTI_SZ_DELSTRING,"perc2hib"


;======================================================================================================
; The following are drivers to remove and registry entries to delete when upgrading the device drivers.
;======================================================================================================

[HibFilterDriverFile]
perc2hib.sys

[OldDeviceDriverFiles]
afacomm.sys
afadisk.sys
afaport.sys
afasa.sys
afascsi.sys
afasup.sys

[OldDeviceDriverReg]
HKLM,SYSTEM\CurrentControlSet\Services\perc2\Parameters\Device,DriverParameters
HKLM,SYSTEM\CurrentControlSet\Services\perc2\Parameters\Device,DriverParameter
HKLM,HARDWARE\RESOURCEMAP\AFA,afacomm
HKLM,HARDWARE\RESOURCEMAP\AFA\afacomm
HKLM,SYSTEM\CurrentControlSet\Services\afacomm,Security
HKLM,SYSTEM\CurrentControlSet\Services\afacomm,Enum
HKLM,SYSTEM\CurrentControlSet\Services,afacomm
HKLM,SYSTEM\CurrentControlSet\Services\afacomm
HKLM,SYSTEM\CurrentControlSet\Services\EventLog\System,afacomm
HKLM,SYSTEM\CurrentControlSet\Services\EventLog\System\afacomm
HKLM,HARDWARE\RESOURCEMAP\AFA,afadisk
HKLM,HARDWARE\RESOURCEMAP\AFA\afadisk
HKLM,SYSTEM\CurrentControlSet\Services\afadisk,Security
HKLM,SYSTEM\CurrentControlSet\Services\afadisk,Enum
HKLM,SYSTEM\CurrentControlSet\Services,afadisk
HKLM,SYSTEM\CurrentControlSet\Services\afadisk
HKLM,SYSTEM\CurrentControlSet\Services\EventLog\System,afadisk
HKLM,SYSTEM\CurrentControlSet\Services\EventLog\System\afadisk
HKLM,HARDWARE\RESOURCEMAP\AFA,afaport
HKLM,HARDWARE\RESOURCEMAP\AFA\afaport
HKLM,SYSTEM\CurrentControlSet\Services\afaport,Security
HKLM,SYSTEM\CurrentControlSet\Services\afaport,Enum
HKLM,SYSTEM\CurrentControlSet\Services,afaport
HKLM,SYSTEM\CurrentControlSet\Services\afaport
HKLM,SYSTEM\CurrentControlSet\Services\EventLog\System,afaport
HKLM,SYSTEM\CurrentControlSet\Services\EventLog\System\afaport
HKLM,HARDWARE\RESOURCEMAP\AFA,afasa
HKLM,HARDWARE\RESOURCEMAP\AFA\afasa
HKLM,SYSTEM\CurrentControlSet\Services\afasa,Security
HKLM,SYSTEM\CurrentControlSet\Services\afasa,Enum
HKLM,SYSTEM\CurrentControlSet\Services,afasa
HKLM,SYSTEM\CurrentControlSet\Services\afasa
HKLM,SYSTEM\CurrentControlSet\Services\EventLog\System,afasa
HKLM,SYSTEM\CurrentControlSet\Services\EventLog\System\afasa
HKLM,HARDWARE\RESOURCEMAP\AFA,afascsi
HKLM,HARDWARE\RESOURCEMAP\AFA\afascsi
HKLM,SYSTEM\CurrentControlSet\Services\afascsi,Security
HKLM,SYSTEM\CurrentControlSet\Services\afascsi,Enum
HKLM,SYSTEM\CurrentControlSet\Services,afascsi
HKLM,SYSTEM\CurrentControlSet\Services\afascsi
HKLM,SYSTEM\CurrentControlSet\Services\EventLog\System,afascsi
HKLM,SYSTEM\CurrentControlSet\Services\EventLog\System\afascsi
HKLM,HARDWARE\RESOURCEMAP\AFA,afasup
HKLM,HARDWARE\RESOURCEMAP\AFA\afasup
HKLM,SYSTEM\CurrentControlSet\Services\afasup,Security
HKLM,SYSTEM\CurrentControlSet\Services\afasup,Enum
HKLM,SYSTEM\CurrentControlSet\Services,afasup
HKLM,SYSTEM\CurrentControlSet\Services\afasup
HKLM,SYSTEM\CurrentControlSet\Services\EventLog\System,afasup
HKLM,SYSTEM\CurrentControlSet\Services\EventLog\System\afasup



; ======================================================
; ================== Strings sections ==================
; ======================================================

[Strings]
ADPT = "Adaptec"
disk1 = "Dell PERC 2, 2/Si, 3/Si, 3/Di Windows 2000/2003 Device Drivers"
perc2.DeviceDesc = "Dell PERC 2 RAID Controller"
perc2si.DeviceDesc = "Dell PERC 2/Si RAID Controller"
perc3di.DeviceDesc = "Dell PERC 3/Di RAID Controller"
perc3si.DeviceDesc = "Dell PERC 3/Si RAID Controller"
perc2gatscsi.DeviceDesc = "Dell PERC 3 RAID (SCSI chip)"
perc2_ServiceName = "Dell PERC Miniport Driver"
perc2evt_ServiceName = "Dell PERC Event Logging Service"
perc2evt_ServiceDesc = "Provides enhanced event logging capability for the PERC Miniport Driver"

;-------------------------------------------------------------;
; Driver Information Entries. These items will be set by IHV. ;
;-------------------------------------------------------------;

DriverMfgr = "Adaptec"                                  ; IHV name
DriverVersionID = "2.8-0"                               ; The IHV driver version

;--------------------------------;
; These items will be set by OEM ;
;--------------------------------;

DriverOEM="Dell"                                      ; name of the OEM
DriverFamily="Storage"                                ; device family (NIC, Storage, Video...)
DriverProduct="Adaptec RAID Controller"               ; Specific Name of device (chipset, for example)
DriverDescription="Windows 2000/2003"                 ; Description of device (product name, OS or system supported)
DriverOEMVersion="A01"                                ; OEM-specified version
BaseDriverFileName="PERC2.SYS"                        ;
BaseDriverFileVersion="2.8.0.6085"                    ; fill in with actual version for Perc2.sys



;=================================================================
;========== Handy macro substitutions (non-localizable) ==========
;=================================================================
COPYFLG_FORCE_FILE_IN_USE = 0x00000008 
SPSVCINST_ASSOCSERVICE = 0x00000002
SPSVCINST_NOCLOBBER_DISPLAYNAME = 0x00000008
SERVICE_KERNEL_DRIVER  = 1
SERVICE_WIN32_OWN_PROCESS = 0x10
SERVICE_BOOT_START     = 0
SERVICE_SYSTEM_START   = 1
SERVICE_AUTO_START     = 2
SERVICE_DEMAND_START   = 3
SERVICE_NO_START       = 4
SERVICE_ERROR_IGNORE   = 0
SERVICE_ERROR_NORMAL   = 1
FLG_ADDREG_TYPE_SZ = 0x00000000
FLG_ADDREG_TYPE_EXPAND_SZ = 0x00020000
FLG_ADDREG_TYPE_MULTI_SZ = 0x00010000
FLG_ADDREG_TYPE_REG_DWORD  = 0x00010001
FLG_DELREG_MULTI_SZ_DELSTRING = 0x00018002
