;/*++
;
;Copyright (c) 2012-2021 Red Hat Inc.
;
;
;Module Name:
;    vioscsi.inf
;
;Abstract:
;
;Installation Notes:
;    Step by step driver installation wiki:
;        https://github.com/virtio-win/kvm-guest-drivers-windows/wiki/Driver-installation
;
;--*/

[Version]
Signature="$Windows NT$"
Class=SCSIAdapter
ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider=%VENDOR%
DriverVer = 07/09/2025,100.101.104.28500
CatalogFile=vioscsi.cat
DriverPackageType = PlugAndPlay
DriverPackageDisplayName = %VirtioScsi.DeviceDesc%
PnpLockdown=1

;
; Source file information
;

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

[SourceDisksFiles]
vioscsi.sys = 1,,

[ControlFlags]
;ExcludeFromSelect = *

[DestinationDirs]
vioscsi_Files_Driver = 13

;
; Driver information
;

[Manufacturer]
%VENDOR%   = VirtioScsi,NTamd64.10.0...16299

[VirtioScsi.NTamd64.10.0...16299]
%VirtioScsi.DeviceDesc% = scsi_inst, PCI\VEN_1AF4&DEV_1004&SUBSYS_00081AF4&REV_00, PCI\VEN_1AF4&DEV_1004
%VirtioScsi.DeviceDesc% = scsi_inst, PCI\VEN_1AF4&DEV_1048&SUBSYS_11001AF4&REV_01, PCI\VEN_1AF4&DEV_1048

;
; General installation section
;

[vioscsi_Files_Driver]
vioscsi.sys,,,2

[scsi_inst]
CopyFiles=vioscsi_Files_Driver

;
; Service Installation
;

[scsi_inst.Services]
AddService = vioscsi, 0x00000002 , scsi_Service_Inst, scsi_EventLog_Inst

[scsi_Service_Inst]
DisplayName    = %VirtioScsi.SVCDESC%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %13%\vioscsi.sys
LoadOrderGroup = SCSI miniport
AddReg         = pnpsafe_pci_addreg

[scsi_inst.HW]
AddReg         = pnpsafe_pci_addreg_msix

[scsi_EventLog_Inst]
AddReg = scsi_EventLog_AddReg

[scsi_EventLog_AddReg]
HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll"
HKR,,TypesSupported,%REG_DWORD%,7


[pnpsafe_pci_addreg]
HKR, "Parameters\PnpInterface", "5", %REG_DWORD%, 0x00000001
HKR, "Parameters", "BusType", %REG_DWORD%, 0x0000000A
HKR, "Parameters", DmaRemappingCompatible,0x00010001,0


[pnpsafe_pci_addreg_msix]
HKR, "Interrupt Management",, 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties",, 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties", MSISupported, 0x00010001, 1
HKR, "Interrupt Management\MessageSignaledInterruptProperties", MessageNumberLimit, 0x00010001, 258
HKR, "Interrupt Management\Affinity Policy",, 0x00000010
HKR, "Interrupt Management\Affinity Policy", DevicePolicy, 0x00010001, 5
HKR, "Interrupt Management\Affinity Policy", DevicePriority, 0x00010001, 3
HKR, "Interrupt Management\Affinity Policy", GroupPolicy, 0x00010001, 1

[Strings]
;
; Localizable Strings
;
VENDOR = "Red Hat, Inc."
diskId1 = "Red Hat VirtIO SCSI pass-through controller Installation Disk"
VirtioScsi.DeviceDesc = "Red Hat VirtIO SCSI pass-through controller"
VirtioScsi.SVCDESC = "Red Hat VirtIO SCSI pass-through Service"

;
; Non-Localizable Strings
;

REG_EXPAND_SZ  = 0x00020000
REG_DWORD      = 0x00010001
SERVICE_KERNEL_DRIVER  = 1
SERVICE_BOOT_START     = 0
SERVICE_ERROR_NORMAL   = 1
