;*****************************************
;
;Copyright (c) 2022 by QUALCOMM, Incorporated.  All Rights Reserved.
;
;Module Name:
;
;    QCPPX.INF
;
;Abstract:
;    INF file for installing the PCIe Platform Extension Plugin (ACPI PEPV3).
;
;--*/

[Version]
Signature="$WINDOWS NT$"
Class=System
ClassGuid={4D36E97D-E325-11CE-BFC1-08002BE10318}
Provider=%ProviderString%
DriverVer = 10/02/2025,1.0.4444.9300
PnpLockDown=1
CatalogFile=qcppx6490.cat

[DestinationDirs]
DefaultDestDir = 13

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

[SourceDisksFiles]
qcppx6490.sys  = 1,,

[SignatureAttributes]
qcppx6490.sys=SignatureAttributes.HalExt

[SignatureAttributes.HalExt]
HalExt=true

;*****************************************
; Pep Device Install Section
;*****************************************

[Manufacturer]
%StdMfg%=Standard,NTARM64.10.0...16299
 
[Standard.NTARM64.10.0...16299]
%PepDevice.DeviceDesc%=Pep_Device,ACPI\QCOM0E96

[Pep_Device.NT]
CopyFiles=Drivers_Dir
AddReg=WppReg

[Pep_Device.NT.HW]
AddReg=Pep_Device.NT.AddReg

[Pep_Device.NT.AddReg]
HKR,,DeviceCharacteristics,0x10001,0x0100         ; Use same security checks on relative opens
HKR,,Security,,"D:P(A;;GA;;;BA)(A;;GA;;;SY)"      ; Allow generic-all access to Built-in administrators and Local system

[WppReg]
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\QCPPX,BufferSize,%REG_DWORD%,0x00000008
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\QCPPX,ClockType,%REG_DWORD%,0x00000001
;HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\QCPPX,FileName,%REG_SZ%,"C:\ETW\qcppx.etl" ;%SystemRoot%\System32\LogFiles\WMI\.etl
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\QCPPX,FlushTimer,%REG_DWORD%,0x00000001
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\QCPPX,Guid,%REG_SZ%,"{11BB6DA3-32F8-443D-886F-2811CD201BB7}"
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\QCPPX,LogFileMode,%REG_DWORD%,0x00001202
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\QCPPX,FileMax,%REG_DWORD%,0x00000004
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\QCPPX,MaxFileSize,%REG_DWORD%,0x00000100
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\QCPPX,MinimumBuffers,%REG_DWORD%,0x00000050
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\QCPPX,Start,%REG_DWORD%,0x00000001
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\QCPPX,Status,%REG_DWORD%,0x00000000
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\QCPPX\{11BB6DA3-32F8-443D-886F-2811CD201BB7},Enabled,%REG_DWORD%,0x00000001
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\QCPPX\{11BB6DA3-32F8-443D-886F-2811CD201BB7},EnableLevel,%REG_DWORD%,0x00000005
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\QCPPX\{11BB6DA3-32F8-443D-886F-2811CD201BB7},MatchAnyKeyword,%REG_QWORD%,0x0FFFFFFF
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\QCPPX\{11BB6DA3-32F8-443D-886F-2811CD201BB7},Status,%REG_DWORD%,0x00000000
HKLM,SYSTEM\CurrentControlSet\Control\WMI\Autologger\QCPPX\{11BB6DA3-32F8-443D-886F-2811CD201BB7},EnableProperty,%REG_DWORD%,0x00000000

[Drivers_Dir]
qcppx6490.sys

;-------------- Service installation

[Pep_Device.NT.Services]
AddService = qcppx,%SPSVCINST_ASSOCSERVICE%,pep_Service_Inst

[pep_Service_Inst]
DisplayName    = %qcppx.SVCDESC%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %13%\qcppx6490.sys
LoadOrderGroup = Core Platform Extensions
;ensure the test PEP loads at same time as ACPI (before real PEPs)

[Strings]
SPSVCINST_ASSOCSERVICE= 0x00000002
ProviderString = "Qualcomm Inc."
StdMfg = "(Standard system devices)"
ClassName = "System devices"
DiskId1 = "Qualcomm PCIe Platform Extension Plugin Disk"
PepDevice.DeviceDesc = "Qualcomm(R) PCIe Platform Extension Plugin"
qcppx.SVCDESC = "Qualcomm(R) PCIe Platform Extension Plugin"
REG_SZ              = 0x00000000
REG_DWORD           = 0x00010001
REG_QWORD           = 0x000B0001

;Non-Localizable Strings
SERVICE_KERNEL_DRIVER = 1
SERVICE_BOOT_START = 0
SERVICE_DEMAND_START  = 3
SERVICE_ERROR_NORMAL  = 1




