;/*++
;
;Copyright (c) 2008 WIlocity LTD. All rights Reserved
;
;Module Name:
;
;    wPci.INF
;
;Abstract:
;    INF file for installing wPci device drivers
;--*/

[Version]
Signature="$WINDOWS NT$"
Class=System
ClassGuid={4d36e97d-e325-11ce-bfc1-08002be10318}
Provider=%WLCT%
DriverVer=06/24/2013,300
CatalogFile=wPci.cat

[DestinationDirs]
DefaultDestDir = 12

;*****************************************
; wPci Device Filter Install Section
;*****************************************

[Manufacturer]
%WLCT%=Wilocity,NTAMD64

; For Win2K
[Wilocity]
; DisplayName       		Section           DeviceId
; -----------       		-------           --------
%wPci.MarlonDevDescUS%=wPci, PCI\VEN_1AE9&DEV_0101
%wPci.MarlonDevDescDS%=wPci, PCI\VEN_1AE9&DEV_0201

;--------------------------------------------------
; Set all the PCIe express port PC CARD device ID
;--------------------------------------------------
;%wPci.DeviceDescRoot%=wPci, PCI\CC_0604


; For XP and later
[Wilocity.NTAMD64]
%wPci.MarlonDevDescUS%=wPci, PCI\VEN_1AE9&DEV_0101
%wPci.MarlonDevDescDS%=wPci, PCI\VEN_1AE9&DEV_0201

;--------------------------------------------------
; Set all the PCIe express port PC CARD device ID
;--------------------------------------------------
;%wPci.DeviceDescRoot%=wPci, PCI\CC_0604

;**************************************************
;=====================================================================
;=====================================================================
[wPci.NT]  
;=============== Get the standard stuff from machine.inf==============
Include=machine.inf
Needs=PCI_DRV

;================ Add our own stuff
CopyFiles=wPci.NT.Copy
AddReg=wPci.NT.AddReg

[wPci.NT.Copy]
wPci.sys

[wPci.NT.AddReg]
; Add registry entries here

;[wPci.NT.LogConfigOverride]
;LogConfig = wPci.NT.LogConfig0

;[wPci.NT.LogConfig0]
;ConfigPriority = NORMAL
;IOConfig = 100@0-FFFFFFFF
;IRQConfig = LS:3,4,5,6,7,8,9,10,11,12,13,14,15
;MemConfig = 3000@0-FFFFFFFF
;MemConfig = 3000@0-FFFFFFFF

[wPci.NT.HW]
;================ Add in the standard stuff provided by mchine
Include = machine.inf
Needs = PCI_DRV.HW

;================ Add our own stuff
AddReg = wPci.NT.HW.AddReg

[wPci.NT.HW.AddReg]  
HKR,,"UpperFilters",0x00010000,"wPCI"

HKR,"Interrupt Management", 0x00000010
HKR,"Interrupt Management\MessageSignaledInterruptProperties",0x00000010
HKR,"Interrupt Management\MessageSignaledInterruptProperties",MSISupported,0x00010001,1
HKR,"Interrupt Management\MessageSignaledInterruptProperties",MessageNumberLimit,0x00010001,1



;*****************************************
; wPci Device Coinstaller installation
;*****************************************
;[DestinationDirs]
;CoInstaller_CopyFiles = 11

;[wPci.NT.CoInstallers]
;AddReg          = CoInstaller_AddReg
;CopyFiles       = CoInstaller_CopyFiles

;[CoInstaller_AddReg]
;HKR,,CoInstallers32,0x00010000, "wPci_coinstaller.dll,WPciCoInstaller"

;[CoInstaller_CopyFiles]
;wPci_coinstaller.dll

;[SourceDisksFiles]
;wPci_coinstaller.dll=1 


;*****************************************
;  Device Filter Service Section
;*****************************************

[wPci.NT.Services]
Include=machine.inf
Needs=PCI_DRV.Services

;Do not specify SPSVCINST_ASSOCSERVICE on filter drivers. 
AddService = wPCI,, filter_Service_Inst 


;
;=========== This will add filter as the service and make sure =====
;=========== that wPci.sys has been installed ====================

[filter_Service_Inst]
DisplayName    = %filter.SvcName%
Description    = %filter.SvcDesc%
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 0                  ; 0 == SERVICE_BOOT_START
									; 1 == SERVICE_SYSTEM_START
									; 2 == SERVICE_AUTO_START
									; 3 == SERVICE_DEMAND_START
									; 4 == SERVICE_DISABLED
ErrorControl   = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary  = %12%\wPci.sys   
AddReg         = filter_Service_Inst.AddReg_marlon




[filter_Service_Inst.AddReg_marlon]
;== MARLON ==
HKR,"Parameters","MailboxEnabled",	            %FLG_ADDREG_TYPE_DWORD%,0x00000001
HKR,"Parameters","SwResetOnSysAssert",			%FLG_ADDREG_TYPE_DWORD%,0x00000002
HKR,"Parameters","FastSwReset",					%FLG_ADDREG_TYPE_DWORD%,0x00000000
HKR,"Parameters","BusNumber",	            	%FLG_ADDREG_TYPE_DWORD%,0x00000000
HKR,"Parameters","DevicesRequireResource",		%FLG_ADDREG_TYPE_DWORD%,0x0000000f

HKR,"Parameters","MinimumMemoryForIO_0",		%FLG_ADDREG_TYPE_DWORD%,0x00000100
HKR,"Parameters","MinimumWindowMemory_0",		%FLG_ADDREG_TYPE_DWORD%,0x00400000
HKR,"Parameters","WindowMemoryAlign_0",			%FLG_ADDREG_TYPE_DWORD%,0x00100000
HKR,"Parameters","MinimumPrefetchableMemory_0",	%FLG_ADDREG_TYPE_DWORD%,0x00400000
HKR,"Parameters","PrefetchableMemoryAlign_0",	%FLG_ADDREG_TYPE_DWORD%,0x00100000

HKR,"Parameters","MinimumMemoryForIO_1",		%FLG_ADDREG_TYPE_DWORD%,0x00000100
HKR,"Parameters","MinimumWindowMemory_1",		%FLG_ADDREG_TYPE_DWORD%,0x00400000
HKR,"Parameters","WindowMemoryAlign_1",			%FLG_ADDREG_TYPE_DWORD%,0x00100000
HKR,"Parameters","MinimumPrefetchableMemory_1",	%FLG_ADDREG_TYPE_DWORD%,0x00400000
HKR,"Parameters","PrefetchableMemoryAlign_1",	%FLG_ADDREG_TYPE_DWORD%,0x00100000

HKR,"Parameters","MinimumMemoryForIO_2",		%FLG_ADDREG_TYPE_DWORD%,0x00000100
HKR,"Parameters","MinimumWindowMemory_2",		%FLG_ADDREG_TYPE_DWORD%,0x00400000
HKR,"Parameters","WindowMemoryAlign_2",			%FLG_ADDREG_TYPE_DWORD%,0x00100000
HKR,"Parameters","MinimumPrefetchableMemory_2",	%FLG_ADDREG_TYPE_DWORD%,0x00400000
HKR,"Parameters","PrefetchableMemoryAlign_2",	%FLG_ADDREG_TYPE_DWORD%,0x00100000
                                                                        
HKR,"Parameters","MinimumMemoryForIO_3",		%FLG_ADDREG_TYPE_DWORD%,0x00000100
HKR,"Parameters","MinimumWindowMemory_3",		%FLG_ADDREG_TYPE_DWORD%,0x00400000
HKR,"Parameters","WindowMemoryAlign_3",			%FLG_ADDREG_TYPE_DWORD%,0x00100000
HKR,"Parameters","MinimumPrefetchableMemory_3",	%FLG_ADDREG_TYPE_DWORD%,0x00400000
HKR,"Parameters","PrefetchableMemoryAlign_3",	%FLG_ADDREG_TYPE_DWORD%,0x00100000

HKR,"Parameters","MinimumMemoryForIO_4",		%FLG_ADDREG_TYPE_DWORD%,0x00000100
HKR,"Parameters","MinimumWindowMemory_4",		%FLG_ADDREG_TYPE_DWORD%,0x00400000
HKR,"Parameters","WindowMemoryAlign_4",			%FLG_ADDREG_TYPE_DWORD%,0x00100000
HKR,"Parameters","MinimumPrefetchableMemory_4",	%FLG_ADDREG_TYPE_DWORD%,0x00400000
HKR,"Parameters","PrefetchableMemoryAlign_4",	%FLG_ADDREG_TYPE_DWORD%,0x00100000
                                                                        
HKR,"Parameters","MinimumMemoryForIO_5",		%FLG_ADDREG_TYPE_DWORD%,0x00000100
HKR,"Parameters","MinimumWindowMemory_5",		%FLG_ADDREG_TYPE_DWORD%,0x00400000
HKR,"Parameters","WindowMemoryAlign_5",			%FLG_ADDREG_TYPE_DWORD%,0x00100000
HKR,"Parameters","MinimumPrefetchableMemory_5",	%FLG_ADDREG_TYPE_DWORD%,0x00400000
HKR,"Parameters","PrefetchableMemoryAlign_5",	%FLG_ADDREG_TYPE_DWORD%,0x00100000

HKR,"Parameters","MinimumMemoryForIO_6",		%FLG_ADDREG_TYPE_DWORD%,0x00000100
HKR,"Parameters","MinimumWindowMemory_6",		%FLG_ADDREG_TYPE_DWORD%,0x00400000
HKR,"Parameters","WindowMemoryAlign_6",			%FLG_ADDREG_TYPE_DWORD%,0x00100000
HKR,"Parameters","MinimumPrefetchableMemory_6",	%FLG_ADDREG_TYPE_DWORD%,0x00400000
HKR,"Parameters","PrefetchableMemoryAlign_6",	%FLG_ADDREG_TYPE_DWORD%,0x00100000
                                                                        
HKR,"Parameters","MinimumMemoryForIO_7",		%FLG_ADDREG_TYPE_DWORD%,0x00000100
HKR,"Parameters","MinimumWindowMemory_7",		%FLG_ADDREG_TYPE_DWORD%,0x00400000
HKR,"Parameters","WindowMemoryAlign_7",			%FLG_ADDREG_TYPE_DWORD%,0x00100000
HKR,"Parameters","MinimumPrefetchableMemory_7",	%FLG_ADDREG_TYPE_DWORD%,0x00400000
HKR,"Parameters","PrefetchableMemoryAlign_7",	%FLG_ADDREG_TYPE_DWORD%,0x00100000


;*************************
; Source file information
;*************************


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

[SourceDisksFiles]
wPci.sys  = 1,,
;wPci_coinstaller.dll = 1,,

[Strings]
SPSVCINST_ASSOCSERVICE= 0x00000002
WLCT = "Wilocity"
StdMfg = "(Standard system devices)"

DiskId1					= "wilocity Filter Installation Disk #1"
wPci.DeviceDescRoot		= "ICH Family PCI Express Root Port. (marlon)"
wPci.DeviceDescUS		= "wPCI Up stream port"
wPci.MarlonDevDescUS	= "wPCI Up stream port (marlon)"
wPci.DeviceDescDS		= "wPCI Down stream port"
wPci.MarlonDevDescDS    = "wPCI Down stream port (marlon)"
filter.SvcDesc			= "Wilocity Filter Driver"
filter.SvcName			= "Wilreless PCI"

DIRID_SYSTEM			= 11
DIRID_DRIVERS			= 12
DIRID_SYSTEM_X86		= 16425

; AddReg flags
FLG_ADDREG_TYPE_EXPAND_SZ   = 0x00020000
FLG_ADDREG_TYPE_MULTI_SZ    = 0x00010000
FLG_ADDREG_TYPE_DWORD       = 0x00010001
FLG_ADDREG_KEYONLY          = 0x00000010
