; Copyright (c) 2009-2018 Intel Corporation
; **********************************************************************************************
; **********************************************************************************************
; **    Filename:  iaAHCI.inf
; **    Revision:  DRIVER_INFO
; **    Abstract:  Windows* INF File for AHCI Intel(R) Rapid Storage Technology Enterprise Driver
; **               Installs: RSTe AHCI Controller Miniport
; **********************************************************************************************
[Version]
Signature="$Windows NT$"
Provider=%INTEL%
ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}
Class=SCSIAdapter
CatalogFile=iaAHCI.cat
DriverVer=04/12/2019,5.6.1.1010
;
[PackageInfo]
Name=AHCI
;
[SourceDisksNames]
1 = %DiskId1%,,,""
[DestinationDirs]
DefaultDestDir = 12
;
[ControlFlags]
ExcludeFromSelect = *
;
[Manufacturer]
%INTEL% = INTEL, NTamd64.6.1
;
[iaStorE_Service_Inst]
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\iaStorE.sys
LoadOrderGroup = SCSI miniport
AddReg         = pnpsafe_pci_addreg
;
[iaStorE_EventLog_Inst]
AddReg = iaStorE_EventLog_AddReg
;
[iaStorE_EventLog_AddReg]
HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\iaStorE.sys"
HKR,,TypesSupported,%REG_TYPE_DWORD%,7
;
[iaStorF_Service_Inst]
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\iaStorF.sys
;
[iaStorF_EventLog_Inst]
AddReg = iaStorF_EventLog_AddReg
;
[iaStorF_EventLog_AddReg]
HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll"
HKR,,TypesSupported,%REG_TYPE_DWORD%,7
;
;********************************************************
;*
;* 64-BIT X86 ARCHITECTURE
;*
;* This section specifies the 64-bit architecture specific INF file entries
;* required to install a driver as a 64-bit compatible driver.
;*
;******************************************************************************
[SourceDisksFiles.amd64]
iaStorE.sys = 1,,,
iaStorF.sys = 1,,,
;
[INTEL.NTamd64.6.1]
;Windows_7_x64 and later
%PCI\VEN_8086&DEV_1D02&CC_0106.DeviceDesc% = iaStorE_inst, PCI\VEN_8086&DEV_1D02&CC_0106
%PCI\VEN_8086&DEV_8C02&CC_0106.DeviceDesc% = iaStorE_inst, PCI\VEN_8086&DEV_8C02&CC_0106
%PCI\VEN_8086&DEV_8D02&CC_0106.DeviceDesc% = iaStorE_inst, PCI\VEN_8086&DEV_8D02&CC_0106
%PCI\VEN_8086&DEV_1F22&CC_0106.DeviceDesc% = iaStorE_inst, PCI\VEN_8086&DEV_1F22&CC_0106
%PCI\VEN_8086&DEV_A102&CC_0106.DeviceDesc% = iaStorE_inst, PCI\VEN_8086&DEV_A102&CC_0106
%PCI\VEN_8086&DEV_A202&CC_0106.DeviceDesc% = iaStorE_inst, PCI\VEN_8086&DEV_A202&CC_0106
%PCI\VEN_8086&DEV_A182&CC_0106.DeviceDesc% = iaStorE_inst, PCI\VEN_8086&DEV_A182&CC_0106
%PCI\VEN_8086&DEV_A282&CC_0106.DeviceDesc% = iaStorE_inst, PCI\VEN_8086&DEV_A282&CC_0106
%PCI\VEN_8086&DEV_A352&CC_0106.DeviceDesc% = iaStorE_inst, PCI\VEN_8086&DEV_A352&CC_0106
;
[iaStorE_inst.NTamd64]
CopyFiles=@iaStorE.sys
CopyFiles=@iaStorF.sys
FeatureScore=0x80
;
[iaStorE_inst.NTamd64.HW]
AddReg = iaStorF_addreg
AddReg = msi_addreg
AddReg = storport_addreg
;
[iaStorE_inst.NTamd64.Services]
AddService = iaStorE, %SPSVCINST_ASSOCSERVICE%, iaStorE_Service_Inst, iaStorE_EventLog_Inst
AddService = iaStorF, , iaStorF_Service_Inst, iaStorF_EventLog_Inst
;
[iaStorF_addreg]
; Layer the RST Filter driver under all Disk class devices as a lower disk class filter
;
HKLM, System\CurrentControlSet\Control\Class\{4d36e967-e325-11ce-bfc1-08002be10318}, LowerFilters, 0x00010008, iaStorF
;
[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%,  0x0000000b
; Tell Storport in Win7/Srv08R2(KB982018) that driver can report 4K sector size (not needed in Win8)
HKR, Parameters\Device,        EnableQueryAccessAlignment,  %REG_TYPE_DWORD%,  0x00000001
;
[Strings]
;
; Localizable Strings
;
diskId1 = "RSTe AHCI Installation Disk"
;server
PCI\VEN_8086&DEV_1D02&CC_0106.DeviceDesc    = "Intel(R) C600 series chipset SATA AHCI Controller"
PCI\VEN_8086&DEV_8C02&CC_0106.DeviceDesc    = "Intel(R) C220 series chipset SATA AHCI Controller"
PCI\VEN_8086&DEV_8D02&CC_0106.DeviceDesc    = "Intel(R) C600+/C220+ series chipset SATA AHCI Controller"
PCI\VEN_8086&DEV_1F22&CC_0106.DeviceDesc    = "Intel(R) C600+/C220+ series chipset SATA AHCI Controller"
PCI\VEN_8086&DEV_A102&CC_0106.DeviceDesc    = "Intel(R) C600+/C220+ series chipset SATA AHCI Controller"
PCI\VEN_8086&DEV_A202&CC_0106.DeviceDesc    = "Intel(R) C600+/C220+ series chipset SATA AHCI Controller"
PCI\VEN_8086&DEV_A182&CC_0106.DeviceDesc    = "Intel(R) C600+/C220+ series chipset SATA AHCI Controller"
PCI\VEN_8086&DEV_A282&CC_0106.DeviceDesc    = "Intel(R) C600+/C220+ series chipset SATA AHCI Controller"
PCI\VEN_8086&DEV_A352&CC_0106.DeviceDesc    = "Intel(R) C600+/C220+ series chipset SATA AHCI 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_BOOT_START     = 0
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%,   1
;
[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
