; Copyright (c) 2003-07 Intel Corporation
; ****************************************************************************
; ****************************************************************************
; **    Filename:  iaAHCI.INF
; **    Revision:  Version 7.0.0.1020
; **    Date:      02/12/2007
; **    Abstract:  Windows* INF File for Intel(R) Matrix Storage Manager Driver
; ****************************************************************************
; ****************************************************************************

[version]
CatalogFile=iaAHCI.cat
Signature="$WINDOWS NT$"
Class=hdc
ClassGuid={4D36E96A-E325-11CE-BFC1-08002BE10318}
Provider=%INTEL%
DriverVer=02/12/2007,7.0.0.1020

[DestinationDirs]
DefaultDestDir = 12 ; DIRID_DRIVERS
CopyFullPort = 12;

[CopyFullPort]
iaStor.sys

[SourceDisksNames]
1 = %DiskName%,,,

[SourceDisksFiles]
iaStor.sys= 1

[ControlFlags]
ExcludeFromSelect=PCI\VEN_8086&DEV_2652&CC_0106
ExcludeFromSelect=PCI\VEN_8086&DEV_2653&CC_0106
ExcludeFromSelect=PCI\VEN_8086&DEV_27C1&CC_0106
ExcludeFromSelect=PCI\VEN_8086&DEV_27C5&CC_0106
ExcludeFromSelect=PCI\VEN_8086&DEV_2681&CC_0106
ExcludeFromSelect=PCI\VEN_8086&DEV_2821&CC_0106
ExcludeFromSelect=PCI\VEN_8086&DEV_2829&CC_0106

[Manufacturer]
%INTEL%=INTEL_HDC,ntamd64

[INTEL_HDC]
; ICH6R - 82801FR (R)
%PCI\VEN_8086&DEV_2652&CC_0106.DeviceDesc% = iaStor_Inst, PCI\VEN_8086&DEV_2652&CC_0106

; ICH6M - 82801FBM (Mobile)
%PCI\VEN_8086&DEV_2653&CC_0106.DeviceDesc% = iaStor_mobl_Inst, PCI\VEN_8086&DEV_2653&CC_0106

; ICH7R/DH - 82801GR/GH
%PCI\VEN_8086&DEV_27C1&CC_0106.DeviceDesc% = iaStor_Inst,PCI\VEN_8086&DEV_27C1&CC_0106

; ICH7M 
%PCI\VEN_8086&DEV_27C5&CC_0106.DeviceDesc% = iaStor_mobl_Inst,PCI\VEN_8086&DEV_27C5&CC_0106

; ESB2
%PCI\VEN_8086&DEV_2681&CC_0106.DeviceDesc% = iaStor_Inst, PCI\VEN_8086&DEV_2681&CC_0106

; ICH8R
%PCI\VEN_8086&DEV_2821&CC_0106.DeviceDesc% = iaStor_Inst, PCI\VEN_8086&DEV_2821&CC_0106

; ICH8M
%PCI\VEN_8086&DEV_2829&CC_0106.DeviceDesc% = iaStor_mobl_Inst, PCI\VEN_8086&DEV_2829&CC_0106


[INTEL_HDC.ntamd64]
; ICH6R - 82801FR (R)
%PCI\VEN_8086&DEV_2652&CC_0106.DeviceDesc% = iaStor_Inst, PCI\VEN_8086&DEV_2652&CC_0106

; ICH7R/DH - 82801GR/GH
%PCI\VEN_8086&DEV_27C1&CC_0106.DeviceDesc% = iaStor_Inst,PCI\VEN_8086&DEV_27C1&CC_0106

; ICH7M 
%PCI\VEN_8086&DEV_27C5&CC_0106.DeviceDesc% = iaStor_mobl_Inst,PCI\VEN_8086&DEV_27C5&CC_0106

; ESB2
%PCI\VEN_8086&DEV_2681&CC_0106.DeviceDesc% = iaStor_Inst, PCI\VEN_8086&DEV_2681&CC_0106

; ICH8R
%PCI\VEN_8086&DEV_2821&CC_0106.DeviceDesc% = iaStor_Inst, PCI\VEN_8086&DEV_2821&CC_0106

; ICH8M
%PCI\VEN_8086&DEV_2829&CC_0106.DeviceDesc% = iaStor_mobl_Inst, PCI\VEN_8086&DEV_2829&CC_0106

;****************************************************
[iaStor_Inst]
AddReg = iaStor_Temp_parameters_AddReg
CopyFiles=CopyFullPort

[iaStor_Inst.HW]
AddReg = iaStorSecurity.AddReg

[iaStor_mobl_Inst.HW]
AddReg = iaStorSecurity.AddReg

[iaStorSecurity.AddReg]
HKR,,Security,,"D:P(A;;FA;;;SY)(A;;FA;;;BA)(A;;FRFW;;;BU)"

[iaStor_mobl_Inst]
AddReg = iaStor_Temp_parameters_AddReg
CopyFiles=CopyFullPort

[iaStor_Temp_parameters_AddReg]

[iaStor_Inst.Services]
AddService = iaStor, %SPSVCINST_ASSOCSERVICE%, iaStor_Service_Inst, iaStor_EventLog_Inst

[iaStor_mobl_Inst.Services]
AddService = iaStor, %SPSVCINST_ASSOCSERVICE%, iaStor_mobl_Service_Inst, iaStor_EventLog_Inst

[iaStor_Service_Inst]
DisplayName    = %*PNP0600.DeviceDesc%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\iaStor.sys
LoadOrderGroup = SCSI Miniport
AddReg         = iaStor_parameters_AddReg

[iaStor_mobl_Service_Inst]
DisplayName    = %*PNP0600.DeviceDesc%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\iaStor.sys
LoadOrderGroup = SCSI Miniport
AddReg         = iaStor_mobl_parameters_AddReg

[iaStor_parameters_AddReg]
HKR,,Tag,%REG_DWORD%,25
HKR,Parameters,queuePriorityEnable,%REG_DWORD%,0

[iaStor_mobl_parameters_AddReg]
HKR,,Tag,%REG_DWORD%,25
HKR,Parameters,queuePriorityEnable,%REG_DWORD%,0

HKR,Parameters\Port0,%AN%,0x00010001,0
HKR,Parameters\Port0,%LPM%,0x00010001,1
HKR,Parameters\Port0,%LPMSTATE%,0x00010001,0
HKR,Parameters\Port0,%LPMDSTATE%,0x00010001,1
HKR,Parameters\Port0,%GTF%,0x00010001,1
HKR,Parameters\Port0,%DIPM%,0x00010001,1

HKR,Parameters\Port1,%AN%,0x00010001,0
HKR,Parameters\Port1,%LPM%,0x00010001,1
HKR,Parameters\Port1,%LPMSTATE%,0x00010001,0
HKR,Parameters\Port1,%LPMDSTATE%,0x00010001,1
HKR,Parameters\Port1,%GTF%,0x00010001,1
HKR,Parameters\Port1,%DIPM%,0x00010001,1

HKR,Parameters\Port2,%AN%,0x00010001,0
HKR,Parameters\Port2,%LPM%,0x00010001,1
HKR,Parameters\Port2,%LPMSTATE%,0x00010001,0
HKR,Parameters\Port2,%LPMDSTATE%,0x00010001,1
HKR,Parameters\Port2,%GTF%,0x00010001,1
HKR,Parameters\Port2,%DIPM%,0x00010001,1

[iaStor_EventLog_Inst]
AddReg = iaStor_EventLog_AddReg

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

;********************************************************
[Strings]
DiskName                = "Intel Matrix storage Manager Driver"
*PNP0600.DeviceDesc	= "Intel AHCI Controller"
PCI\VEN_8086&DEV_2652&CC_0106.DeviceDesc	= "Intel(R) 82801FR SATA AHCI Controller"
PCI\VEN_8086&DEV_2653&CC_0106.DeviceDesc	= "Intel(R) 82801FBM SATA AHCI Controller"
PCI\VEN_8086&DEV_27C1&CC_0106.DeviceDesc	= "Intel(R) 82801GR/GH SATA AHCI Controller"
PCI\VEN_8086&DEV_27C5&CC_0106.DeviceDesc	= "Intel(R) 82801GBM SATA AHCI Controller"
PCI\VEN_8086&DEV_2681&CC_0106.DeviceDesc	= "Intel(R) 631xESB/632xESB SATA AHCI Controller"
PCI\VEN_8086&DEV_2821&CC_0106.DeviceDesc	= "Intel(R) 82801HR/HH/HO SATA AHCI Controller"
PCI\VEN_8086&DEV_2829&CC_0106.DeviceDesc	= "Intel(R) 82801HEM/HBM SATA AHCI Controller"

INTEL="Intel"
AN="AN"
LPM="LPM"
LPMSTATE="LPMSTATE"
LPMDSTATE="LPMDSTATE"
GTF="GTF"
DIPM="DIPM"

;*******************************************
;Handy macro substitutions (non-localizable)
SPSVCINST_ASSOCSERVICE = 0x00000002
SERVICE_KERNEL_DRIVER  = 1
SERVICE_BOOT_START     = 0
SERVICE_ERROR_NORMAL   = 1
REG_EXPAND_SZ          = 0x00020000
REG_DWORD              = 0x00010001
