; Copyright (C), Intel Corporation. All rights reserved. 
; ********************************************************************************************** 
; **    Filename:  iaStorAV.inf 
; **    Revision:  09/05/2019,15.44.0.1015
; **    Abstract:  Windows* INF File for AHCI Intel(R) Rapid Storage Technology Driver 
; **               Installs: RST AHCI RAID Controller Miniport
; ********************************************************************************************** 
[Version] 
Signature="$Windows NT$" 
Provider=%INTEL% 
ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}
Class=SCSIAdapter
;Real driver date: 09/05/2019
DriverVer=02/08/2018,15.44.0.1015
;
[SourceDisksNames] 
3426=windows cd 
;
[DestinationDirs] 
DefaultDestDir = 12
;
[ControlFlags] 
ExcludeFromSelect = * 
;
[Manufacturer] 
%INTEL% = INTEL, NTx86, NTamd64
;
[iaStorAVC_Service_Inst] 
DisplayName    = %iaStorAVC.DeviceDesc%
ServiceType    = %SERVICE_KERNEL_DRIVER% 
StartType      = %SERVICE_BOOT_START% 
ErrorControl   = %SERVICE_ERROR_NORMAL% 
ServiceBinary  = %12%\iaStorAVC.sys 
LoadOrderGroup = SCSI miniport 
AddReg = pnpsafe_pci_addreg
;
[iaStorAVC_EventLog_Inst] 
AddReg = iaStorAVC_EventLog_AddReg 
;
[iaStorAVC_EventLog_AddReg] 
HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\iaStorAVC.sys"
HKR,,TypesSupported,%REG_TYPE_DWORD%,7 
;

;

;
[SourceDisksFiles] 
iaStorAVC.sys = 3426
;
[INTEL.NTx86]
%PCI\VEN_8086&DEV_2822&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_2822&CC_0104
%PCI\VEN_8086&DEV_282A&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_282A&CC_0104
%PCI\VEN_8086&DEV_2826&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_2826&CC_0104
%PCI\VEN_8086&DEV_34D7&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_34D7&CC_0104
%PCI\VEN_8086&DEV_38D6&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_38D6&CC_0104
%PCI\VEN_8086&DEV_38D7&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_38D7&CC_0104
%PCI\VEN_8086&DEV_3DD6&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_3DD6&CC_0104
%PCI\VEN_8086&DEV_3DD7&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_3DD7&CC_0104
%PCI\VEN_8086&DEV_A384&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_A384&CC_0104
%PCI\VEN_8086&DEV_A386&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_A386&CC_0104
%PCI\VEN_8086&DEV_A38E&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_A38E&CC_0104
%PCI\VEN_8086&DEV_06D4&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_06D4&CC_0104
%PCI\VEN_8086&DEV_06D5&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_06D5&CC_0104
%PCI\VEN_8086&DEV_06D6&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_06D6&CC_0104
%PCI\VEN_8086&DEV_06D7&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_06D7&CC_0104
%PCI\VEN_8086&DEV_06DE&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_06DE&CC_0104
%PCI\VEN_8086&DEV_02D5&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_02D5&CC_0104
%PCI\VEN_8086&DEV_02D7&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_02D7&CC_0104
;
[INTEL.NTamd64] 
%PCI\VEN_8086&DEV_2822&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_2822&CC_0104
%PCI\VEN_8086&DEV_282A&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_282A&CC_0104
%PCI\VEN_8086&DEV_2826&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_2826&CC_0104
%PCI\VEN_8086&DEV_34D7&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_34D7&CC_0104
%PCI\VEN_8086&DEV_38D6&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_38D6&CC_0104
%PCI\VEN_8086&DEV_38D7&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_38D7&CC_0104
%PCI\VEN_8086&DEV_3DD6&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_3DD6&CC_0104
%PCI\VEN_8086&DEV_3DD7&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_3DD7&CC_0104
%PCI\VEN_8086&DEV_A384&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_A384&CC_0104
%PCI\VEN_8086&DEV_A386&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_A386&CC_0104
%PCI\VEN_8086&DEV_A38E&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_A38E&CC_0104
%PCI\VEN_8086&DEV_06D4&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_06D4&CC_0104
%PCI\VEN_8086&DEV_06D5&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_06D5&CC_0104
%PCI\VEN_8086&DEV_06D6&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_06D6&CC_0104
%PCI\VEN_8086&DEV_06D7&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_06D7&CC_0104
%PCI\VEN_8086&DEV_06DE&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_06DE&CC_0104
%PCI\VEN_8086&DEV_02D5&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_02D5&CC_0104
%PCI\VEN_8086&DEV_02D7&CC_0104.DeviceDesc% = iaStorAVC_inst, PCI\VEN_8086&DEV_02D7&CC_0104
; 
[iaStorAVC_inst] 
CopyFiles=@iaStorAVC.sys 
;
[iaStorAVC_inst.HW] 
AddReg = msi_addreg 
AddReg = storport_addreg
;
[iaStorAVC_inst.Services] 
AddService = iaStorAVC, %SPSVCINST_ASSOCSERVICE%, iaStorAVC_Service_Inst, iaStorAVC_EventLog_Inst
;
;
;
[pnpsafe_pci_addreg]
; Use raw values for BusType, not a DEFINE, ChkInf fails on hex alpha chars 
; BusType_ATA == 0x3, BusTypeATA, BusType_RAID == 0x8, BusType_SATA == 0xb
HKR, Parameters\PnpInterface,  5,  %REG_TYPE_DWORD%,  0x00000001 
HKR, Parameters, BusType, %REG_TYPE_DWORD%,  0x00000008

;
; Opt into StorPort's I/O latency cap.
HKR, "Parameters",             "IoLatencyCap",              %REG_TYPE_DWORD%,  0x000001F4 
;
[Strings] 
; Localizable Strings 

;
; Client devices
iaStorAVC.DeviceDesc                     = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_2822&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_2826&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_282A&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_34D7&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_38D6&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_38D7&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_3DD6&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_3DD7&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_A384&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_A386&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_A38E&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_06D4&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_06D5&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_06D6&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_06D7&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_06DE&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_02D5&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"
PCI\VEN_8086&DEV_02D7&CC_0104.DeviceDesc = "Intel Chipset SATA RAID Controller"

;
INTEL = "Intel Corporation"
;
; Non-Localizable Strings 
SPSVCINST_ASSOCSERVICE = 0x00000002 
REG_MULTI_SZ = 0x00010000 
REG_EXPAND_SZ = 0x00020000 
REG_TYPE_DWORD = 0x00010001 
SERVICE_KERNEL_DRIVER  = 1 
SERVICE_FILE_SYSTEM_DRIVER = 2
SERVICE_WIN32_OWN_PROCESS = 0x00000010
SERVICE_BOOT_START = 0
SERVICE_AUTO_START = 2
SERVICE_DEMAND_START = 3
SERVICE_ERROR_NORMAL   = 1
;

;
; MSI enables. 
[msi_addreg]
HKR, Interrupt Management, 0x00000010
HKR, Interrupt Management\MessageSignaledInterruptProperties, 0x00000010
HKR, Interrupt Management\MessageSignaledInterruptProperties, MSISupported, %REG_TYPE_DWORD%,   1
HKR, Interrupt Management\MessageSignaledInterruptProperties, MessageNumberLimit, %REG_TYPE_DWORD%,   80
HKR, Interrupt Management\Affinity Policy, 0x00000010
HKR, Interrupt Management\Affinity Policy, DevicePolicy, %REG_TYPE_DWORD%, 5 ;IrqPolicySpreadMessagesAcrossAllProcessors
;
[storport_addreg]
; Enables/Disables Idle Power Management for StorPort
HKR, StorPort, EnableIdlePowerManagement, %REG_TYPE_DWORD%, 0x00000001
; Force StorPort to keep all sense data in Pre-Win8 OSes (max value is 255)
HKR, StorPort, TotalSenseDataBytes, %REG_TYPE_DWORD%, 0x000000FF
