;===========================================================
;
; File    : PlxSdk.inf
;
; Abstract: Windows 98/Me/2000/XP INF for boards with PLX PCI chips
;
; Revision: PCI SDK v4.10
;
;       (c) Copyright 2003 PLX Technology, Inc. 
;
;===========================================================


;===================================================================
; NOTES:
;
; This file is provided by PLX to install PLX drivers for PLX
; Reference Design Boards.  It may be used by others for reference
; purposes.  For those interested in modifying it for their own
; purposes, it is recommended that you refer to the Microsoft DDK
; documentation, which contains all the relevant information needed
; to create and modify INF files.  At the time of this writing, the
; Windows DDK was available from http://www.microsoft.com/ddk.
; The DDK is also included in MSDN subscriptions.
;
;
; ADDING AN ENTRY FOR OEM/CUSTOM DEVICES
; --------------------------------------
; For those interested in simply adding an entry for their custom
; board with a custom ID, and planning to use the PLX SDK supplied
; driver, follow the simple steps below.  Note that additional
; changes may be required depending upon the device type and any
; other requirements of custom drivers, etc.  Refer to the
; Windows DDK for additional information regarding changes.
;
; To add a custom device, in the [PLX.Mfg] section, add an entry
; similar to the existing entries according to the following:
;
;  "<My Device Name>" = DDInstall_<PLX_Chip>, PCI\VEN_<Vxxx>&DEV_<Dxxx>
;
;  where:
;
;    <My Device Name> = Name of device as it will appear in the
;                       Windows Device Manager.
;
;    <PLX_Chip>       = A supported PLX chip type, such as 9054 or 9656.
;                       This INF file already contains installation
;                       sections for currently supported PLX chips,
;                       assuming the PLX supplied driver will be used.
;
;    <Vxxx>           = The Vendor ID of your device.  An ID is
;                       assigned to each member of the PCI SIG.
;                       10B5 is assigned to and reserved for use by
;                       PLX Technology.
;
;    <Dxxx>           = The Device ID of your device.  Each vendor is
;                       responsible to managing their own Device IDs.
;                       PLX maintains a list of all IDs associated with
;                       a Vendor ID of 10B5.  The default list below
;                       contains IDs of supported PLX RDKs and the
;                       default IDs of PLX chips.
;
;
; INF FILE AND WINDOWS 2000/XP
; ----------------------------
; When using an INF to install drivers in Windows 2000 or XP, Windows
; will always ask the user for the source location of the required files.
; In this case, the required files are "PlxApi.dll" and the driver file,
; e.g Pci9054.sys or Pci9030.sys.  This can be a hassle to users who
; are installing the SDK with a new device for the first time.  Win98/Me
; do not seem to exhibit this behavior.
;
; Since the PLX SDK installation package already copies the necessary
; files to their correct locations, the copying of files has been disabled
; in this INF for Win2000/XP.  This prevents the OS from prompting the user
; for file locations; however, users attempting to use this INF for distribution
; purposes should modify the file to re-enable the copying of files.  If not,
; the files will not be copied to the destinations and Windows will not be
; able to load the driver, since the .SYS file will be missing.
;
; The re-enable of the file copy is a simple procedure.  The relevant lines
; have been commented out, but remain in this INF.  To re-enable file copy,
; perform the following steps:
;
;  - Go to the section [DDInstall_XXXX.NT], where <XXXX> is the PLX chip type
;  - The line "CopyFiles = ...." tells the OS which files to copy
;  - Remove the comment symbol (;) from the "CopyFiles = ..." line
;  - Repeat for all [DDInstall_XXXX.NT] sections where a driver may be installed
;
; That's all that's needed to enable file copy.  For distribution, just copy
; the modified INF along with the PlxApi.dll and the relevant driver file(s)
; to a floppy or CD-ROM and driver installation for end users should automatic.
;
; Please refer to the Windows DDK for more information.
;
;
;
; 9052 ERRATA #3 WORKAROUND
; -------------------------
; When the PCI bus manager detects a device in Windows 98,
; it attempts a write to the PCI Subsytem ID register to
; verify that it is read-only.
;
; Due to the 9052 errata #3, this write corrupts the PCI
; Interrupt Line register.  To prevent the PCI bus manager
; from performing the initial write, a registry entry is
; required.  This INF contains the necessary registry
; addition in the section [AddRegistry_WorkAround_9050].
; This will be added only for 9050/9052 devices in a
; Windows 98/Me environment.
;
; The workaround registers a BINARY entry for the PCI VxD
; with the Device/Vendor ID as the key name and the bit 14
; set as the value.  This should prevent the PCI driver from
; attempting a write to the Subsystem ID register.
;
; Customers modifying this file to add an entry for a device
; containing a 9052 should add a similar entry which includes
; their custom Device/Vendor ID.
;
; Please refer to section [AddRegistry_WorkAround_9050] for
; additional details.
;
;===================================================================




[Version]
Signature   = $CHICAGO$
Provider    = %PLX%
Class       = Unknown
DriverVer   = 05/31/2003, 4.1.0.0



;-----------------------------------------------------------
; Driver information
;-----------------------------------------------------------

[Manufacturer]
%PLX% = PLX.Mfg

[PLX.Mfg]
"Custom (OEM) PCI 9050/9052 Board" = DDInstall_9050, PCI\VEN_10b5&DEV_9050
"Custom (OEM) PCI 9030 Board"      = DDInstall_9030, PCI\VEN_10b5&DEV_9030
"Custom (OEM) PCI 9080 Board"      = DDInstall_9080, PCI\VEN_10b5&DEV_9080
"Custom (OEM) PCI 9054 Board"      = DDInstall_9054, PCI\VEN_10b5&DEV_9054
"Custom (OEM) PCI 9056 Board"      = DDInstall_9056, PCI\VEN_10b5&DEV_9056
"Custom (OEM) PCI 9656 Board"      = DDInstall_9656, PCI\VEN_10b5&DEV_9656
"PCI 9052 RDK-LITE Board"          = DDInstall_9050, PCI\VEN_10b5&DEV_5201
"PCI 9030 RDK-LITE Board"          = DDInstall_9030, PCI\VEN_10b5&DEV_3001
"Compact PCI 9030 RDK-LITE Board"  = DDInstall_9030, PCI\VEN_10b5&DEV_30c1
"PCI 9080 RDK-401b Board"          = DDInstall_9080, PCI\VEN_10b5&DEV_0401
"PCI 9080 RDK-860 Board"           = DDInstall_9080, PCI\VEN_10b5&DEV_0860
"PCI 9054 RDK-860 Board"           = DDInstall_9054, PCI\VEN_10b5&DEV_1860
"PCI 9054 RDK-LITE Board"          = DDInstall_9054, PCI\VEN_10b5&DEV_5406
"Compact PCI 9054 RDK-860 Board"   = DDInstall_9054, PCI\VEN_10b5&DEV_C860 
"PCI 9656 RDK-LITE Board"          = DDInstall_9656, PCI\VEN_10b5&DEV_9601
"Compact PCI 9656 RDK-860 Board"   = DDInstall_9656, PCI\VEN_10b5&DEV_96c2
"PCI 9056 RDK-LITE Board"          = DDInstall_9056, PCI\VEN_10b5&DEV_5601
"Compact PCI 9056 RDK-860 Board"   = DDInstall_9056, PCI\VEN_10b5&DEV_56c2




;-----------------------------------------------------------
; General installation section
;-----------------------------------------------------------
[CopyFiles_ApiDll]
PlxApi.dll,,,4

[CopyFiles_9050]
Pci9050.sys,,,4

[CopyFiles_9030]
Pci9030.sys,,,4

[CopyFiles_9080]
Pci9080.sys,,,4

[CopyFiles_9054]
Pci9054.sys,,,4

[CopyFiles_9656]
Pci9656.sys,,,4

[CopyFiles_9056]
Pci9056.sys,,,4




;-----------------------------------------------------------
; Windows 2000/XP installation section
;
; NOTE:  To enable file copy for distribution, remove the
;        comment symbol (;) from each "CopyFiles" line.
;-----------------------------------------------------------

[DDInstall_9050.NT]
AddReg    = AddRegistry_NT_9050
;CopyFiles = CopyFiles_ApiDll, CopyFiles_9050

[DDInstall_9030.NT]
AddReg    = AddRegistry_NT_9030
;CopyFiles = CopyFiles_ApiDll, CopyFiles_9030

[DDInstall_9080.NT]
AddReg    = AddRegistry_NT_9080
;CopyFiles = CopyFiles_ApiDll, CopyFiles_9080

[DDInstall_9054.NT]
AddReg    = AddRegistry_NT_9054
CopyFiles = CopyFiles_ApiDll, CopyFiles_9054

[DDInstall_9656.NT]
AddReg    = AddRegistry_NT_9656
;CopyFiles = CopyFiles_ApiDll, CopyFiles_9656

[DDInstall_9056.NT]
AddReg    = AddRegistry_NT_9056
;CopyFiles = CopyFiles_ApiDll, CopyFiles_9056



[DDInstall_9050.NT.Services]
AddService = Pci9050, 0x00000002, Service_Inst_9050, EventLog_Inst_9050

[DDInstall_9030.NT.Services]
AddService = Pci9030, 0x00000002, Service_Inst_9030, EventLog_Inst_9030

[DDInstall_9080.NT.Services]
AddService = Pci9080, 0x00000002, Service_Inst_9080, EventLog_Inst_9080

[DDInstall_9054.NT.Services]
AddService = Pci9054, 0x00000002, Service_Inst_9054, EventLog_Inst_9054

[DDInstall_9656.NT.Services]
AddService = Pci9656, 0x00000002, Service_Inst_9656, EventLog_Inst_9656

[DDInstall_9056.NT.Services]
AddService = Pci9056, 0x00000002, Service_Inst_9056, EventLog_Inst_9056



[AddRegistry_NT_9050]
HKLM,System\CurrentControlSet\Services\Pci9050,PhysicalMemoryCacheable,0x00010003,0x0

[AddRegistry_NT_9030]
HKLM,System\CurrentControlSet\Services\Pci9030,PhysicalMemoryCacheable,0x00010003,0x0

[AddRegistry_NT_9080]
HKLM,System\CurrentControlSet\Services\Pci9080,CommonBufferSize,0x00010003,0x10000
HKLM,System\CurrentControlSet\Services\Pci9080,MaxSglTransferSize,0x00010003,0x300000
HKLM,System\CurrentControlSet\Services\Pci9080,PhysicalMemoryCacheable,0x00010003,0x0

[AddRegistry_NT_9054]
HKLM,System\CurrentControlSet\Services\Pci9054,CommonBufferSize,0x00010003,0x10000
HKLM,System\CurrentControlSet\Services\Pci9054,MaxSglTransferSize,0x00010003,0x300000
HKLM,System\CurrentControlSet\Services\Pci9054,PhysicalMemoryCacheable,0x00010003,0x0

[AddRegistry_NT_9656]
HKLM,System\CurrentControlSet\Services\Pci9656,CommonBufferSize,0x00010003,0x10000
HKLM,System\CurrentControlSet\Services\Pci9656,MaxSglTransferSize,0x00010003,0x300000
HKLM,System\CurrentControlSet\Services\Pci9656,PhysicalMemoryCacheable,0x00010003,0x0

[AddRegistry_NT_9056]
HKLM,System\CurrentControlSet\Services\Pci9056,CommonBufferSize,0x00010003,0x10000
HKLM,System\CurrentControlSet\Services\Pci9056,MaxSglTransferSize,0x00010003,0x300000
HKLM,System\CurrentControlSet\Services\Pci9056,PhysicalMemoryCacheable, 0x00010003,0x0


[Service_Inst_9050]
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 0                  ; SERVICE_ERROR_IGNORE
ServiceBinary  = %10%\System32\Drivers\Pci9050.sys

[Service_Inst_9030]
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 0                  ; SERVICE_ERROR_IGNORE
ServiceBinary  = %10%\System32\Drivers\Pci9030.sys

[Service_Inst_9080]
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 0                  ; SERVICE_ERROR_IGNORE
ServiceBinary  = %10%\System32\Drivers\Pci9080.sys

[Service_Inst_9054]
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 0                  ; SERVICE_ERROR_IGNORE
ServiceBinary  = %10%\System32\Drivers\Pci9054.sys

[Service_Inst_9656]
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 0                  ; SERVICE_ERROR_IGNORE
ServiceBinary  = %10%\System32\Drivers\Pci9656.sys

[Service_Inst_9056]
ServiceType    = 1                  ; SERVICE_KERNEL_DRIVER
StartType      = 3                  ; SERVICE_DEMAND_START
ErrorControl   = 0                  ; SERVICE_ERROR_IGNORE
ServiceBinary  = %10%\System32\Drivers\Pci9056.sys




;-----------------------------------------------------------
; Windows 98/Me installation section
;
; Note: The section [AddRegistry_WorkAround_9050] contains the
;       registry additions for the 9052 Errata #3.
;-----------------------------------------------------------

[DDInstall_9050]
AddReg    = AddRegistry_9050, AddRegistry_WorkAround_9050
CopyFiles = CopyFiles_ApiDll, CopyFiles_9050

[DDInstall_9030]
AddReg    = AddRegistry_9030
CopyFiles = CopyFiles_ApiDll, CopyFiles_9030

[DDInstall_9080]
AddReg    = AddRegistry_9080
CopyFiles = CopyFiles_ApiDll, CopyFiles_9080

[DDInstall_9054]
AddReg    = AddRegistry_9054
CopyFiles = CopyFiles_ApiDll, CopyFiles_9054

[DDInstall_9656]
AddReg    = AddRegistry_9656
CopyFiles = CopyFiles_ApiDll, CopyFiles_9656

[DDInstall_9056]
AddReg    = AddRegistry_9056
CopyFiles = CopyFiles_ApiDll, CopyFiles_9056


;***********************************************************
; The following is for the 9052 errata #3.
;
; Customers modifying this file to add an entry for a device
; containing a 9052 should add a similar entry which includes
; their custom Device/Vendor ID.
;***********************************************************
[AddRegistry_WorkAround_9050]
HKLM, System\CurrentControlSet\Services\VxD\PCI, 905010b5, 0x00000001, 00, 00, 40, 00
HKLM, System\CurrentControlSet\Services\VxD\PCI, 520110b5, 0x00000001, 00, 00, 40, 00

[AddRegistry_9050]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,Pci9050.sys
HKR,,ErrorLogLevel,0x00010001,2
HKLM, "Software\PLX Technology, Inc.\DriverOptions\Pci9050",PhysicalMemoryCacheable,0x00010003,0x0

[AddRegistry_9030]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,Pci9030.sys
HKR,,ErrorLogLevel,0x00010001,2
HKLM, "Software\PLX Technology, Inc.\DriverOptions\Pci9030",PhysicalMemoryCacheable,0x00010003,0x0

[AddRegistry_9080]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,Pci9080.sys
HKR,,ErrorLogLevel,0x00010001,2
HKLM, "Software\PLX Technology, Inc.\DriverOptions\Pci9080",CommonBufferSize,0x00010003,0x10000
HKLM, "Software\PLX Technology, Inc.\DriverOptions\Pci9080",MaxSglTransferSize,0x00010003,0x300000
HKLM, "Software\PLX Technology, Inc.\DriverOptions\Pci9080",PhysicalMemoryCacheable,0x00010003,0x0

[AddRegistry_9054]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,Pci9054.sys
HKR,,ErrorLogLevel,0x00010001,2
HKLM, "Software\PLX Technology, Inc.\DriverOptions\Pci9054",CommonBufferSize,0x00010003,0x10000
HKLM, "Software\PLX Technology, Inc.\DriverOptions\Pci9054",MaxSglTransferSize,0x00010003,0x300000
HKLM, "Software\PLX Technology, Inc.\DriverOptions\Pci9054",PhysicalMemoryCacheable,0x00010003,0x0

[AddRegistry_9656]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,Pci9656.sys
HKR,,ErrorLogLevel,0x00010001,2
HKLM, "Software\PLX Technology, Inc.\DriverOptions\Pci9656",CommonBufferSize,0x00010003,0x10000
HKLM, "Software\PLX Technology, Inc.\DriverOptions\Pci9656",MaxSglTransferSize,0x00010003,0x300000
HKLM, "Software\PLX Technology, Inc.\DriverOptions\Pci9656",PhysicalMemoryCacheable,0x00010003,0x0

[AddRegistry_9056]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,Pci9056.sys
HKR,,ErrorLogLevel,0x00010001,2
HKLM, "Software\PLX Technology, Inc.\DriverOptions\Pci9056",CommonBufferSize,0x00010003,0x10000
HKLM, "Software\PLX Technology, Inc.\DriverOptions\Pci9056",MaxSglTransferSize,0x00010003,0x300000
HKLM, "Software\PLX Technology, Inc.\DriverOptions\Pci9056",PhysicalMemoryCacheable,0x00010003,0x0




;-----------------------------------------------------------
; Event log registry entries
;-----------------------------------------------------------

[EventLog_Inst_9050]
AddReg = EventLog_AddReg_9050

[EventLog_Inst_9030]
AddReg = EventLog_AddReg_9030

[EventLog_Inst_9080]
AddReg = EventLog_AddReg_9080

[EventLog_Inst_9054]
AddReg = EventLog_AddReg_9054

[EventLog_Inst_9656]
AddReg = EventLog_AddReg_9656

[EventLog_Inst_9056]
AddReg = EventLog_AddReg_9056


[EventLog_AddReg_9050]
HKR,,EventMessageFile,0x00020000,"%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\Drivers\Pci9050.sys"
HKR,,TypesSupported,0x00010001,7

[EventLog_AddReg_9030]
HKR,,EventMessageFile,0x00020000,"%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\Drivers\Pci9030.sys"
HKR,,TypesSupported,0x00010001,7

[EventLog_AddReg_9080]
HKR,,EventMessageFile,0x00020000,"%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\Drivers\Pci9080.sys"
HKR,,TypesSupported,0x00010001,7

[EventLog_AddReg_9054]
HKR,,EventMessageFile,0x00020000,"%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\Drivers\Pci9054.sys"
HKR,,TypesSupported,0x00010001,7

[EventLog_AddReg_9656]
HKR,,EventMessageFile,0x00020000,"%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\Drivers\Pci9656.sys"
HKR,,TypesSupported,0x00010001,7

[EventLog_AddReg_9056]
HKR,,EventMessageFile,0x00020000,"%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\Drivers\Pci9056.sys"
HKR,,TypesSupported,0x00010001,7




;-----------------------------------------------------------
; Source file information
;-----------------------------------------------------------

[SourceDisksNames.x86]
1 = %InstallDisk%

[SourceDisksFiles]
PlxApi.dll  = 1
Pci9050.sys = 1
Pci9030.sys = 1
Pci9080.sys = 1
Pci9054.sys = 1
Pci9056.sys = 1
Pci9656.sys = 1

[DestinationDirs]
CopyFiles_ApiDll = 11                        ;11 = System Directory
DefaultDestDir   = 10, System32\Drivers      ;10 = Windows Directory




;-----------------------------------------------------------
; String information
;-----------------------------------------------------------

[Strings]
InstallDisk = "PLX Installation Disk"
PLX         = "PLX Technology, Inc."
