; INF file for MegaRaid family of RAID controllers.
;********************************************************************
;                                                                    *
;   Copyright 2013 LSI Corp., Inc. All rights reserved.              *
;                                                                    *
;   This file is property of LSI Corp., Inc. and is licensed for     *
;   use as is.  The receipt of or possession of this file does not   *
;   convey any rights to modify its contents, in whole, or in part,  *
;   without the specific written consent of LSI Corp., Inc.          *
;                                                                    *
;********************************************************************

[version]
Signature   ="$Windows NT$"
Class       = SCSIAdapter
ClassGUID   = {4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider    = %DELL%
DriverVer   = 3/15/2016,6.805.03.00

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

[SourceDisksNames]
3426 = windows cd

[SourceDisksFiles]
percsas2i.sys = 3426

[DestinationDirs]
DefaultDestDir = 12

[ControlFlags]
ExcludeFromSelect = *

[Install_MSI.NT]
CopyFiles = @percsas2i.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\MessageSignaledInterruptProperties", MessageNumberLimit, %REG_DWORD%, 16
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 = percsas2i, %SPSVCINST_ASSOCSERVICE%, Driver_Install, EventLog_Install

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

[DELL]
[DELL.NTx86]
; Dell
;PERC7 Controller Family
%PERCH700.DeviceDesc%               = Install_MSI, PCI\VEN_1000&DEV_0079&SUBSYS_1F191028
%PERCH700Adp.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0079&SUBSYS_1F161028
%PERCH700Int.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0079&SUBSYS_1F171028
%PERCH700Mod.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0079&SUBSYS_1F181028
%PERCH800.DeviceDesc%               = Install_MSI, PCI\VEN_1000&DEV_0079&SUBSYS_1F1B1028
%PERCH800Adp.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0079&SUBSYS_1F151028
%PERCH800PAdp.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_0079&SUBSYS_1F1A1028

;PERC8 iMR Controller Family
%PERCH310Adp.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0073&SUBSYS_1F4E1028
%PERCH310Int.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0073&SUBSYS_1F4F1028
%PERCH310Mini.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_0073&SUBSYS_1F501028
%PERCH310Mini.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_0073&SUBSYS_1F511028
%PERCH310Embd.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_0073&SUBSYS_1F521028
%PERCH310Embd.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_0073&SUBSYS_1F531028
%PERCH310.DeviceDesc%               = Install_MSI, PCI\VEN_1000&DEV_0073&SUBSYS_1F541028
;PERC8 iMR Controller Family (Workstation)
%PERCH310WSAdp.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_0073&SUBSYS_1F781028

;PERC8 Controller Family
%PERCH710Embd.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F301028
%PERCH710PAdp.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F311028
%PERCH710PInt.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F321028
%PERCH710PMini.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F331028
%PERCH710PMini.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F341028
%PERCH710Adp.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F351028
%PERCH710Int.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F361028
%PERCH710Mini.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F371028
%PERCH710Mini.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F381028
%PERCH810Adp.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F2D1028
;PERC8 Controller Family (Workstation)
%PERCH710PWSAdp.DeviceDesc%         = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F771028

;PERC7/8 Plasma Adapters 
%PERCH810V.DeviceDesc%              = Install_MSI, PCI\VEN_1000&DEV_002F&SUBSYS_1F391028 
%PERCH810VRes.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_002F&SUBSYS_1F3A1028 
%PERCH710VAdp.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_002F&SUBSYS_1F3B1028 
%PERCH710PVAdp.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_002F&SUBSYS_1F3C1028 
%PERCH710VMini.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_002F&SUBSYS_1F3D1028 
%PERCH710PVMini.DeviceDesc%         = Install_MSI, PCI\VEN_1000&DEV_002F&SUBSYS_1F3E1028 
%PERCH710VRes.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_002F&SUBSYS_1F3F1028 
%PERCH710PVRes.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_002F&SUBSYS_1F401028 

[DELL.NTamd64]
; Dell
;PERC7 Controller Family
%PERCH700.DeviceDesc%               = Install_MSI, PCI\VEN_1000&DEV_0079&SUBSYS_1F191028
%PERCH700Adp.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0079&SUBSYS_1F161028
%PERCH700Int.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0079&SUBSYS_1F171028
%PERCH700Mod.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0079&SUBSYS_1F181028
%PERCH800.DeviceDesc%               = Install_MSI, PCI\VEN_1000&DEV_0079&SUBSYS_1F1B1028
%PERCH800Adp.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0079&SUBSYS_1F151028
%PERCH800PAdp.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_0079&SUBSYS_1F1A1028

;PERC8 iMR Controller Family
%PERCH310Adp.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0073&SUBSYS_1F4E1028
%PERCH310Int.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_0073&SUBSYS_1F4F1028
%PERCH310Mini.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_0073&SUBSYS_1F501028
%PERCH310Mini.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_0073&SUBSYS_1F511028
%PERCH310Embd.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_0073&SUBSYS_1F521028
%PERCH310Embd.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_0073&SUBSYS_1F531028
%PERCH310.DeviceDesc%               = Install_MSI, PCI\VEN_1000&DEV_0073&SUBSYS_1F541028
;PERC8 iMR Controller Family (Workstation)
%PERCH310WSAdp.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_0073&SUBSYS_1F781028

;PERC8 Controller Family
%PERCH710Embd.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F301028
%PERCH710PAdp.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F311028
%PERCH710PInt.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F321028
%PERCH710PMini.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F331028
%PERCH710PMini.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F341028
%PERCH710Adp.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F351028
%PERCH710Int.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F361028
%PERCH710Mini.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F371028
%PERCH710Mini.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F381028
%PERCH810Adp.DeviceDesc%            = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F2D1028
;PERC8 Controller Family (Workstation)
%PERCH710PWSAdp.DeviceDesc%         = Install_MSI, PCI\VEN_1000&DEV_005B&SUBSYS_1F771028

;PERC7/8 Plasma Adapters 
%PERCH810V.DeviceDesc%              = Install_MSI, PCI\VEN_1000&DEV_002F&SUBSYS_1F391028 
%PERCH810VRes.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_002F&SUBSYS_1F3A1028 
%PERCH710VAdp.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_002F&SUBSYS_1F3B1028 
%PERCH710PVAdp.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_002F&SUBSYS_1F3C1028 
%PERCH710VMini.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_002F&SUBSYS_1F3D1028 
%PERCH710PVMini.DeviceDesc%         = Install_MSI, PCI\VEN_1000&DEV_002F&SUBSYS_1F3E1028 
%PERCH710VRes.DeviceDesc%           = Install_MSI, PCI\VEN_1000&DEV_002F&SUBSYS_1F3F1028 
%PERCH710PVRes.DeviceDesc%          = Install_MSI, PCI\VEN_1000&DEV_002F&SUBSYS_1F401028 

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

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

PERCH310.DeviceDesc                 = "PERC H310"
PERCH310Adp.DeviceDesc              = "PERC H310 Adapter"
PERCH310Int.DeviceDesc              = "PERC H310 Integrated"
PERCH310Mini.DeviceDesc             = "PERC H310 Mini"
PERCH310Embd.DeviceDesc             = "PERC H310 Embedded"
PERCH700.DeviceDesc                 = "PERC H700"
PERCH700Adp.DeviceDesc              = "PERC H700 Adapter"
PERCH700Int.DeviceDesc              = "PERC H700 Integrated"
PERCH700Mod.DeviceDesc              = "PERC H700 Modular"
PERCH710Adp.DeviceDesc              = "PERC H710 Adapter"
PERCH710Int.DeviceDesc              = "PERC H710 Integrated"
PERCH710Mini.DeviceDesc             = "PERC H710 Mini"
PERCH710Embd.DeviceDesc             = "PERC H710 Embedded"
PERCH710PAdp.DeviceDesc             = "PERC H710P Adapter"
PERCH710PInt.DeviceDesc             = "PERC H710P Integrated"
PERCH710PMini.DeviceDesc            = "PERC H710P Mini"
PERCH800.DeviceDesc                 = "PERC H800"
PERCH800Adp.DeviceDesc              = "PERC H800 Adapter"
PERCH800PAdp.DeviceDesc             = "PERC H800 Proto Adapter"
PERCH810Adp.DeviceDesc              = "PERC H810 Adapter"
PERCH810V.DeviceDesc                = "Shared PERC8 External"
PERCH810VRes.DeviceDesc             = "PERC H810V"
PERCH710VAdp.DeviceDesc             = "PERC H710V Adapter"
PERCH710PVAdp.DeviceDesc            = "PERC H710PV Adapter"
PERCH710VMini.DeviceDesc            = "PERC H710V Mini"
PERCH710PVMini.DeviceDesc           = "Shared PERC 8"
PERCH710VRes.DeviceDesc             = "PERC H710V"
PERCH710PVRes.DeviceDesc            = "PERC H710PV"
;PERC WorkStation Devices
PERCH310WSAdp.DeviceDesc            = "PERC H310 for Dell Precision"
PERCH710PWSAdp.DeviceDesc           = "PERC H710P for Dell Precision"

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