
;=============================================================================
;
; Copyright (c) Intel(R) Corporation (2022).
;
; INTEL MAKES NO WARRANTY OF ANY KIND REGARDING THE CODE.  THIS CODE IS
; LICENSED ON AN "AS IS" BASIS AND INTEL WILL NOT PROVIDE ANY SUPPORT,
; ASSISTANCE, INSTALLATION, TRAINING OR OTHER SERVICES.  INTEL DOES NOT
; PROVIDE ANY UPDATES, ENHANCEMENTS OR EXTENSIONS.  INTEL SPECIFICALLY
; DISCLAIMS ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY
; PARTICULAR PURPOSE, OR ANY OTHER WARRANTY.  Intel disclaims all liability,
; including liability for infringement of any proprietary rights, relating to
; use of the code. No license, express or implied, by estoppel or otherwise,
; to any intellectual property rights is granted herein.
;
;=============================================================================

;======================================================================
; Installation INF for the Intel(R) NPU
;======================================================================
[Version]
Signature   = "$WINDOWS NT$"
Provider    = %Intel%
ClassGUID   = {F01A9D53-3FF6-48D2-9F97-C8A7004BE10C}
Class       = ComputeAccelerator
CatalogFile = npu.cat
DriverVer   = 05/22/2024,32.0.100.2381
PnpLockDown = 1

[DestinationDirs]
npu.Miniport_DS             = 13                        ; Driver store
npu.d3d12_DS                = 13                        ; Driver store
npu.LevelZero_DS            = 13                        ; Driver store
npu.LevelZero_SYS32         = 11                        ; System32
npu.dxil_frontend_DS        = 13                        ; Driver store
npu.mcc_DS                  = 13                        ; Driver store
npu.MvcDepend_bin_DS        = 13, MVC_DEPEND\bin        ; Driver store
npu.MvcDepend_lib_DS        = 13, MVC_DEPEND\lib        ; Driver store
npu.GraphCompiler_DS        = 13                        ; Driver store
npu.TPP_DS                  = 13                        ; Driver store

npu.ThermalApi_DS           = 13                        ; Driver store

npu.Firmware_3700_DS        = 13, firmware              ; Driver store

npu.Firmware_NPU2_7_DS      = 13, firmware              ; Driver store

[Manufacturer]
%Intel% = IntelNPU, NTamd64.10.0...22621, NTamd64.10.0...18362

[IntelNPU.NTamd64.10.0...18362]

%NPU_6240_w10_18362% = NPU2_w10_18362_DS, PCI\VEN_8086&DEV_6240

%NPU_7D1D_w10_18362% = NPU2_7_w10_18362_DS, PCI\VEN_8086&DEV_7D1D&SUBSYS_380917AA
%NPU_7D1D_w10_18362% = NPU2_7_w10_18362_DS, PCI\VEN_8086&DEV_7D1D&SUBSYS_380B17AA
%NPU_7D1D_w10_18362% = NPU2_7_w10_18362_DS, PCI\VEN_8086&DEV_7D1D&SUBSYS_381317AA
%NPU_7D1D_w10_18362% = NPU2_7_w10_18362_DS, PCI\VEN_8086&DEV_7D1D&SUBSYS_50E117AA
%NPU_7D1D_w10_18362% = NPU2_7_w10_18362_DS, PCI\VEN_8086&DEV_7D1D&SUBSYS_380417AA
%NPU_7D1D_w10_18362% = NPU2_7_w10_18362_DS, PCI\VEN_8086&DEV_7D1D&SUBSYS_380317AA
%NPU_AD1D_w10_18362% = NPU2_7_w10_18362_DS, PCI\VEN_8086&DEV_AD1D

[IntelNPU.NTamd64.10.0...22621]

%NPU_6240_w11_22621% = NPU2_w11_22621_DS, PCI\VEN_8086&DEV_6240

%NPU_7D1D_w11_22621% = NPU2_7_w11_22621_DS, PCI\VEN_8086&DEV_7D1D&SUBSYS_380917AA
%NPU_7D1D_w11_22621% = NPU2_7_w11_22621_DS, PCI\VEN_8086&DEV_7D1D&SUBSYS_380B17AA
%NPU_7D1D_w11_22621% = NPU2_7_w11_22621_DS, PCI\VEN_8086&DEV_7D1D&SUBSYS_381317AA
%NPU_7D1D_w11_22621% = NPU2_7_w11_22621_DS, PCI\VEN_8086&DEV_7D1D&SUBSYS_50E117AA
%NPU_7D1D_w11_22621% = NPU2_7_w11_22621_DS, PCI\VEN_8086&DEV_7D1D&SUBSYS_380417AA
%NPU_7D1D_w11_22621% = NPU2_7_w11_22621_DS, PCI\VEN_8086&DEV_7D1D&SUBSYS_380317AA
%NPU_AD1D_w11_22621% = NPU2_7_w11_22621_DS, PCI\VEN_8086&DEV_AD1D

;=====================================================================
; Device sections
;=====================================================================

[NPU2_w10_18362_DS]
FeatureScore = FF
CopyFiles = npu.d3d12_DS
CopyFiles = npu.Miniport_DS, npu.Firmware_3700_DS
CopyFiles = npu.TPP_DS
AddReg = npu_SoftwareDX12Settings_DS, npu_SoftwareDXCoreD3D12Settings_DS
AddReg = npu_KmbFirmwareDownload_DS

[NPU2_w10_18362_DS.HW]
AddReg = npu_MSI_HardwareDeviceSettings
Include = machine.inf
Needs = PciD3ColdSupported.Hw

[NPU2_w10_18362_DS.Services]
AddService = npu, 0x00000002, npu_Service_Inst_DS

[NPU2_w11_22621_DS]
FeatureScore = FF
CopyFiles = npu.d3d12_DS, npu.dxil_frontend_DS, npu.MvcDepend_bin_DS, npu.MvcDepend_lib_DS, npu.mcc_DS
CopyFiles = npu.LevelZero_DS, npu.LevelZero_SYS32, npu.GraphCompiler_DS
CopyFiles = npu.Miniport_DS, npu.Firmware_3700_DS
CopyFiles = npu.TPP_DS

CopyFiles = npu.ThermalApi_DS

AddReg = npu_SoftwareDX12Settings_DS, npu_SoftwareL0Settings_DS, npu_SoftwareDXCoreD3D12Settings_DS
AddReg = npu_HwQueuedRenderPacketGroupLimitPerNode_DS
AddReg = npu_KmbFirmwareDownload_DS

AddReg = npu_SoftwareThermalApiDllSettings_DS

[NPU2_w11_22621_DS.HW]
AddReg = npu_MSI_HardwareDeviceSettings
Include = machine.inf
Needs = PciD3ColdSupported.Hw

[NPU2_w11_22621_DS.Services]
AddService = npu, 0x00000002, npu_Service_Inst_DS

[NPU2_w11_22621_DS.Components]
AddComponent = VEN_8086_DEV_6240_component,,VEN_8086_DEV_6240_ComponentInstall

[NPU2_w11_22621_DS.Events]
AddEventProvider={b3b1aab1-3c04-4b6d-a069-59547bc18233}, npu_KmdEventProvider_Inst_DS
AddEventProvider={416f823f-2ce2-44b9-a1ba-7e98ba4cd4ba}, npu_LevelZeroEventProvider_Inst_DS
AddEventProvider={11a83531-4ac9-4142-8d35-e474b6b3c597}, npu_D3D12EventProvider_Inst_DS

[NPU2_7_w10_18362_DS]
FeatureScore = FF
CopyFiles = npu.d3d12_DS
CopyFiles = npu.Miniport_DS, npu.Firmware_NPU2_7_DS
CopyFiles = npu.TPP_DS
AddReg = npu_SoftwareDX12Settings_DS, npu_SoftwareDXCoreD3D12Settings_DS
AddReg = npu_FirmwareDownload_NPU2_7_DS

[NPU2_7_w10_18362_DS.HW]
AddReg = npu_MSI_HardwareDeviceSettings

[NPU2_7_w10_18362_DS.Services]
AddService = npu, 0x00000002, npu_Service_Inst_DS

[NPU2_7_w11_22621_DS]
FeatureScore = FF
CopyFiles = npu.d3d12_DS, npu.dxil_frontend_DS, npu.MvcDepend_bin_DS, npu.MvcDepend_lib_DS, npu.mcc_DS
CopyFiles = npu.LevelZero_DS, npu.LevelZero_SYS32, npu.GraphCompiler_DS
CopyFiles = npu.Miniport_DS, npu.Firmware_NPU2_7_DS
CopyFiles = npu.TPP_DS
AddReg = npu_SoftwareDX12Settings_DS, npu_SoftwareL0Settings_DS, npu_SoftwareDXCoreD3D12Settings_DS
AddReg = npu_FirmwareDownload_NPU2_7_DS

[NPU2_7_w11_22621_DS.HW]
AddReg = npu_MSI_HardwareDeviceSettings

[NPU2_7_w11_22621_DS.Services]
AddService = npu, 0x00000002, npu_Service_Inst_DS

[NPU2_7_w11_22621_DS.Events]
AddEventProvider={b3b1aab1-3c04-4b6d-a069-59547bc18233}, npu_KmdEventProvider_Inst_DS
AddEventProvider={416f823f-2ce2-44b9-a1ba-7e98ba4cd4ba}, npu_LevelZeroEventProvider_Inst_DS
AddEventProvider={11a83531-4ac9-4142-8d35-e474b6b3c597}, npu_D3D12EventProvider_Inst_DS

;=====================================================================
; File sections
;=====================================================================

[npu.Miniport_DS]
npu_kmd.sys

[npu.d3d12_DS]
npu_d3d12_umd.dll

[npu.LevelZero_DS]
npu_level_zero_umd.dll
npu_blob_parser_kmb.dll
npu_blob_parser.dll

[npu.LevelZero_SYS32]
ze_loader.dll,,,0x00000020
ze_validation_layer.dll,,,0x00000020
ze_tracing_layer.dll,,,0x00000020

[npu.dxil_frontend_DS]
npu_dxil_frontend.dll
shavedxilvecz64.dll

[npu.MvcDepend_bin_DS]
moviAsm64.dll
moviCompile64.dll
moviLLD64.dll

[npu.MvcDepend_lib_DS]
mlibc_lite.a
mlibc_lite_ext.a
mlibcrt.a
mlibcxx.a
mlibm.a
mlibVecUtils.a

[npu.mcc_DS]
npu_dml_compiler.dll

[npu.GraphCompiler_DS]
vpux_driver_compiler.dll
tbb12.dll
tbbmalloc.dll

[npu.TPP_DS]
third-party-programs.txt

[npu.ThermalApi_DS]
npu_thermal.dll

[npu.Firmware_3700_DS]
FirmwareFip3700.bin
FirmwareBoot3700.img.fit

[npu.Firmware_NPU2_7_DS]
npu2_7_firmware.bin

;=====================================================================
; Component Installation
;=====================================================================

[VEN_8086_DEV_6240_ComponentInstall]
ComponentIds=MEP_VEN_8086_DEV_6240

;=====================================================================
; Events sections
;=====================================================================

[npu_KmdEventProvider_Inst_DS]
ProviderName        = Intel-NPU-Kmd
ResourceFile        = %13%\npu_kmd.sys
MessageFile         = %13%\npu_kmd.sys
ParameterFile       = %13%\npu_kmd.sys
AddChannel          = Intel-NPU-Kmd/Operational, 0x2, npu_KmdOperationalChannel_Inst_DS

[npu_LevelZeroEventProvider_Inst_DS]
ProviderName        = Intel-NPU-LevelZero
ResourceFile        = %13%\npu_level_zero_umd.dll
MessageFile         = %13%\npu_level_zero_umd.dll
ParameterFile       = %13%\npu_level_zero_umd.dll
AddChannel          = Intel-NPU-LevelZero/Operational, 0x2, npu_UmdOperationalChannel_Inst_DS
AddChannel          = Intel-NPU-LevelZero/Analytic, 0x3, npu_UmdAnalyticChannel_Inst_DS

[npu_D3D12EventProvider_Inst_DS]
ProviderName        = Intel-NPU-D3D12
ResourceFile        = %13%\npu_d3d12_umd.dll
MessageFile         = %13%\npu_d3d12_umd.dll
ParameterFile       = %13%\npu_d3d12_umd.dll
AddChannel          = Intel-NPU-D3D12/Operational, 0x2, npu_UmdOperationalChannel_Inst_DS

[npu_KmdOperationalChannel_Inst_DS]
Isolation           = 2               ; System isolation
Enabled             = 0
Value               = 16
LoggingMaxSize      = 15728640
LoggingRetention    = 2               ; Circular
LoggingAutoBackup   = 1

[npu_UmdOperationalChannel_Inst_DS]
Isolation           = 1               ; Application isolation
Enabled             = 0
Value               = 16
LoggingMaxSize      = 15728640
LoggingRetention    = 2               ; Circular
LoggingAutoBackup   = 1

[npu_UmdAnalyticChannel_Inst_DS]
Isolation           = 1               ; Application isolation
Enabled             = 0
Value               = 17
LoggingMaxSize      = 1048985600      ; 100 MB
LoggingRetention    = 2               ; Sequential

;=====================================================================
; Service Installation using Driver Store
;=====================================================================

[npu_Service_Inst_DS]
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 0               ; SERVICE_ERROR_IGNORE
LoadOrderGroup = Video
ServiceBinary  = %13%\npu_kmd.sys

;=====================================================================
;  Start Add/Delete Registry entries
;=====================================================================

[npu_KmbFirmwareDownload_DS]
HKR,,"FirmwareFip3700File",,"%13%\firmware\FirmwareFip3700.bin"
HKR,,"FirmwareBootFit3700File",,"%13%\firmware\FirmwareBoot3700.img.fit"

[npu_FirmwareDownload_NPU2_7_DS]
HKR,,"FirmwareFile",,"%13%\firmware\npu2_7_firmware.bin"

[npu_SoftwareDX12Settings_DS]
HKR,, UserModeDriverName, %REG_MULTI_SZ%,"<>",%13%\npu_d3d12_umd.dll,%13%\npu_d3d12_umd.dll,%13%\npu_d3d12_umd.dll

[npu_SoftwareDXCoreD3D12Settings_DS]
; Adds GUIDs for DXCORE_HARDWARE_TYPE_ATTRIBUTE_NPU, DXCORE_ADAPTER_ATTRIBUTE_D3D12_CORE_COMPUTE & DXCORE_ADAPTER_ATTRIBUTE_D3D12_GENERIC_ML
HKR,, DXCoreAttributes, %REG_MULTI_SZ%,{D46140C4-ADD7-451B-9E56-06FE8C3B58ED},{248E2800-A793-4724-ABAA-23A6DE1BE090},{B71B0D41-1088-422F-A27C-0250B7D3A988}

;[npu_SoftwareDXCoreSettings_DS]
;; Adds GUIDs for DXCORE_HARDWARE_TYPE_ATTRIBUTE_NPU
;HKR,, DXCoreAttributes, %REG_MULTI_SZ%,{D46140C4-ADD7-451B-9E56-06FE8C3B58ED}

[npu_SoftwareL0Settings_DS]
HKR,, LevelZeroDriverPath, %REG_SZ%,%13%\npu_level_zero_umd.dll

[npu_SoftwareThermalApiDllSettings_DS]
HKR,, SmfVpuComm, %REG_SZ%,%13%\npu_thermal.dll

[npu_HwQueuedRenderPacketGroupLimitPerNode_DS]
HKR,,HwQueuedRenderPacketGroupLimitPerNode,%REG_BINARY%, 00,00,00,08,00,00,00,00

[npu_HwQueuedRenderPacketGroupLimitPerNode_NPU4_DS]
HKR,,HwQueuedRenderPacketGroupLimitPerNode,%REG_BINARY%, 00,00,00,06,00,00,00,06

[npu_MSI_HardwareDeviceSettings]
HKR, "Interrupt Management", 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties", 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties", MSISupported, 0x00010001, 1
HKR, "Interrupt Management\MessageSignaledInterruptProperties", MessageNumberLimit, 0x00010001, 8

;=====================================================================
; Source file information
;=====================================================================

[SourceDisksNames]
1 = %DiskId%

[SourceDisksFiles]
npu_kmd.sys                                 = 1
npu_d3d12_umd.dll                           = 1
npu_dxil_frontend.dll                       = 1
ze_loader.dll                               = 1
ze_validation_layer.dll                     = 1
ze_tracing_layer.dll                        = 1
npu_level_zero_umd.dll                      = 1
shavedxilvecz64.dll                         = 1
moviAsm64.dll                               = 1, MVC_DEPEND\bin
moviCompile64.dll                           = 1, MVC_DEPEND\bin
moviLLD64.dll                               = 1, MVC_DEPEND\bin

npu_thermal.dll                             = 1

FirmwareFip3700.bin                         = 1, firmware
FirmwareBoot3700.img.fit                    = 1, firmware
;FirmwareVpu3700.elf                        = 1, firmware

npu2_7_firmware.bin                         = 1, firmware

mlibc_lite.a                                = 1, MVC_DEPEND\lib
mlibc_lite_ext.a                            = 1, MVC_DEPEND\lib
mlibcrt.a                                   = 1, MVC_DEPEND\lib
mlibcxx.a                                   = 1, MVC_DEPEND\lib
mlibm.a                                     = 1, MVC_DEPEND\lib
mlibVecUtils.a                              = 1, MVC_DEPEND\lib
vpux_driver_compiler.dll                    = 1
tbb12.dll                                   = 1
tbbmalloc.dll                               = 1
npu_blob_parser_kmb.dll                     = 1
npu_blob_parser.dll                         = 1
npu_dml_compiler.dll                        = 1
third-party-programs.txt                    = 1

[Strings]
;
; Non-Localizable Strings
;
REG_SZ         = 0x00000000
REG_MULTI_SZ   = 0x00010000
REG_DWORD      = 0x00010001
REG_BINARY     = 0x00000001
SERVICEROOT    = "System\CurrentControlSet\Services"

FLG_ADDREG_KEYONLY = 0x00000010
REG_EXPAND_SZ = 0x00020000

;
; Localizable Strings
;
DiskId = "Intel(R) NPU Driver for Windows"
Intel  = "Intel Corporation"

NPU_6240_w10_18362 = "Intel(R) Reserved Device"  
NPU_6240_w11_22621 = "Intel(R) NPU"  

NPU_7D1D_w10_18362 = "Intel(R) Reserved Device"  
NPU_7D1D_w11_22621 = "Intel(R) AI Boost"  
NPU_AD1D_w10_18362 = "Intel(R) Reserved Device"  
NPU_AD1D_w11_22621 = "Intel(R) AI Boost"  

; Do not modify or copy the following line
; set SIGNING_KEY_VERSION=2
;
