; ; Copyright (c) Microsoft Corporation, 2012 ; [Version] Signature = "$WINDOWS NT$" Class = SCSIAdapter ClassGuid = {4D36E97B-E325-11CE-BFC1-08002BE10318} Provider = "%MSFT%" PnpLockdown = 1 DriverVer = 06/21/2006,6.1.7601.23403 [SourceDisksNames] 1 = %DiskName%,,, [SourceDisksFiles] stornvme.sys = 1 [DestinationDirs] ; DIRID_DRIVERS DefaultDestDir = 12 [ControlFlags] BasicDriverOk = * ExcludeFromSelect = * [Manufacturer] %MS-NVME% = NVME, NTx86 [NVME.NTx86] %PCI\CC_010802.DeviceDesc% = Stornvme_Inst, PCI\CC_010802 [Stornvme_Inst] CopyFiles = Stornvme_copyfiles [Stornvme_copyfiles] stornvme.sys,,,0x100 [Stornvme_Inst.HW] AddReg = Stornvme_Inst_HW_AddReg [Stornvme_Inst_HW_AddReg] ; registry values related to MSI support HKR, Interrupt Management, 0x00000010 HKR, Interrupt Management\MessageSignaledInterruptProperties, 0x00000010 HKR, Interrupt Management\Affinity Policy, 0x00000010 ; ; The MSISupported entry determines whether the device supports MSIs. Set it to 1 to enable MSI support. ; HKR, Interrupt Management\MessageSignaledInterruptProperties, MSISupported, 0x00010001, 1 ; ; The MessageNumberLimit entry specifies the maximum number of MSIs to allocate. ; For PCI 2.2, MessageNumberLimit must be 1, 2, 4, 8, or 16. For PCI 3.0, MessageNumberLimit can be any number up to 2,048. ; Set it to 65 so that 64 IO Queues and 1 Admin Queue can have different messages. ; Note that this number should be increased to "Processor Count + 1" if the driver runs on machine with more processors. ; HKR, Interrupt Management\MessageSignaledInterruptProperties, MessageNumberLimit, 0x00010001, 65 ; ; Make sure all processor in group are used to serve interrupt from this device. IrqPolicySpreadMessagesAcrossAllProcessors (5) ; HKR, Interrupt Management\Affinity Policy, DevicePolicy, 0x00010001, 5 ; ; Specifies that the device's interrupts are of high priority. This setting is appropriate for devices that require low latency. IrqPriorityHigh (3) ; HKR, Interrupt Management\Affinity Policy, DevicePriority, 0x00010001, 3 ; ; Allow interrrupt happens on processors beyond group 0. (e.g. might be in a single group other than 0) ; HKR, Interrupt Management\Affinity Policy, GroupPolicy, 0x00010001, 1 ; ; Enables Storport IPM for this adapter ; HKR, "StorPort", "EnableIdlePowerManagement", 0x00010001, 0x01 [Stornvme_Inst.Services] AddService = stornvme, 0x00000002, Stornvme_Service_Inst, Stornvme_EventLog_Inst [Stornvme_Service_Inst] DisplayName = "%StorNVMe_ServiceDesc%" ServiceType = 1 StartType = 0 ErrorControl = 3 ServiceBinary = %12%\stornvme.sys LoadOrderGroup = SCSI Miniport AddReg = nvme_registry_values ;AddReg = nvme_registry_device_specific_values [nvme_registry_values] HKR, "Parameters\PnpInterface", "5", 0x00010001, 0x00000001 ; NOTE: bustype 0x11 is value of BusTypeNVMe HKR, "Parameters", "BusType", 0x00010001, 0x00000011 ; Default timeout value 10 seconds HKR, "Parameters", "IoTimeoutValue", 0x00010001, 0x0000000a ;[nvme_registry_device_specific_values] [Stornvme_EventLog_Inst] AddReg = Stornvme_EventLog_AddReg [Stornvme_EventLog_AddReg] HKR,, EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\IoLogMsg.dll" HKR,, TypesSupported, 0x00010001, 7 ;******************************************************** [Strings] ;Non-Localizable MSFT = "Microsoft" ;Localizable DiskName = "Microsoft NVMe Device Driver Installation Disk" MS-NVME = "Standard NVMe Controller (Microsoft)" PCI\CC_010802.DeviceDesc = "Standard NVMe Controller (Microsoft)" StorNVMe_ServiceDesc = "Microsoft NVMe Driver"