;/*++
;
;Copyright (c) 20??-2025 Red Hat Inc.
;
;
;Module Name:
;    viofs.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           = System
ClassGuid       = {4d36e97d-e325-11ce-bfc1-08002be10318}
Provider        = %VENDOR%
CatalogFile     = viofs.cat
PnpLockdown     = 1
DriverVer = 02/18/2026,100.103.104.29700

[DestinationDirs]
DefaultDestDir = 12

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

[SourceDisksFiles]
viofs.sys = 1,,

; ---------------
; Install Section
; ---------------

[Manufacturer]
%VENDOR% = Standard,NTARM64.10.0

[Standard.NTARM64.10.0]
%VirtioFs.DeviceDesc% = VirtioFs_Device, PCI\VEN_1AF4&DEV_105A&SUBSYS_11001AF4&REV_01, PCI\VEN_1AF4&DEV_105A

[VirtioFs_Device.NT]
CopyFiles = VirtioFs_CopyFiles

[VirtioFs_Device.NT.HW]
AddReg = VirtioFs_AddReg

[VirtioFs_CopyFiles]
viofs.sys

[VirtioFs_AddReg]
HKR,Interrupt Management,,0x00000010
HKR,Interrupt Management\MessageSignaledInterruptProperties,,0x00000010
HKR,Interrupt Management\MessageSignaledInterruptProperties,MSISupported,0x00010001,1
HKR,Interrupt Management\MessageSignaledInterruptProperties,MessageNumberLimit,0x00010001,2

; --------------------
; Service Installation
; --------------------

[VirtioFs_Device.NT.Services]
AddService = VirtioFsDrv,0x00000002,VirtioFs_Service_Install

[VirtioFs_Service_Install]
DisplayName    = %VirtioFs.Service%
ServiceType    = 1               ; SERVICE_KERNEL_DRIVER
StartType      = 3               ; SERVICE_DEMAND_START
ErrorControl   = 1               ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\viofs.sys
LoadOrderGroup = Extended Base
AddReg = DMAR.AddReg

[DMAR.AddReg]
; currently DMAR is not supported due to backend limitations
HKR,Parameters,DmaRemappingCompatible,0x00010001,0

[VirtioFs_Device.NT.Wdf]
KmdfService = VirtioFsDrv, VirtioFs_wdfsect

[VirtioFs_wdfsect]
KmdfLibraryVersion = 1.15

[Strings]
VENDOR              = "Red Hat, Inc."
DiskName            = "VirtIO FS Installation Disk"
VirtioFs.DeviceDesc = "VirtIO FS Device"
VirtioFs.Service    = "VirtIO FS Driver"
