Problems with INF file for filter driver for PCI-to-PCI bridge

Hi, I have written a filter driver for a regular PCI-to-PCI bridge (
actually this is a i960RN PCI card which has a secondary PCI bus on it).
The system recognizes this as a P-to-P device and installs pci.sys as the
driver for it. That sounds good. I have written my driver and I am running
into problems running the INF file on it.

The PCI vendor id for this device is 8086(intel) and the device id is
0964. I have reproduced the INF file below. Could someone take a look at
it and let me know if this INF file would actually install my driver as
the filter driver for the PCI-to-PCI bridge?. For the life of me, I cannot
figure out why my driver’s DriverEntry does not even get invoked.

All I want is to play with some configuration space registers that are not
visible to the OS by default.

PS :- I got this INF file from the apg440 driver in the win2k DDK. The
driver in the samples also installs as an upper filter driver so I thought
I will modify it to suit my own purposes. I ran the agp440.inf file
through chkinf and it gives a couple of errors and some warnings. The
chkinf tool does the same on my inf file as well so I thought it was no
big deal. Obviously since I copied this from the agp440.inf, I have not
bothered to replace the comments with my own.

I would appreciate any help.

Thanks,
RK

=======================================INF file duplicated here

;
; ;
; brdgfilter.INF – This file contains descriptions of all the AGP
Miniports
; supported in Windows NT
;
; You will need to change the names and PCI IDs to reflect your part. In
order
; to install this driver, go to device manager, right-click on the PCI-PCI
bridge
; which represents your AGP bridge and select “Properties”. Then select
the “Driver”
; page and push the “Update Driver” button. Go through the update driver
wizard and
; on the “Locate Driver Files” page select “Specify a location” and then
enter the
; location of your new INF and driver. I will have this sample and
instructions
; added to the DDK.
;
;

[Version]
Signature=“$WINDOWS NT$”
Class=System
ClassGuid={4D36E97D-E325-11CE-BFC1-08002BE10318}
Provider=%MSFT%
DriverVer=03/03/2003,5.00.2072

; =================== Common for all AGP devices =========================
[DestinationDirs]
DefaultDestDir = 12 ; DIRID_DRIVERS

[Manufacturer]
%INTEL_MFG%=INTEL_P2PBRDG
; %INTEL_MFG%=INTEL_AGP

[Brdg_Filter_Reg]
HKR,“UpperFilters”, 0x00010000,“brdg”

[pci_ServiceInstallSection]
DisplayName = %pci_svcdesc%
ServiceType = %SERVICE_KERNEL_DRIVER%
StartType = %SERVICE_BOOT_START%
ErrorControl = %SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\pci.sys
LoadOrderGroup = “Boot Bus Extender”

; =================== INTEL 440XX ========================
[INTEL_P2PBRDG]
%PCI\VEN_8086&DEV_0964.DeviceDesc%=brdg_Install,PCI\VEN_8086&DEV_0964

[brdg_Install]
CopyFiles=@pcibrdgfilter.SYS

[brdg_Install.HW]
AddReg = Brdg_Filter_Reg

[brdg_Install.Services]
AddService = pcibrdgfilter,0,brdg_ServiceInstallSection
AddService = pci, %SPSVCINST_ASSOCSERVICE%, pci_ServiceInstallSection

[brdg_ServiceInstallSection]
DisplayName = %brdg_svcdesc%
ServiceType = %SERVICE_KERNEL_DRIVER%
StartType = %SERVICE_DEMAND_START%
ErrorControl = %SERVICE_ERROR_NORMAL%
ServiceBinary = %12%\pcibrdgfilter.sys
LoadOrderGroup = PnP Filter

; =================== STRINGS and CONSTANTS ========================

[Strings]
INTEL_MFG = “Intel”
MSFT = “Microsoft”
PCI\VEN_8086&DEV_0964.DeviceDesc = “Intel P2P bridge filter”

;service descriptions
brdg_svcdesc = “Intel P2P bridge Filter”
pci_svcdesc = “PCI Bus Driver”

;*******************************************
;Handy macro substitutions (non-localizable)
SPSVCINST_ASSOCSERVICE = 0x00000002
SERVICE_KERNEL_DRIVER = 1
SERVICE_BOOT_START = 0
SERVICE_DEMAND_START = 3
SERVICE_ERROR_NORMAL = 1

Thanks,
xxxxx@hotmail.com