; INF file for MegaRaid family of RAID controllers.
;***********************************************************************************************************
;                                                                                                          *
;   LSI is a trademark of LSI Corporation in the United States and other countries..                       *
;   Avago Technologies is a trademark of Avago Technologies in the United States and other countries.      *
;                                                                                                          *
;   Copyright © 2013-2014 LSI Corporation.                                                                 *
;   Copyright © 2013-2014 Avago Technologies                                                               *
;   All rights reserved                                                                                    *
;                                                                                                          *
;   Real date: 07/02/2018 date below to let outbox driver override inbxo driver                            *
;***********************************************************************************************************
[version]
Signature   ="$Windows NT$"
Class       = SCSIAdapter
ClassGUID   = {4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider    = %DELL%
DriverVer=06/15/2016,6.604.06.00

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

[SourceDisksNames]
3426 = windows cd

[SourceDisksFiles]
percsas3i.sys = 3426

[DestinationDirs]
DefaultDestDir = 12

[ControlFlags]
ExcludeFromSelect = *

[Install_MSI.NT]
CopyFiles = @percsas3i.sys

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

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

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

[Driver_Install]
ServiceType    = %SERVICE_KERNEL_DRIVER% 
StartType      = %SERVICE_BOOT_START% 
ErrorControl   = %SERVICE_ERROR_NORMAL% 
ServiceBinary  = %12%\percsas3i.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, 0x00000002, "placeholder=0"
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
HKR,,TypesSupported, %REG_DWORD%, 7

[DELL]
[DELL.NTx86]
; Dell
%PERCH830Adp.DeviceDesc%        = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F411028
%PERCH730pAdp.DeviceDesc%       = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F421028
%PERCH730Adp.DeviceDesc%        = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F431028
%PERCH730PminiAdp.DeviceDesc%   = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F471028
%PERCH730PminiAdp.DeviceDesc%   = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F481028
%PERCH730MiniAdp.DeviceDesc%    = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F491028
%PERCH730MiniAdp.DeviceDesc%    = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F4A1028
%PERCH730PSlim.DeviceDesc%      = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F4F1028
%PERCFD33xS.DeviceDesc%         = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F4D1028
%PERCFD33xD.DeviceDesc%         = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F541028
%PERCH730pAdp.DeviceDesc%       = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F361028
%PERCH730PMX.DeviceDesc%        = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1FD11028

;Perc9 iMR controllers
%PERCH330Adp.DeviceDesc%        = Install_MSI, PCI\VEN_1000&DEV_005F&SUBSYS_1F441028
%PERCH330miniAdp.DeviceDesc%    = Install_MSI, PCI\VEN_1000&DEV_005F&SUBSYS_1F4B1028
%PERCH330miniAdp.DeviceDesc%    = Install_MSI, PCI\VEN_1000&DEV_005F&SUBSYS_1F4C1028
%PERCH330EmbdAdp.DeviceDesc%    = Install_MSI, PCI\VEN_1000&DEV_005F&SUBSYS_1F4D1028
%PERCH330Adp.DeviceDesc%        = Install_MSI, PCI\VEN_1000&DEV_005F&SUBSYS_1F321028

[DELL.NTamd64]
; Dell
%PERCH830Adp.DeviceDesc%        = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F411028
%PERCH730pAdp.DeviceDesc%       = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F421028
%PERCH730Adp.DeviceDesc%        = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F431028
%PERCH730PminiAdp.DeviceDesc%   = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F471028
%PERCH730PminiAdp.DeviceDesc%   = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F481028
%PERCH730MiniAdp.DeviceDesc%    = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F491028
%PERCH730MiniAdp.DeviceDesc%    = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F4A1028
%PERCH730PSlim.DeviceDesc%      = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F4F1028
%PERCFD33xS.DeviceDesc%         = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F4D1028
%PERCFD33xD.DeviceDesc%         = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F541028
%PERCH730pAdp.DeviceDesc%       = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1F361028
%PERCH730PMX.DeviceDesc%        = Install_MSI, PCI\VEN_1000&DEV_005D&SUBSYS_1FD11028

;Perc9 iMR controllers
%PERCH330Adp.DeviceDesc%        = Install_MSI, PCI\VEN_1000&DEV_005F&SUBSYS_1F441028
%PERCH330miniAdp.DeviceDesc%    = Install_MSI, PCI\VEN_1000&DEV_005F&SUBSYS_1F4B1028
%PERCH330miniAdp.DeviceDesc%    = Install_MSI, PCI\VEN_1000&DEV_005F&SUBSYS_1F4C1028
%PERCH330EmbdAdp.DeviceDesc%    = Install_MSI, PCI\VEN_1000&DEV_005F&SUBSYS_1F4D1028
%PERCH330Adp.DeviceDesc%        = Install_MSI, PCI\VEN_1000&DEV_005F&SUBSYS_1F321028

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

DELL = "DELL"
DISK = "DELL PERC RAID Driver"

PERCH330Adp.DeviceDesc          = "PERC H330 Adapter"
PERCH730Adp.DeviceDesc          = "PERC H730 Adapter"
PERCH730pAdp.DeviceDesc         = "PERC H730P Adapter"
PERCH730MiniAdp.DeviceDesc      = "PERC H730 Mini"
PERCH730PminiAdp.DeviceDesc     = "PERC H730P Mini"
PERCH830Adp.DeviceDesc          = "PERC H830 Adapter"
PERCH330miniAdp.DeviceDesc      = "PERC H330 Mini"
PERCH330EmbdAdp.DeviceDesc      = "PERC H330 Embedded"    
PERCH730PSlim.DeviceDesc        = "PERC H730P Slim"
PERCFD33xS.DeviceDesc           = "PERC FD33xS"
PERCFD33xD.DeviceDesc           = "PERC FD33xD"
PERCH730PMX.DeviceDesc          = "PERC H730P 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
