Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problems accessing PCI Cfg space in WDM drivers

78 views
Skip to first unread message

Desmond Bean

unread,
Sep 23, 1999, 3:00:00 AM9/23/99
to
I am writing a WDM driver for a PCI card that includes a PCI bridge chip
doing bus-master DMA. The bridge chip exposes the Cfg space as both a port
and memory resource. Checking with utility "PCI.EXE" shows the Cfg space
programmed correctly & presumeably available from the WDM driver.

However neither the port or memory resource will actually access the Cfg
space for reading. I then tried the PCIMP functions. On linking these into
the driver it now won't load (although there are no errors reported in the
build). The system applet reports ntkrnl.vxd could not load the driver code
2 = "system error".

Since HalGetBusData and all that is gone from WDM, how do you get at the
Cfg space. I have verified that PnP functions IRP_MN_READ_CONFIG ( and
presumeably the write ) will access the PCI Cfg space from PASSIVE level
through the PnP stack. I then tried IRP_MN_QUERY_INTERFACE for GUIDs
GUID_BUS_INTERFACE_STANDARD and then GUID_PCI_BUS_INTERFACE_STANDARD and the
error return was UNIMPLEMENTED =
0xc0000002 for both ! With the PCIMP also not working I am in a bind. The
Pci bridge is driven through the cfg space, & must be twiddled at DPC level.
Even if I take Intel's suggestion & put this in a RT thread the mechanism
through the PnP stack must be very slow ? Do you have any contact that might
know something about this. Thanks for your trouble. Des Bean

ama...@my-deja.com

unread,
Oct 14, 1999, 3:00:00 AM10/14/99
to
Hi Bean,
II'am sorry this is not a reply to your query but I aso am having
the same problem. I have also tried all what yuo have done but we dont
have the BusNumber nor the SlotNumber because of which we cannot access
the PCI config space in any case.
Have you over come the problem??? If ou have could you let me know
how you got over with it.

Thanks in advance
Amar.

In article <ycgG3.6118$5i5.2...@typhoon.mbnet.mb.ca>,


Sent via Deja.com http://www.deja.com/
Before you buy.

Kanna Rajagopal

unread,
Oct 15, 1999, 3:00:00 AM10/15/99
to
We can get the PCI slot number in a WDM driver, by sending down a
IRP_MN_QUERY_CAPABILITIES IRP to the PDO created by the lower driver (
pci driver in this case ) refer DDK for more info.

tx
kanna

In article <7u58h8$253$1...@nnrp1.deja.com>,

ama...@my-deja.com

unread,
Oct 18, 1999, 3:00:00 AM10/18/99
to
The problem that I'am having is that my device is a PCI device but it
is not being enumerated by PCI...so the PDO I get is of Root...this is
because my Device already has a driver and I'am writing another driver
that is accessing only a small part of the PCI Config space.
The solution I have got to is to find out which PCI PDO is for my
device from all the PCI PDO's generated by the PCI bus driver. But then
I dont know wether the names of the PCI PDO on Win 2000 and Win 98 are
the same. coz if they arent same then writing a WDM driver is of no
use.
My main objective of writing a WDM driver is that the same driver
should work on both the OS's (win98 and Win 2000)

Could you tell me if I'am doing the right thing and if this would be
compatible for 98. If not then do yo uhave another way out.

Thanks in Advance
Amar Dhamdhere
Intel Corp
amar

In article <7u7bgg$hqv$1...@nnrp1.deja.com>,

0 new messages