; INF file for MegaRaid family of RAID controllers.
;////////////////////////////////////////////////////////////////////////////////////////////////////////
;//
;// Avago Technologies is a trademark of Avago Technologies in the United States and other countries. 
;//
;// Copyright © 2015-2017 Avago Technologies 
;// All rights reserved 
;//
;////////////////////////////////////////////////////////////////////////////////////////////////////////
; Real inbox release date: 09/07/2020
[version]
Signature   ="$Windows NT$"
Class       = SCSIAdapter
ClassGUID   = {4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider    = %AVAGO%
DriverVer=05/12/2018,7.716.02.00


[Manufacturer]
%AVAGO% = AVAGO, NTx86, NTamd64

[SourceDisksNames]
3426 = windows cd

[SourceDisksFiles]
megasas35i.sys = 3426

[DestinationDirs]
DefaultDestDir = 12

[ControlFlags]
ExcludeFromSelect = *

[Install_MSI.NT]
CopyFiles = @megasas35i.sys

[Install_MSI.NT.HW]
Include = machine.inf
Needs   = PciIoSpaceNotRequired.HW
AddReg  = Install_AddReg_HW

[Install_AddReg_HW]
HKR, Interrupt Management\MessageSignaledInterruptProperties, MSISupported, %REG_DWORD%, %MSI_ENABLED%
HKR, Interrupt Management\Affinity Policy, DevicePolicy, %REG_DWORD%, %AcrossAllProcessors%
HKR, Interrupt Management\Affinity Policy, DevicePriority, %REG_DWORD%, %IrqPriorityHigh%
HKR, Interrupt Management\Affinity Policy, GroupPolicy, %REG_DWORD%, 1

[Install_MSI.NT.Services]
AddService = megasas35i, %SPSVCINST_ASSOCSERVICE%, Driver_Install, EventLog_Install

[Driver_Install]
ServiceType    = %SERVICE_KERNEL_DRIVER% 
StartType      = %SERVICE_BOOT_START% 
ErrorControl   = %SERVICE_ERROR_NORMAL% 
ServiceBinary  = %12%\megasas35i.sys
LoadOrderGroup = SCSI Miniport
AddReg         = Parms_AddReg

[Parms_AddReg]
HKR, "Parameters", %BUSTYPE_NAME%, %REG_DWORD%, %BUSTYPE_RAID%
HKR, "Parameters\PnpInterface", %PCIBUS%, %REG_DWORD%, 1
HKR, "Parameters\Device", DriverParameter, 0x00000000, "nobusywait=1"
HKR, "Parameters\Device", %512eKey%, %REG_DWORD%, %ENABLED%
HKR, "Parameters", %TIMEOUT_VALUE%, %REG_DWORD%, %TIMEOUT_SECONDS%

[EventLog_Install]
AddReg = EventLog_AddReg

[EventLog_AddReg]
HKR,,EventMessageFile, %REG_EXPAND_SZ%, "%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\megasas35i.sys"
HKR,,TypesSupported, %REG_DWORD%, 7

[AVAGO.NTx86]

%mraidsasGeneric.DeviceDesc%      = Install_MSI, PCI\VEN_1000&DEV_00D4
%mraidsasGeneric.DeviceDesc%      = Install_MSI, PCI\VEN_1000&DEV_0014
%mraidsasGeneric.DeviceDesc%      = Install_MSI, PCI\VEN_1000&DEV_0015
%mraidsasGeneric.DeviceDesc%      = Install_MSI, PCI\VEN_1000&DEV_0016
%mraidsasGeneric.DeviceDesc%      = Install_MSI, PCI\VEN_1000&DEV_0017
%mraidsasGeneric.DeviceDesc%      = Install_MSI, PCI\VEN_1000&DEV_001B
%mraidsasGeneric.DeviceDesc%      = Install_MSI, PCI\VEN_1000&DEV_001C
%mraidsasGenericAero.DeviceDesc%  = Install_MSI, PCI\VEN_1000&DEV_10E1
%mraidsasGenericAero.DeviceDesc%  = Install_MSI, PCI\VEN_1000&DEV_10E2
%mraidsasGenericAero.DeviceDesc%  = Install_MSI, PCI\VEN_1000&DEV_10E5
%mraidsasGenericAero.DeviceDesc%  = Install_MSI, PCI\VEN_1000&DEV_10E6

;DELLVentura
%H840.DeviceDesc%                 = Install_MSI, PCI\VEN_1000&DEV_0016&SUBSYS_1FC91028
%H840ESDS.DeviceDesc%             = Install_MSI, PCI\VEN_1000&DEV_0016&SUBSYS_1FCA1028
%H740P.DeviceDesc%                = Install_MSI, PCI\VEN_1000&DEV_0016&SUBSYS_1FCB1028
%H740PESDS.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0016&SUBSYS_1FCC1028
%H740PMini.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0016&SUBSYS_1FCD1028
%H740PMiniESDS.DeviceDesc%        = Install_MSI, PCI\VEN_1000&DEV_0016&SUBSYS_1FCE1028
%H740PMiniB.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_0016&SUBSYS_1FCF1028
%H740PMiniBESDS.DeviceDesc%       = Install_MSI, PCI\VEN_1000&DEV_0016&SUBSYS_1FD01028
%H745PMX.DeviceDesc%              = Install_MSI, PCI\VEN_1000&DEV_0014&SUBSYS_1FD41028
%H345Adapter.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_0015&SUBSYS_1F3C1028
%H345Front.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0015&SUBSYS_1F3D1028
%H745PAdapter.DeviceDesc%         = Install_MSI, PCI\VEN_1000&DEV_0014&SUBSYS_1F3A1028
%H745PFront.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_0014&SUBSYS_1F3B1028

;DELL Aero

%H755Adapter.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_10E1&SUBSYS_1AE01028
%H755Front.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_10E1&SUBSYS_1AE11028
%H755NFront.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_10E1&SUBSYS_1AE21028
%H755PMX.DeviceDesc%              = Install_MSI, PCI\VEN_1000&DEV_10E1&SUBSYS_1AE31028
%H755Adapter.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_10E2&SUBSYS_1AE01028
%H755Front.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_10E2&SUBSYS_1AE11028
%H755NFront.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_10E2&SUBSYS_1AE21028
%H755PMX.DeviceDesc%              = Install_MSI, PCI\VEN_1000&DEV_10E2&SUBSYS_1AE31028

[AVAGO.NTamd64]

%mraidsasGeneric.DeviceDesc%      = Install_MSI, PCI\VEN_1000&DEV_00D4
%mraidsasGeneric.DeviceDesc%      = Install_MSI, PCI\VEN_1000&DEV_0014
%mraidsasGeneric.DeviceDesc%      = Install_MSI, PCI\VEN_1000&DEV_0015
%mraidsasGeneric.DeviceDesc%      = Install_MSI, PCI\VEN_1000&DEV_0016
%mraidsasGeneric.DeviceDesc%      = Install_MSI, PCI\VEN_1000&DEV_0017
%mraidsasGeneric.DeviceDesc%      = Install_MSI, PCI\VEN_1000&DEV_001B
%mraidsasGeneric.DeviceDesc%      = Install_MSI, PCI\VEN_1000&DEV_001C
%mraidsasGenericAero.DeviceDesc%  = Install_MSI, PCI\VEN_1000&DEV_10E1
%mraidsasGenericAero.DeviceDesc%  = Install_MSI, PCI\VEN_1000&DEV_10E2
%mraidsasGenericAero.DeviceDesc%  = Install_MSI, PCI\VEN_1000&DEV_10E5
%mraidsasGenericAero.DeviceDesc%  = Install_MSI, PCI\VEN_1000&DEV_10E6

;DELLVentura
%H840.DeviceDesc%                 = Install_MSI, PCI\VEN_1000&DEV_0016&SUBSYS_1FC91028
%H840ESDS.DeviceDesc%             = Install_MSI, PCI\VEN_1000&DEV_0016&SUBSYS_1FCA1028
%H740P.DeviceDesc%                = Install_MSI, PCI\VEN_1000&DEV_0016&SUBSYS_1FCB1028
%H740PESDS.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0016&SUBSYS_1FCC1028
%H740PMini.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0016&SUBSYS_1FCD1028
%H740PMiniESDS.DeviceDesc%        = Install_MSI, PCI\VEN_1000&DEV_0016&SUBSYS_1FCE1028
%H740PMiniB.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_0016&SUBSYS_1FCF1028
%H740PMiniBESDS.DeviceDesc%       = Install_MSI, PCI\VEN_1000&DEV_0016&SUBSYS_1FD01028
%H745PMX.DeviceDesc%              = Install_MSI, PCI\VEN_1000&DEV_0014&SUBSYS_1FD41028
%H345Adapter.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_0015&SUBSYS_1F3C1028
%H345Front.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0015&SUBSYS_1F3D1028
%H745PAdapter.DeviceDesc%         = Install_MSI, PCI\VEN_1000&DEV_0014&SUBSYS_1F3A1028
%H745PFront.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_0014&SUBSYS_1F3B1028

;DELL Aero

%H755Adapter.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_10E1&SUBSYS_1AE01028
%H755Front.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_10E1&SUBSYS_1AE11028
%H755NFront.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_10E1&SUBSYS_1AE21028
%H755PMX.DeviceDesc%              = Install_MSI, PCI\VEN_1000&DEV_10E1&SUBSYS_1AE31028
%H755Adapter.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_10E2&SUBSYS_1AE01028
%H755Front.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_10E2&SUBSYS_1AE11028
%H755NFront.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_10E2&SUBSYS_1AE21028
%H755PMX.DeviceDesc%              = Install_MSI, PCI\VEN_1000&DEV_10E2&SUBSYS_1AE31028

[Strings]
;Localizable Strings needed for HBA naming in Windows UI

AVAGO = "AVAGO TECH."
mraidsasGeneric.DeviceDesc          = "AVAGO MegaRAID SAS Adapter Ventura"
;DELL
H840.DeviceDesc                   = "PERC H840 Adapter"
H840ESDS.DeviceDesc               = "PERC H840 Adapter - ESDS"
H740P.DeviceDesc                  = "PERC H740P Adapter"
H740PESDS.DeviceDesc              = "PERC H740P Adapter - ESDS"
H740PMini.DeviceDesc              = "PERC H740P Mini"
H740PMiniESDS.DeviceDesc          = "PERC H740P Mini - ESDS"
H740PMiniB.DeviceDesc             = "PERC H740P Mini(blade)"
H740PMiniBESDS.DeviceDesc         = "PERC H740P Mini(blade) - ESDS"
H745PMX.DeviceDesc                = "PERC H745P MX"
mraidsasGenericAero.DeviceDesc    = "Broadcom MegaRAID SAS Adapter Aero"
H345Adapter.DeviceDesc            = "PERC H345 Adapter"
H345Front.DeviceDesc              = "PERC H345 Front"
H745PAdapter.DeviceDesc           = "PERC H745 Adapter"
H745PFront.DeviceDesc             = "PERC H745 Front"
H755Adapter.DeviceDesc            = "PERC H755 Adapter"
H755Front.DeviceDesc              = "PERC H755 Front"
H755NFront.DeviceDesc             = "PERC H755N Front"
H755PMX.DeviceDesc                = "PERC H755 MX"

;*******************************************
;Non-Localizable strings

SPSVCINST_ASSOCSERVICE = 0x00000002
SERVICE_KERNEL_DRIVER  = 1
SERVICE_BOOT_START     = 0
SERVICE_ERROR_NORMAL   = 1
REG_EXPAND_SZ          = 0x00020000
REG_DWORD              = 0x00010001

PCIBUS                  = 5
TIMEOUT_SECONDS         = 60
TIMEOUT_VALUE           = "IoTimeoutValue"
BUSTYPE_NAME            = "BusType"
BUSTYPE_RAID            = 8

MSI_ENABLED             = 1
AcrossAllProcessors     = 5
IrqPriorityHigh         = 3

512eKey 		= "EnableQueryAccessAlignment"
ENABLED 		= 1
DISABLED		= 0
