;*******************************************************************************
;*                                                                            **
;*                     I N T E L   P R O P R I E T A R Y                      **
;*                                                                            **
;*   COPYRIGHT (c) 2003-2014 BY INTEL CORPORATION. ALL RIGHTS RESERVED.  NO   **
;*   PART  OF  THIS  PROGRAM OR PUBLICATION MAY BE REPRODUCED, TRANSMITTED,   **
;*   TRANSCRIBED, STORED IN A RETRIEVAL  SYSTEM,  OR  TRANSLATED  INTO  ANY   **
;*   LANGUAGE OR COMPUTER LANGUAGE IN ANY FORM OR BY ANY MEANS, ELECTRONIC,   **
;*   MECHANICAL, MAGNETIC, OPTICAL, CHEMICAL, MANUAL, OR OTHERWISE, WITHOUT   **
;*   THE PRIOR WRITTEN PERMISSION OF :                                        **
;*                                                                            **
;*                             INTEL CORPORATION                              **
;*                                                                            **
;*                          2200 MISSION COLLEGE BLVD                         **
;*                                                                            **
;*                     SANTA CLARA, CALIFORNIA 95052-8119                     **
;*                                                                            **
;*******************************************************************************
;
;
; File Name: TXEI.inf
; Install information file for TXEI Driver
;--------- Version Section ---------------------------------------------------

[PackageInfo]
Name=TXEI32
[Version]
Signature="$WINDOWS NT$"
Class=System
ClassGUID={4d36e97d-e325-11ce-bfc1-08002be10318}
Provider=%Provider%
DriverVer=06/16/2015,2.0.0.1067
CatalogFile=TXEI.cat

[ControlFlags]
; Pnp drivers should not be installable via non-PnP hardware dialogs
ExcludeFromSelect = *

;--------- DestinationDirs Section -------------------------------------------

[DestinationDirs]
DefaultDestDir = 12

;--------- SourceDiskNames and SourceDiskFiles Section -----------------------
; These sections identify source disks and files for installation.

[SourceDisksNames]
1=%Location%,

[SourceDisksFiles]
TXEI.sys=1

;--------- Manufacturer and Models Sections ----------------------------------

[Manufacturer]
%MfgName% = Intel, NTx86.6.1, NTx86.10.0

[Intel.NTx86.6.1]
; DisplayName               Section           DeviceId
%TEE_DeviceDesc%=TEE_DDI, PCI\VEN_8086&DEV_2298

[Intel.NTx86.10.0]
; DisplayName               Section           DeviceId
%TEE_DeviceDesc%=TEE_DDI_WIN10, PCI\VEN_8086&DEV_0F18
%TEE_DeviceDesc%=TEE_DDI_WIN10, PCI\VEN_8086&DEV_2298

[TEE_DDI]
CopyFiles=TEE_Files_Driver
AddReg=TEE_NT_AddReg

[TEE_DDI_WIN10]
CopyFiles=TEE_Files_Driver
AddReg=TEE_NT_WIN10_AddReg

[TEE_DDI.Services]
AddService = TXEI, %FLG_ADDREG_NOCLOBBER%, TEE_Service, win.EventLog

[TEE_DDI_WIN10.Services]
AddService = TXEI, %FLG_ADDREG_NOCLOBBER%, TEE_WIN10_Service, win.EventLog

; --------- Files ----------------------
[TEE_Files_Driver]
TXEI.sys


; --------- Service ----------------------
[TEE_Service]
DisplayName    = %TEE_SvcDesc%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_DEMAND_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\TXEI.sys
LoadOrderGroup = Extended Base
AddReg=TEE_NT_AddReg

[TEE_WIN10_Service]
DisplayName    = %TEE_SvcDesc%
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_DEMAND_START%
ErrorControl   = %SERVICE_ERROR_NORMAL%
ServiceBinary  = %12%\TXEI.sys
LoadOrderGroup = Extended Base
AddReg=TEE_NT_WIN10_AddReg


; --------- Registry ----------------------

[TEE_NT_AddReg]
;reg-root,[subkey],[value-entry-name],[flags],[value]
HKR,Parameters,BusClients,%REG_MULTI_SZ%,%NCI_GUID%

[TEE_NT_AddReg.Security]
"D:P(A;CI;GA;;;BA)(A;CI;GA;;;SY)(A;CI;GA;;;LS)"

[TEE_NT_WIN10_AddReg]
;reg-root,[subkey],[value-entry-name],[flags],[value]
HKR,Parameters,BusClients,%REG_MULTI_SZ%,%NCI_GUID%

[TEE_NT_WIN10_AddReg.Security]
"D:P(A;CI;GA;;;BA)(A;CI;GA;;;SY)(A;CI;GA;;;LS)(A;;GRGWGX;;;WD)(A;;GRGWGX;;;S-1-15-2-1)"

[TEE_DDI.HW]
AddReg=TEE__NT_HW_AddReg

[TEE__NT_HW_AddReg]
HKR,,DeviceCharacteristics,0x10001,0x100
HKR,,Security,,"D:P(A;CI;GA;;;BA)(A;CI;GA;;;SY)(A;CI;GA;;;LS)"
HKR, Interrupt Management,, 0x00000010
HKR, Interrupt Management\MessageSignaledInterruptProperties,, 0x00000010
HKR, Interrupt Management\MessageSignaledInterruptProperties, MSISupported, 0x00010001, 1

[TEE_DDI_WIN10.HW]
AddReg=TEE__NT_HW_WIN10_AddReg

[TEE__NT_HW_WIN10_AddReg]
HKR,,DeviceCharacteristics,0x10001,0x100
HKR,,Security,,"D:P(A;CI;GA;;;BA)(A;CI;GA;;;SY)(A;CI;GA;;;LS)(A;;GRGWGX;;;WD)(A;;GRGWGX;;;S-1-15-2-1)"
HKR, Interrupt Management,, 0x00000010
HKR, Interrupt Management\MessageSignaledInterruptProperties,, 0x00000010
HKR, Interrupt Management\MessageSignaledInterruptProperties, MSISupported, 0x00010001, 1
;-----------------------------------------------------------------------------
; Common base for all drivers for Eventlog and TextModeFlags
;
[win.EventLog]
AddReg = win.AddEventLog.reg

[win.AddEventLog.reg]
HKR, , EventMessageFile, 0x00020000, %EventLogMessageDllPath_win%
HKR, , TypesSupported,   0x00010001, 7

[win10.EventLog]
AddReg = win10.AddEventLog.reg

[win10.AddEventLog.reg]
HKR, , EventMessageFile, 0x00020000, %EventLogMessageDllPath_win%
HKR, , TypesSupported,   0x00010001, 7

[TEE_DDI.Wdf]
KmdfService =  TXEI, TEEDriver_wdfsect

[TEEDriver_wdfsect]
KmdfLibraryVersion = 1.11


;--------- Strings Section ---------------------------------------------------

[Strings]
;---------------------------------------------------------------------------------------------------
EventLogMessageDllPath_win	= "%SystemRoot%\System32\netevent.dll;%SystemRoot%\System32\drivers\TXEI.sys"

Provider = "Intel"
MfgName = "Intel"
TEE_DeviceDesc = "Intel(R) Trusted Execution Engine Interface "
TEE_SvcDesc = "Intel(R) Trusted Execution Engine Interface "
Location = "Intel(R) Trusted Execution Engine Interface "

REG_SZ                      = 0x00000000
REG_MULTI_SZ                = 0x00010000
REG_EXPAND_SZ               = 0x00020000
REG_BINARY                  = 0x00000001
REG_DWORD                   = 0x00010001
REG_NONE                    = 0x00020001

SERVICE_KERNEL_DRIVER       = 0x00000001
SERVICE_FILE_SYSTEM_DRIVER  = 0x00000002
SERVICE_ADAPTER             = 0x00000004
SERVICE_RECOGNIZER_DRIVER   = 0x00000008

SERVICE_BOOT_START          = 0x0
SERVICE_SYSTEM_START        = 0x1
SERVICE_AUTO_START          = 0x2
SERVICE_DEMAND_START        = 0x3
SERVICE_DISABLED            = 0x4

SERVICE_ERROR_IGNORE        = 0x00000000
SERVICE_ERROR_NORMAL        = 0x00000001
SERVICE_ERROR_SEVERE        = 0x00000002
SERVICE_ERROR_CRITICAL      = 0x00000003

FLG_ADDREG_NOCLOBBER        = 0x00000002
FLG_ADDREG_DELVAL           = 0x00000004
FLG_ADDREG_APPEND           = 0x00000008
FLG_ADDREG_KEYONLY          = 0x00000010
FLG_ADDREG_OVERWRITEONLY    = 0x00000020
FLG_ADDREG_64BITKEY         = 0x00001000
FLG_ADDREG_KEYONLY_COMMON   = 0x00002000
FLG_ADDREG_32BITKEY         = 0x00004000

SPSVCINST_STOPSERVICE			= 0x00000200
SPSVCINST_DELETEEVENTLOGENTRY	= 0x00000004	
NCI_GUID = "{27B961DB-3057-49BB-BD0D-ACA9FD8FF697}" 

