;
;  INTEL CONFIDENTIAL
;
;  Copyright 2016-2024 Intel Corporation. All Rights Reserved.
;
;  This software and the related documents are Intel copyrighted materials, and
;  your use of them is governed by the express license under which they were
;  provided to you ("License"). Unless the License provides otherwise, you may
;  not use, modify, copy, publish, distribute, disclose or transmit this
;  software or the related documents without Intel's prior written permission.
;
;  This software and the related documents are provided as is, with no express or
;  implied warranties, other than those that are expressly stated in the License.

;
; icp_qat4.inf
;

[Version]
Signature="$WINDOWS NT$"
Class=SecurityAccelerator
ClassGuid={268c95a1-edfe-11d3-95c3-0010dc4050a5}
Provider=%ManufacturerName%
PnpLockDown=1
CatalogFile=icp_qat4.cat
DriverVer = 07/25/2024,2.2.0.3

[SourceDisksNames]
1 = %DiskName%,,,""

[SourceDisksFiles]
icp_qat4.sys  = 1,,
qat_msg4.dll  = 1,,
qat_402xx.bin = 1,,
qat_402xx_mmp.bin = 1,,

;*****************************************
; Install Section
;*****************************************

[Manufacturer]
%ManufacturerName%=Standard,NTamd64

[Standard.NTamd64]
%icp_qat4.402xxDeviceDesc%=QAT_Device_402xx, PCI\VEN_8086&DEV_4944
%icp_qat4.402xxvfDeviceDesc%=QAT_Device_402xx_VF, PCI\VEN_8086&DEV_4945

[QAT_Device_402xx.NT]
CopyFiles=Drivers.CopyFiles, MessageDLL.CopyFiles, 402xxFW.CopyFiles

[QAT_Device_402xx.NT.HW]
Include=machine.inf
Needs=PciSriovSupported.HW
AddReg = QAT_Device_addreg
AddReg = QAT_Device_SRIOV_addreg

;-------------- Service installation
[QAT_Device_402xx.NT.Services]
AddService = icp_qat4,%SPSVCINST_ASSOCSERVICE%, icp_qat4_Service_Inst, icp_qat4_EventLogInst

[QAT_Device_402xx_VF.NT]
CopyFiles=Drivers.CopyFiles, MessageDLL.CopyFiles

[QAT_Device_402xx_VF.NT.HW]
Include=machine.inf
AddReg = QAT_Device_addreg

;-------------- Service installation
[QAT_Device_402xx_VF.NT.Services]
AddService = icp_qat4,%SPSVCINST_ASSOCSERVICE%, icp_qat4_Service_Inst, icp_qat4_EventLogInst

[Drivers.CopyFiles]
icp_qat4.sys

[MessageDLL.CopyFiles]
qat_msg4.dll

[402xxFW.CopyFiles]
qat_402xx.bin
qat_402xx_mmp.bin

[icp_qat4_EventLogInst]
AddReg=IcpQatEventLogAddReg

[IcpQatEventLogAddReg]
HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\iologmsg.dll;%%SystemRoot%%\System32\qat_msg4.dll"
HKR,,TypesSupported,0x00010001,7


; -------------- icp_qat4 driver install sections
[icp_qat4_Service_Inst]
DisplayName    = %icp_qat4.SVCDESC%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\icp_qat4.sys
LoadOrderGroup = Extended Base

AddReg = icp_qat4_Service_Inst.AddReg

[icp_qat4_Service_Inst.AddReg]
HKR, "UQ", "EnableUQ", 0x00010001, 0
HKR, "Parameters", "LogPages", 0x00010001, 0x10

[QAT_Device_addreg]
HKR,Interrupt Management,,0x00000010
HKR,Interrupt Management\MessageSignaledInterruptProperties,,0x00000010
HKR,Interrupt Management\MessageSignaledInterruptProperties,MSISupported,0x00010001,1
HKR,Interrupt Management\MessageSignaledInterruptProperties,MessageNumberLimit,0x00010001,4
;
; The operating system should assign a single interrupt for the device to one processor
; that is close to the device.
;
HKR,Interrupt Management\Affinity Policy, DevicePolicy, 0x00010001, 2
HKR,Accelerator0,,0x00000010
HKR,Accelerator0,Bank0CoreAffinity,0x00010001,0x0001
HKR,Accelerator0,Bank1CoreAffinity,0x00010001,0x0002
HKR,Accelerator0,Bank2CoreAffinity,0x00010001,0x0004
HKR,Accelerator0,Bank3CoreAffinity,0x00010001,0x0008
HKR,Accelerator0,Bank4CoreAffinity,0x00010001,0x0010
HKR,Accelerator0,Bank5CoreAffinity,0x00010001,0x0020
HKR,Accelerator0,Bank6CoreAffinity,0x00010001,0x0040
HKR,Accelerator0,Bank7CoreAffinity,0x00010001,0x0080
HKR,Accelerator0,Bank8CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank9CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank10CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank11CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank12CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank13CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank14CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank15CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank16CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank17CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank18CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank19CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank20CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank21CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank22CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank23CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank24CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank25CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank26CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank27CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank28CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank29CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank30CoreAffinity,0x00010001,0x0000
HKR,Accelerator0,Bank31CoreAffinity,0x00010001,0x0000
HKR,ErrorHandling,,0x00000010
HKR,ErrorHandling,ResetOnUncorrectableError,0x00010001,0x1
HKR,General,,0x00000010

[QAT_Device_SRIOV_addreg]
HKR,Sriov,,0x00000010
HKR,Sriov,EnableSriov,0x00010001,0x0

[DestinationDirs]
DefaultDestDir = 11
Drivers.CopyFiles = 12
MessageDLL.CopyFiles = 11
4xxxFW.CopyFiles = 12
402xxFW.CopyFiles = 12

[QAT_Device_402xx.NT.Wdf]
KmdfService =  icp_qat4, icp_qat4_wdfsect

[icp_qat4_wdfsect]
KmdfLibraryVersion = 1.15

[Strings]
SPSVCINST_ASSOCSERVICE= 0x00000002
ManufacturerName="Intel"
ClassName="Intel(R) QAT Device Driver"
DiskName = "Intel(R) QAT SW Installation Disk"
icp_qat4.SVCDESC = "Intel(R) QAT Gen4 Service"
icp_qat4.402xxDeviceDesc = "Intel(R) 402xx Accelerator"
icp_qat4.402xxvfDeviceDesc = "Intel(R) 402xx Accelerator Virtual Function"
