[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Calling the PCI BIOS under Windows NT 4.0 / Windows 2000

Under WinNT4.0, there was no "collection" of data.
There is a standard IO manager call, which eventually translates to
HalGetBusData().   That call just retrieves data
from the PCI configuration space for you, but it *does*
actually envoke the bus, i.e. it translates to PCI configuration
cycles.  So you "access" the configuration space via HalGetBusData(),
but you are still just searching the configuration space....

I am out of date wrt Win2K.  My *impression* in Win2K is
that the IOManager and BusDriver probably keep the data around in
some data repository, but its a new element to NT-based OS vs NT4.
I have not researched what the appropriate Win2K IOcalls might
be to ascertain any data from the BusDriver, so I'm not terribly 
useful in commenting to the specifics in that this newer MS OS.
(I might go poke around just to fill this whole in my knowledge 
next week - if so I might post a comment on findings, I don't have
time now).

It's a sure thing however that trying to call the BIOS
directly from NT4 or Win2K is going to lead to failure.

-David O'Shea

-----Original Message-----
From: Dan Mick [mailto:Dan.Mick@West.Sun.COM]
Sent: Thursday, January 11, 2001 5:52 PM
To: david.j.oshea@intel.com
Subject: RE: Calling the PCI BIOS under Windows NT 4.0 / Windows 2000

Goodness, I sure hope not; isn't there an OS API, as someone else
mentioned, to retrieve this sort of info?

> Don't use the PCI BIOS to get the information.
> Standard fare under NT 4.0 or Win2K would be
> to scan the entire configuration space and
> test each found device's VID and DID against
> your target, and then pull the base address
> information from the device's BAR registers directly.
> -David O'Shea
> -----Original Message-----
> From: Keith Jasinski [mailto:jasinski@mortara.com]
> Sent: Thursday, January 11, 2001 1:21 PM
> To: pci-sig@znyx.com
> Subject: RE: Calling the PCI BIOS under Windows NT 4.0 / Windows 2000
> Any replies to this would be greatly appreciated if you would either copy
> the reflector or include me in replies to the author.
> Thanks in advance,
> Keith F. Jasinski, Jr.
> jasinski@mortara.com
> Extension 245
> Mortara Instrument, Inc. (www.mortara.com)
> 7865 North 86th Street
> Milwaukee, WI  53224
> (414) 354-1600
> F: (414) 354-4760
> -----Original Message-----
> From: maximino.castro@ni.com [mailto:maximino.castro@ni.com]
> Sent: Thursday, January 11, 2001 2:49 PM
> To: pci-sig@znyx.com
> Subject: Calling the PCI BIOS under Windows NT 4.0 / Windows 2000
> I am trying to call the PCI BIOS so that I can attain the Base Address
> have been assigned to boards with a certain vendor ID.  I am able to get
> the entry point for the BIOS32 Service Directory but I am unable to make
> any function calls to the BIOS.
> I would appreciate any help on this subject or any other ways I might be
> able to get the Base Address using the Vendor ID.
> Thanks,
> Max