;
; arcsas_sbs.inf for Adaptec RAID controllers.
; This INF installs the Storport miniport.
;
; Copyright 2009-2010 Adaptec, Inc.
; Copyright 2010 PMC-Sierra, 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 = arcsas_sbs.cat
DriverVer=11/29/2012,7.1.0.30034

[ControlFlags]
ExcludeFromSelect = *

[SourceDisksNames]
1 = %disk1%, raidisk1,

[SourceDisksFiles]
arcsas_sbs.sys = 1

[DestinationDirs]
DefaultDestDir = 12



; ===============================================================
; =================== Table of contents =========================
; ===============================================================
[Manufacturer]
%ADPT% = ADPT,NT.5.2


;----------------------;
; Windows 2003 & above ;
;----------------------;
[ADPT.NT.5.2]

%adptAvonPark.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02f21014

%adptRombAurora.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0286&SUBSYS_95801014

%adptBrendon.DeviceDesc% = arcsas_sbs_Inst,		PCI\VEN_9005&DEV_0285&SUBSYS_034D1014

%adptIntruder4.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0286&SUBSYS_029D9005

%adptIntruder6.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0286&SUBSYS_029C9005

%adptIntruder8.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0286&SUBSYS_029B9005

%ICPIntruder4.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0286&SUBSYS_02A09005

%ICPIntruder6.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0286&SUBSYS_02A69005

%ICPIntruder8.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0286&SUBSYS_02A19005

%adptBlackBird.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02989005

%adptMarauderX.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02999005

%adptMarauderE.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_029A9005

%icpMarauderX.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02A49005

%icpMarauderE.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02A59005

%adptVoodoo44.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02B59005

%adptVoodoo80.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02B69005

%adptVoodoo08.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02B79005

%icpVoodoo44.DeviceDesc% = arcsas_sbs_Inst,	        PCI\VEN_9005&DEV_0285&SUBSYS_02B89005

%icpVoodoo80.DeviceDesc% = arcsas_sbs_Inst,	        PCI\VEN_9005&DEV_0285&SUBSYS_02B99005

%icpVoodoo08.DeviceDesc% = arcsas_sbs_Inst,	        PCI\VEN_9005&DEV_0285&SUBSYS_02BA9005

%adptMarauder40LP.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02BB9005

%adptMarauder80LP.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02BC9005

%adptMarauder120.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02BD9005

%adptMarauder160.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02BE9005

%icpMarauder40LP.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02BF9005

%icpMarauder80LP.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02C09005

%icpMarauder120.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02C19005

%icpMarauder160.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02C29005

%adptVoodoo120.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02C39005

%adptVoodoo160.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02C49005

%icpVoodoo120.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02C59005

%icpVoodoo160.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02C69005

%adptMarauder08LP.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02C79005

%icpMarauder08LP.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02C89005

%adptAOC_USAS1_S4i.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02B515D9

%adptAOC_USAS1_S8i.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02B615D9

%adptAOC_USAS1_S4iR.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02C915D9

%adptAOC_USAS1_S8iR.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02CA15D9

%adptSUN_4i4e.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_7AAC108E

%adptSUN_Narvi.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_7AAE108E

%adptSUN_Cougar.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_0286108E

%adptSUN_Prometheus.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_0287108E

%adptBEDROC44.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0288&SUBSYS_02CB9005

%adptBEDROC80.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0288&SUBSYS_02CC9005

%adptBEDROC08.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0288&SUBSYS_02CD9005

%adptVoodoo124.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02CE9005

%adptVoodoo164.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02CF9005

%adptVoodoo244.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02D09005

%adptVoodoo40.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02D19005

%adptAOC_USAS1_S8iLP.DeviceDesc% = arcsas_sbs_Inst,	PCI\VEN_9005&DEV_0285&SUBSYS_02D215D9

%adptAOC_USAS1_S8iRLP.DeviceDesc% = arcsas_sbs_Inst,PCI\VEN_9005&DEV_0285&SUBSYS_02D315D9

%adptVoodooLite04.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_0285&SUBSYS_02D49005

%adptVoodooLite40.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_0285&SUBSYS_02D59005

%adptVoodooLite44.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_0285&SUBSYS_02D69005

%adptVoodooLite80.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_0285&SUBSYS_02D79005

%adptVoodoo40BLBU.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_0285&SUBSYS_02D89005

%adptVoodoo44BLBU.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_0285&SUBSYS_02D99005

%adptVoodoo80BLBU.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_0285&SUBSYS_02DA9005

%adptTupelo40.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_028B&SUBSYS_03009005

%adptTupelo80.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_028B&SUBSYS_03019005

%adptTupelo44.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_028B&SUBSYS_03029005

%adptTupelo120.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_028B&SUBSYS_04009005

%adptTupelo160.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_028B&SUBSYS_04019005

%adptTupelo240.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_028B&SUBSYS_04039005

%adptTupelo40E.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_028B&SUBSYS_02009005

%adptTupelo80E.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_028B&SUBSYS_02019005

%adptTupelo40T.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_028B&SUBSYS_03109005

%adptTupelo80T.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_028B&SUBSYS_03119005

%adptHuawei80T.DeviceDesc% = arcsas_sbs_Inst,    PCI\VEN_9005&DEV_028B&SUBSYS_032012D1

%adptDenali80.DeviceDesc% = arcsas_sbs_MSIX,    PCI\VEN_9005&DEV_028C&SUBSYS_05009005

%adptDenali160.DeviceDesc% = arcsas_sbs_MSIX,    PCI\VEN_9005&DEV_028C&SUBSYS_05019005

%adptDenali168.DeviceDesc% = arcsas_sbs_MSIX,    PCI\VEN_9005&DEV_028C&SUBSYS_05029005

%adptDenali240.DeviceDesc% = arcsas_sbs_MSIX,   PCI\VEN_9005&DEV_028C&SUBSYS_05039005

%adptDenali88.DeviceDesc% = arcsas_sbs_MSIX,    PCI\VEN_9005&DEV_028C&SUBSYS_05049005

%adptDenali160E.DeviceDesc% = arcsas_sbs_MSIX,   PCI\VEN_9005&DEV_028C&SUBSYS_05059005

%adptDenali240E.DeviceDesc% = arcsas_sbs_MSIX,   PCI\VEN_9005&DEV_028C&SUBSYS_05069005

%adptDenali0816.DeviceDesc% = arcsas_sbs_MSIX,   PCI\VEN_9005&DEV_028C&SUBSYS_05079005

%adptDenaliFVB.DeviceDesc% = arcsas_sbs_MSIX,   PCI\VEN_9005&DEV_028C&SUBSYS_04209005


[ADPT]
; empty


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

;-------------------------------------------;
; Install section for the Storport miniport ;
;-------------------------------------------;
[arcsas_sbs_Inst.NT]
CopyFiles = @arcsas_sbs.sys
AddReg = ScsiDiskReg

[arcsas_sbs_Inst.NT.Services]
AddService = arcsas_sbs, %SPSVCINST_ASSOCSERVICE%, arcsas_sbs_Service_Inst

[arcsas_sbs_Inst.NT.HW]
Include=machine.inf
Needs=PciASPMOptOut

[arcsas_sbs_MSIX.NT]
CopyFiles = @arcsas_sbs.sys
AddReg = ScsiDiskReg

[arcsas_sbs_MSIX.NT.Services]
AddService = arcsas_sbs, %SPSVCINST_ASSOCSERVICE%, arcsas_sbs_Service_Inst

[arcsas_sbs_MSIX.NT.HW]
Include=machine.inf
Needs=PciASPMOptOut
AddReg = arcsas_sbs_AddRegMSIX.HW
; ==============================================================
; ================== Service install sections ==================
; ==============================================================

[arcsas_sbs_Service_Inst]
DisplayName    = %arcsas_sbs_ServiceName%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\arcsas_sbs.sys
LoadOrderGroup = SCSI miniport
AddReg         = arcsas_sbs_Parameters_Inst
AddReg         = Bus_Type_Raid


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

;----------------------------------------------------------------;
; Hardware-specific registry additions (under Parameters subkey) ;
;----------------------------------------------------------------;
[arcsas_sbs_Parameters_Inst]
HKR, "Parameters\PnpInterface", "5", %FLG_ADDREG_TYPE_REG_DWORD%, 1
HKR, "Parameters\Device", "DriverParameter", %FLG_ADDREG_TYPE_SZ%, "BLEDCheck=1"

[Bus_Type_Raid]
HKR, "Parameters", "BusType", %FLG_ADDREG_TYPE_REG_DWORD%, 0x00000008

;-------------------------;
; MSIX registry sections ;
;-------------------------;

[arcsas_sbs_AddRegMSIX.HW]
HKR, "Interrupt Management", 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties", 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties", MSISupported, 0x00010001, 1
HKR, "Interrupt Management\MessageSignaledInterruptProperties", MessageNumberLimit, 0x00010001, 32

HKR, "Interrupt Management\Affinity Policy", 0x00000010
HKR, "Interrupt Management\Affinity Policy", DevicePolicy, 0x00010001, 0x05
HKLM, SYSTEM\CurrentControlSet\Services\arcsas_sbs\Parameters\Device, DriverParameter, 0x00000002, "MSIX=1"

;-------------------------;
; Misc. registry sections ;
;-------------------------;
[ScsiDiskReg]
HKLM,SYSTEM\CurrentControlSet\Services\Disk,TimeOutValue,0x00010001,0x0000003C


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

[Strings]
ADPT = "Adaptec"
disk1 = "Adaptec SAS RAID Device Drivers"
adptAvonPark.DeviceDesc = "IBM ServeRAID 8i Controller"
adptRombAurora.DeviceDesc = "IBM ServeRAID 8k/8k-l Controller"
adptBrendon.DeviceDesc = "IBM ServeRAID 8s Controller"
adptIntruder4.DeviceDesc = "Adaptec SATA RAID AAR-2420SA Controller"
adptIntruder6.DeviceDesc = "Adaptec SATA RAID AAR-2620SA Controller"
adptIntruder8.DeviceDesc = "Adaptec SATA RAID AAR-2820SA Controller"
ICPIntruder4.DeviceDesc = "ICP SATA RAID ICP9047MA Controller"
ICPIntruder6.DeviceDesc = "ICP SATA RAID ICP9067MA Controller"
ICPIntruder8.DeviceDesc = "ICP SATA RAID ICP9087MA Controller"
adptBlackBird.DeviceDesc = "Adaptec RAID 4000"
adptMarauderX.DeviceDesc = "Adaptec SAS RAID 4800SAS Controller"
adptMarauderE.DeviceDesc = "Adaptec SAS RAID 4805SAS Controller"
icpMarauderX.DeviceDesc = "ICP SAS RAID ICP9085LI Controller"
icpMarauderE.DeviceDesc = "ICP SAS RAID ICP5085BR Controller"
adptVoodoo40.DeviceDesc = "Adaptec RAID 5405/5405Q"
adptVoodoo44.DeviceDesc = "Adaptec RAID 5445"
adptVoodoo80.DeviceDesc = "Adaptec RAID 5805/5805Q"
adptVoodoo08.DeviceDesc = "Adaptec RAID 5085"
adptVoodoo124.DeviceDesc = "Adaptec RAID 51245"
adptVoodoo164.DeviceDesc = "Adaptec RAID 51645"
adptVoodoo244.DeviceDesc = "Adaptec RAID 52445"
icpVoodoo44.DeviceDesc = "ICP5445SL"
icpVoodoo80.DeviceDesc = "ICP5085SL"
icpVoodoo08.DeviceDesc = "ICP5805SL"
adptMarauder40LP.DeviceDesc = "Adaptec RAID 3405"
adptMarauder80LP.DeviceDesc = "Adaptec RAID 3805"
adptMarauder120.DeviceDesc = "Adaptec RAID 31205"
adptMarauder160.DeviceDesc = "Adaptec RAID 31605"
icpMarauder40LP.DeviceDesc = "ICP5045BL"
icpMarauder80LP.DeviceDesc = "ICP5085BL"
icpMarauder120.DeviceDesc = "ICP5125BR"
icpMarauder160.DeviceDesc = "ICP5165BR"
adptVoodoo120.DeviceDesc = "Adaptec RAID 51205"
adptVoodoo160.DeviceDesc = "Adaptec RAID 51605"
icpVoodoo120.DeviceDesc = "ICP5125SL"
icpVoodoo160.DeviceDesc = "ICP5165SL"
adptVoodooLite04.DeviceDesc = "Adaptec RAID 2045"
adptVoodooLite40.DeviceDesc = "Adaptec RAID 2405/2405Q"
adptVoodooLite44.DeviceDesc = "Adaptec RAID 2445"
adptVoodooLite80.DeviceDesc = "Adaptec RAID 2805"
adptMarauder08LP.DeviceDesc = "Adaptec RAID 3085"
icpMarauder08LP.DeviceDesc = "ICP5805BL"
adptAOC_USAS1_S4i.DeviceDesc = "AOC-USAS-S4i RAID Controller"
adptAOC_USAS1_S8i.DeviceDesc = "AOC-USAS-S8i RAID Controller"
adptAOC_USAS1_S4iR.DeviceDesc = "AOC-USAS-S4iR RAID Controller"
adptAOC_USAS1_S8iR.DeviceDesc = "AOC-USAS-S8iR RAID Controller"
adptAOC_USAS1_S8iLP.DeviceDesc = "AOC-USAS-S8i-LP RAID Controller"
adptAOC_USAS1_S8iRLP.DeviceDesc = "AOC-USAS-S8iR-LP RAID Controller"
adptSUN_4i4e.DeviceDesc = "Sun STK RAID REM"
adptSUN_Narvi.DeviceDesc = "Sun STK RAID EM"
adptSUN_Cougar.DeviceDesc = "Sun STK RAID INT"
adptSUN_Prometheus.DeviceDesc = "Sun STK RAID EXT"
adptBEDROC44.DeviceDesc = "BEDROC 44"
adptBEDROC80.DeviceDesc = "BEDROC 80"
adptBEDROC08.DeviceDesc = "BEDROC 08"
adptVoodoo40BLBU.DeviceDesc = "Adaptec RAID 5405Z"
adptVoodoo44BLBU.DeviceDesc = "Adaptec RAID 5445Z"
adptVoodoo80BLBU.DeviceDesc = "Adaptec RAID 5805Z/5805ZQ"
adptPMCDemo.DeviceDesc = "Adaptec PMC Demo"
adptTupelo40.DeviceDesc = "Adaptec RAID 6405"
adptTupelo80.DeviceDesc = "Adaptec RAID 6805/6805Q"
adptTupelo44.DeviceDesc = "Adaptec RAID 6445"
adptTupelo120.DeviceDesc = "Adaptec RAID 61205"
adptTupelo160.DeviceDesc = "Adaptec RAID 61605"
adptTupelo240.DeviceDesc = "Adaptec RAID 62405"
adptTupelo40E.DeviceDesc = "Adaptec RAID 6405E"
adptTupelo80E.DeviceDesc = "Adaptec RAID 6805E"
adptTupelo40T.DeviceDesc = "Adaptec RAID 6405T"
adptTupelo80T.DeviceDesc = "Adaptec RAID 6805T/6805TQ"
adptHuawei80T.DeviceDesc = "Huawei RAID 6805T"
adptDenali80.DeviceDesc = "Adaptec RAID 7805/7805Q"
adptDenali160.DeviceDesc = "Adaptec RAID 71605/71605Q"
adptDenali168.DeviceDesc = "Adaptec RAID 71685"
adptDenali240.DeviceDesc = "Adaptec RAID 72405"
adptDenali88.DeviceDesc = "Adaptec RAID 7885"
adptDenali160E.DeviceDesc = "Adaptec RAID 71605E"
adptDenali240E.DeviceDesc = "Adaptec RAID 72405E"
adptDenali0816.DeviceDesc = "Adaptec RAID 78165"
adptDenaliFVB.DeviceDesc = "Adaptec FVB Board"
arcsas_sbs_ServiceName = "Adaptec SAS/SATA-II RAID Storport's Miniport Driver"


;=================================================================
;========== 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
