;/*++
;
;Copyright (c) 2008-2025 Red Hat Inc.
;
;
;Module Name:
;    viostor.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 = 02/18/2026,100.103.104.29700
CatalogFile=viostor.cat
DriverPackageType = PlugAndPlay
DriverPackageDisplayName = %VioStorScsi.DeviceDesc%
PnpLockdown=1

;
; Source file information
;

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

[SourceDisksFiles]
viostor.sys = 1,,

[ControlFlags]
;ExcludeFromSelect = *

[DestinationDirs]
viostor_Files_Driver = 12

;
; Driver information
;

[Manufacturer]
%VENDOR%   = VioStor,NTamd64.10.0

[VioStor.NTamd64.10.0]
%VioStorScsi.DeviceDesc% = scsi_inst, PCI\VEN_1AF4&DEV_1001&SUBSYS_00021AF4&REV_00, PCI\VEN_1AF4&DEV_1001
%VioStorScsi.DeviceDesc% = scsi_inst, PCI\VEN_1AF4&DEV_1042&SUBSYS_11001AF4&REV_01, PCI\VEN_1AF4&DEV_1042

;
; General installation section
;

[viostor_Files_Driver]
viostor.sys,,,2

[scsi_inst]
CopyFiles=viostor_Files_Driver

;
; Service Installation
;

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

[scsi_Service_Inst]
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\viostor.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%, 0x00000001
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, 257
HKR, "Interrupt Management\Affinity Policy",, 0x00000010
HKR, "Interrupt Management\Affinity Policy", DevicePolicy, 0x00010001, 5
HKR, "Interrupt Management\Affinity Policy", GroupPolicy, 0x00010001, 1


[Strings]
;
; Localizable Strings
;
VENDOR = "Red Hat, Inc."
diskId1 = "Red Hat VirtIO SCSI controller Installation Disk"
VioStorScsi.DeviceDesc = "Red Hat VirtIO SCSI controller"

;
; Non-Localizable Strings
;

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

