;
; ItSas35.INF - for all versions of Windows
;
;////////////////////////////////////////////////////////////////////////////////////////////////////////
;//
;//    Avago Technologies is a trademark of Avago Technologies in the United States and other countries.
;//
;//    Copyright © 2015-2017 Avago Technologies
;//    All rights reserved
;//
;////////////////////////////////////////////////////////////////////////////////////////////////////////

[version]
signature="$Windows NT$"
Class=SCSIAdapter
ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider=%AVAGO%
DriverVer=10/11/2018,2.60.70.01
CatalogFile=ItSas35.cat

[DestinationDirs]
DefaultDestDir = 12 ; DIRID_DRIVERS
;;;AVAGO_EXE_CopyFiles = 11 ; %SystemDrive%\windows\system32
;;;AVAGO_CFGDEF_CopyFiles = 24, ProgramData\Avago\Wdcfg

[SourceDisksFiles]
ItSas35.sys = 1
lsinodrv.inf = 1
;;;wdcfg.exe = 1
;;;DriverConfigParam.def = 1

[SourceDisksNames]
1 = %DiskDesc%,,

[Manufacturer]
%AVAGO%=AVAGO, NTamd64, NTx86, NTia64
%CISCO%=CISCO, NTamd64, NTx86, NTia64
%INTEL%=INTEL, NTamd64, NTx86, NTia64
%LENOVO%=LENOVO, NTamd64, NTx86, NTia64
%SMC%=SMC, NTamd64, NTx86, NTia64
%INSPUR%=INSPUR, NTamd64, NTx86, NTia64
%DELL%=DELL, NTamd64, NTx86, NTia64

[AVAGO.NTamd64]
%DevDesc3% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AA
%DevDesc3% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AB
%DevDesc4% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC
%DevDesc5% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AD
%DevDesc5% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AE
%DevDesc6% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF
%DevDesc7% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00D0
%DevDesc8% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00D1
%DevDesc9% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00D2
%DevDesc10% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00B2

;DDA bus description
%DevDesc3Dda% = AVAGO_SAS_Inst_DDA, PCIP\VEN_1000&DEV_00AA
%DevDesc3Dda% = AVAGO_SAS_Inst_DDA, PCIP\VEN_1000&DEV_00AB
%DevDesc4Dda% = AVAGO_SAS_Inst_DDA, PCIP\VEN_1000&DEV_00AC
%DevDesc5Dda% = AVAGO_SAS_Inst_DDA, PCIP\VEN_1000&DEV_00AD
%DevDesc5Dda% = AVAGO_SAS_Inst_DDA, PCIP\VEN_1000&DEV_00AE
%DevDesc6Dda% = AVAGO_SAS_Inst_DDA, PCIP\VEN_1000&DEV_00AF
%DevDesc7Dda% = AVAGO_SAS_Inst_DDA, PCIP\VEN_1000&DEV_00D0
%DevDesc8Dda% = AVAGO_SAS_Inst_DDA, PCIP\VEN_1000&DEV_00D1
%DevDesc9Dda% = AVAGO_SAS_Inst_DDA, PCIP\VEN_1000&DEV_00D2
%DevDesc10Dda% = AVAGO_SAS_Inst_DDA, PCIP\VEN_1000&DEV_00B2

[AVAGO.NTia64]
%DevDesc3% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AA
%DevDesc3% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AB
%DevDesc4% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC
%DevDesc5% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AD
%DevDesc5% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AE
%DevDesc6% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF
%DevDesc7% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00D0
%DevDesc8% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00D1
%DevDesc9% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00D2
%DevDesc10% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00B2

[AVAGO.NTx86]
%DevDesc3% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AA
%DevDesc3% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AB
%DevDesc4% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC
%DevDesc5% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AD
%DevDesc5% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AE
%DevDesc6% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF
%DevDesc7% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00D0
%DevDesc8% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00D1
%DevDesc9% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00D2
%DevDesc10% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00B2

[CISCO.NTamd64]
%DevDescC1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AB&SUBSYS_020F1137
%DevDescC2% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AE&SUBSYS_02111137
%DevDescC3% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_02121137
%DevDescC4% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_024F1137

;DDA cisco
%DevDescC1Dda% = AVAGO_SAS_Inst_DDA, PCIP\VEN_1000&DEV_00AB&SUBSYS_020F1137
%DevDescC2Dda% = AVAGO_SAS_Inst_DDA, PCIP\VEN_1000&DEV_00AE&SUBSYS_02111137
%DevDescC4Dda% = AVAGO_SAS_Inst_DDA, PCIP\VEN_1000&DEV_00AF&SUBSYS_024F1137

[CISCO.NTia64]
%DevDescC1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AB&SUBSYS_020F1137
%DevDescC2% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AE&SUBSYS_02111137
%DevDescC3% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_02121137
%DevDescC4% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_024F1137

[CISCO.NTx86]
%DevDescC1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AB&SUBSYS_020F1137
%DevDescC2% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AE&SUBSYS_02111137
%DevDescC3% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_02121137
%DevDescC4% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_024F1137

[INTEL.NTamd64]
%DevDescI1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AB&SUBSYS_35308086
%DevDescI2% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_30208086
%DevDescI3% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_30008086

[INTEL.NTia64]
%DevDescI1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AB&SUBSYS_35308086
%DevDescI2% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_30208086
%DevDescI3% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_30008086

[INTEL.NTx86]
%DevDescI1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AB&SUBSYS_35308086
%DevDescI2% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_30208086
%DevDescI3% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_30008086

[LENOVO.NTamd64]
%DevDescL1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_02001D49
%DevDescL2% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_02011D49
%DevDescL3% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_02021D49
%DevDescL4% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_02031D49
%DevDescL5% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_02041D49

[LENOVO.NTia64]
%DevDescL1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_02001D49
%DevDescL2% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_02011D49
%DevDescL3% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_02021D49
%DevDescL4% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_02031D49
%DevDescL5% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_02041D49

[LENOVO.NTx86]
%DevDescL1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_02001D49
%DevDescL2% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_02011D49
%DevDescL3% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_02021D49
%DevDescL4% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_02031D49
%DevDescL5% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_02041D49

[SMC.NTamd64]
%DevDescS1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00D1&SUBSYS_099C15D9

[SMC.NTia64]
%DevDescS1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00D1&SUBSYS_099C15D9

[SMC.NTx86]
%DevDescS1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00D1&SUBSYS_099C15D9

[INSPUR.NTamd64]
%DevDescINS1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_00431BD4

[INSPUR.NTia64]
%DevDescINS1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_00431BD4

[INSPUR.NTx86]
%DevDescINS1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AF&SUBSYS_00431BD4

[DELL.NTamd64]
%DevDescD1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_1FE31028
%DevDescD2% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_1FE41028

[DELL.NTia64]
%DevDescD1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_1FE31028
%DevDescD2% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_1FE41028

[DELL.NTx86]
%DevDescD1% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_1FE31028
%DevDescD2% = AVAGO_SAS_Inst, PCI\VEN_1000&DEV_00AC&SUBSYS_1FE41028

[ControlFlags]
ExcludeFromSelect = *

[AVAGO_SAS_Inst]
CopyFiles = AVAGO_SAS_CopyFiles
;;;CopyFiles = AVAGO_EXE_CopyFiles
;;;CopyFiles = AVAGO_CFGDEF_CopyFiles
AddReg = AVAGO_SAS_AddReg
;;;AddReg = AVAGO_WDCFG_AddReg
CopyINF = lsinodrv.inf

[AVAGO_SAS_Inst.HW]
AddReg = Shutdown_addreg
DelReg = LegacyScsiportValues
AddReg = InterruptMgmtValues
Include = machine.inf
Needs = PciIoSpaceNotRequired.HW

[AVAGO_SAS_Inst.Services]
AddService = ItSas35, %SPSVCINST_ASSOCSERVICE%, AVAGO_SAS_Service_Inst, Miniport_EventLog_Inst

[AVAGO_SAS_AddReg]
HKLM,SYSTEM\CurrentControlSet\Services\ItSas35\Parameters\Device,DriverParameter,0x00000002,"PlaceHolder=0;"
HKLM,SYSTEM\CurrentControlSet\Services\ItSas35\Parameters\Device,EnableQueryAccessAlignment,0x00010001,1
HKR, "StorPort", "PowerSrbTimeout", %REG_DWORD%, 0x28

;;;[AVAGO_WDCFG_AddReg]
;;;HKLM,SYSTEM\CurrentControlSet\Control\Wdcfg,TargetDriver,0x00000000,"ItSas35"

[AVAGO_SAS_Service_Inst]
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\ItSas35.sys
LoadOrderGroup = SCSI Miniport
AddReg         = pnpsafe_pci_addreg
AddReg         = bus_type_sas_addreg

[AVAGO_SAS_CopyFiles]
ItSas35.sys,,,1

;;;[AVAGO_EXE_CopyFiles]
;;;wdcfg.exe,,,2

;;;[AVAGO_CFGDEF_CopyFiles]
;;;DriverConfigParam.def,,,2

[Shutdown_addreg]
HKR,"ScsiPort","NeedsSystemShutdownNotification",%REG_DWORD%,1

[LegacyScsiportValues]
HKR,Scsiport,BusNumber
HKR,Scsiport,LegacyInterfaceType
HKR,Scsiport,SlotNumber

[InterruptMgmtValues] 
HKR,"Interrupt Management",0x00000010 
HKR,"Interrupt Management\MessageSignaledInterruptProperties",0x00000010 
HKR,"Interrupt Management\MessageSignaledInterruptProperties",MSISupported,%REG_DWORD%,1 
HKR, "Interrupt Management\Affinity Policy", DevicePriority, %REG_DWORD%, 3 
HKR, "Interrupt Management\Affinity Policy", DevicePolicy, %REG_DWORD%, 5  
HKR, "Interrupt Management\Affinity Policy", GroupPolicy, %REG_DWORD%, 1  

[pnpsafe_pci_addreg]
HKR, "Parameters\PnpInterface", "5", %REG_DWORD%, 0x00000001

[bus_type_sas_addreg]
HKR, "Parameters", "BusType", %REG_DWORD%, 0x0000000A

[Miniport_EventLog_Inst]
AddReg = Miniport_EventLog_AddReg

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

; ==========================
; DDA Mitigation entries
; ==========================

[AVAGO_SAS_Inst_DDA.NT]
;Pull in PCIP device section, it also pulls in its 'properties' section but it is blank
Include=wpcip.inf
Needs=pcip_Device.NT

;DDA Specifices for HW section
[AVAGO_SAS_Inst_DDA.NT.HW]
Include=wpcip.inf
Needs=pcip_Device.NT.HW
AddReg=AVAGO_HBA_Device_DDA_Supported.NT.AddReg
AddReg=AVAGO_HBA_Device_DDA_Mitigations.NT.AddReg
DelReg=AVAGO_HBA_Device_DDA.NT.DelReg

;This pulls in and intalls the proxy bus driver, if needed
[AVAGO_SAS_Inst_DDA.NT.Services]
Include=wpcip.inf
Needs=pcip_Device.NT.Services

[AVAGO_SAS_Inst_DDA.NT.Interfaces]
Include=wpcip.inf
Needs=pcip_Device.Interfaces

[AVAGO_HBA_Device_DDA_Supported.NT.AddReg]
HKR,,SupportedDevice,%REG_DWORD%,1

[AVAGO_HBA_Device_DDA_Mitigations.NT.AddReg]
; MBAR0 Define 1st page, remaining follow preceeding def.
; Mitigation directives are CASE SENSITIVE.
;HKR,4e71479c-d352-430f-8412-7b54b5800983,,0x00000010
;HKR,4e71479c-d352-430f-8412-7b54b5800983\0,0,0,"HwRW{8000}"

[AVAGO_HBA_Device_DDA.NT.DelReg]
;In case mitigations/DDA was performed
;on uninstall delete all mitigations
HKR,,SupportedDevice
HKR,84E3B54D-71A0-4e3c-9D3C-C04724C4369C
HKR,4e71479c-d352-430f-8412-7b54b5800983

[Strings]
AVAGO = "Avago Technologies"
DiskDesc = "Avago PCI Fusion-MPT SAS3 Driver Install Disk (StorPort)"
DevDesc3 = "Avago Adapter, Ventura - StorPort"
DevDesc4 = "Avago Adapter, Crusader - StorPort"
DevDesc5 = "Avago Adapter, Harpoon - StorPort"
DevDesc6 = "Avago Adapter, Tomcat - StorPort"
DevDesc7 = "Avago Adapter, Marlin - StorPort"
DevDesc8 = "Avago Adapter, Mercator - StorPort"
DevDesc9 = "Avago Adapter, Marut - StorPort"
DevDesc10 = "Atlas PCIe Switch Management Port"

;******* for DDA Support ********
DevDesc3Dda = "Avago Adapter, Ventura - Dismounted"
DevDesc4Dda = "Avago Adapter, Crusader - Dismounted"
DevDesc5Dda = "Avago Adapter, Harpoon - Dismounted"
DevDesc6Dda = "Avago Adapter, Tomcat - Dismounted"
DevDesc7Dda = "Avago Adapter, Marlin - Dismounted"
DevDesc8Dda = "Avago Adapter, Mercator - Dismounted"
DevDesc9Dda = "Avago Adapter, Marut - Dismounted"
DevDesc10Dda = "Atlas PCIe Switch Management Port - Dismounted"

CISCO = "Cisco"
DevDescC1 = "Cisco 12G Modular SAS HBA (max 16 drives)"
DevDescC2 = "Cisco 12G Modular SAS HBA (max 26 drives)"
DevDescC3 = "Cisco 9400-8E 12G SAS HBA"
DevDescC4 = "Cisco 9400-8i 12G SAS HBA"

DevDescC1Dda = "Cisco 12G Modular SAS HBA (max 16 drives) - Dismounted"
DevDescC2Dda = "Cisco 12G Modular SAS HBA (max 26 drives) - Dismounted"
DevDescC4Dda = "Cisco 9400-8i 12G SAS HBA - Dismounted"

INTEL = "Intel Corporation"
DevDescI1 = "Intel(R) Integrated RAID Module RMSP3JD160J"
DevDescI2 = "Intel(R) RAID Controller RSP3GD016J"
DevDescI3 = "Intel(R) RAID Controller RSP3QD160J"

LENOVO = "Lenovo"
DevDescL1 = "ThinkSystem 430-8i SAS/SATA 12Gb HBA"
DevDescL2 = "ThinkSystem 430-16i SAS/SATA 12Gb HBA"
DevDescL3 = "ThinkSystem 430-8e SAS/SATA 12Gb HBA"
DevDescL4 = "ThinkSystem 430-16e SAS/SATA 12Gb HBA"
DevDescL5 = "ThinkSystem 430-8i SAS/SATA 12Gb Dense HBA"

SMC = "Supermicro"
DevDescS1 = "AOC-S3616L-L16iT"

INSPUR = "Inspur"
DevDescINS1 = "INSPUR 3408IT"

DELL = "Dell Corporation"
DevDescD1 = "HBA345 Adapter"
DevDescD2 = "HBA345 Front"

;*******************************************
;Handy macro substitutions (non-localizable)
SPSVCINST_ASSOCSERVICE = 0x00000002
SERVICE_KERNEL_DRIVER  = 1
SERVICE_BOOT_START     = 0
SERVICE_ERROR_NORMAL   = 1
REG_EXPAND_SZ          = 0x00020000
REG_DWORD              = 0x00010001
