;
; usbxhci.inf
;
; Copyright (c) Microsoft Corporation. All rights reserved.
;

[Version]
signature="$Windows NT$"
Class=USB
ClassGUID={36FC9E60-C465-11CF-8056-444553540000}
Provider=%Msft%
PnpLockdown=1
DriverVer=07/09/2015,10.0.10240.16384

[SourceDisksNames]
3426=windows cd

[SourceDisksFiles]
usbxhci.sys  = 3426

[ControlFlags]
BasicDriverOk = *
ExcludeFromSelect = *

[DestinationDirs]
DefaultDestDir    = 12
USBXHCI.Copyfiles = 12

[Manufacturer]
%Generic.Mfg%=Generic,NTx86

;
; ---------------------- xHCI Controllers ----------------------
;

[Generic.NTx86]
%PCI\CC_0C0330.DeviceDesc%=Generic.Install,PCI\CC_0C0330
%ACPI\PNP0D10.DeviceDesc%=Generic.Install,ACPI\PNP0D10
%ACPI\PNP0D15.DeviceDesc%=Generic_NoDebug.Install,ACPI\PNP0D15


[Generic.Install.NT]
CopyFiles=Generic.CopyFiles
AddProperty=Generic.AddProperty
ExcludeID=PCI\VEN_1B73&DEV_1000&CC_0C0330
ExcludeID=PCI\VEN_1B73&DEV_1400&CC_0C0330
ExcludeID=PCI\VEN_1B73&DEV_1009&REV_00

;
; FeatureScore values between 0x00-0x7F are reserved. Values 0x81-0xFE are for OEMs.
;
FeatureScore=80

[Generic.Install.NT.HW]
AddReg=Generic_AddReg.HW
Include=machine.inf
Needs=PciD3ColdSupported.HW

[Generic_AddReg.HW]
HKR, Interrupt Management,, 0x00000010
HKR, Interrupt Management\MessageSignaledInterruptProperties,, 0x00000010
HKR, Interrupt Management\MessageSignaledInterruptProperties, MSISupported, 0x00010001, 1

[Generic.Install.NT.Services]
AddService=USBXHCI, 2, Generic.AddService

[Generic.AddService]
DisplayName   = %PCI\CC_0C0330.DeviceDesc%
ServiceType   = 1
StartType     = 3
ErrorControl  = 1
ServiceBinary = %12%\USBXHCI.SYS
Dependencies  = Ucx01000
AddReg        = USBXHCI.AddReg

[USBXHCI.AddReg]
HKR,, BootFlags,  0x00010001, 16 ; CM_SERVICE_USB3_DISK_BOOT_LOAD

[Generic.Install.NT.WMI]
; Set access permissions for UI WMI GUIDs
WMIInterface = {6D88B760-85FA-426a-92D2-3B17CC39A5CA},,WMIGuidSecurity_AllRights

[WMIGuidSecurity_AllRights]  
security="O:BAG:BAD:(A;;FA;;;BA)(A;;GR;;;LS)(A;;FA;;;SY)" 

[Generic.CopyFiles]
USBXHCI.SYS,,,0x100

[Generic.AddProperty]
; DEVPKEY_Device_DebuggerSafe, DEVPROP_TYPE_UINT32
{540b947e-8b40-45bc-a8a2-6a0b894cbda2},12,7,,1

;
; ---------------------- xHCI Controllers without STD Debug support ----------------------
;                            Don't write DebuggerSafe property
;

[Generic_NoDebug.Install.NT]
CopyFiles=Generic.CopyFiles
FeatureScore=80

[Generic_NoDebug.Install.NT.HW]
AddReg=Generic_AddReg.HW
Include=machine.inf
Needs=PciD3ColdSupported.HW

[Generic_NoDebug.Install.NT.Services]
AddService=USBXHCI, 2, Generic.AddService

;
; --------------------------- Strings --------------------------
;

[Strings]
;Non-Localizable
Msft = "Microsoft"

;Localizable
Generic.Mfg = "Generic USB xHCI Host Controller"
PCI\CC_0C0330.DeviceDesc="USB xHCI Compliant Host Controller"
ACPI\PNP0D10.DeviceDesc="USB xHCI Compliant Host Controller"
ACPI\PNP0D15.DeviceDesc="USB xHCI Compliant Host Controller"
