Haven’t read you post carefully, now I see what’s your real question.
To access PCI config space in NT, you should not directly manipulate port
CF8/CFC since you can not sync the access to those ports with HAL and/or the
PCI bus driver. Therefore, portio is not the way to go even on a 32-bit
machine.
In NT4 and below, you can use HalGet/SetBusData(ByOffset). In w2k and up,
IRP_MN_READ/WRITE_CONFIG (passive level only) or bus
interface(<=DISPATCH_LEVEL IIRC) is the way to go.
If you have a certain board that you wish to access its config space, you
can load a functional driver and send proper PNP IRPs to the PCI bus driver.
If you want to access config space on arbitrary PCI boards (most likely for
a diagnostic utility), you could still use obsolete Hal functions but it’s
discouraged. Another way is to write a PCI bus PDO filter driver. Once you
have the filter driver, you will have access to any PDOs. Such a driver is a
bit difficult to write since it is not offically supported and could be
difficult to install for PCI-PCI/AGP bridges.If you decide to take this
approach, I can provide more details.
Good luck,
Calvin
Calvin Guan, Software Engineer xxxxx@nospam.ati.com
ATI Technologies Inc. Tel: (905) 882-2600 Ext. 8654
-----Original Message-----
From: Calvin Guan [mailto:xxxxx@ati.com]
Sent: Wednesday, January 14, 2004 1:58 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] How to build Port IO driver for IA-64?
I would assume you’re using DDK37xx.
In the portio sample, the makefile limits the target bin x86 only. Try
removing the !IF/!ENDIF statements in the portio/sys/makefile.
Calvin Guan, Software Engineer xxxxx@nospam.ati.com
ATI Technologies Inc. Markham ON. Canada
Tel: (905) 882-2600 Ext. 8654
-----Original Message-----
From: xxxxx@comcast.net [ mailto:xxxxx@comcast.net
mailto:xxxxx ]
> Sent: Wednesday, January 14, 2004 1:52 PM
> To: Windows System Software Devs Interest List
> Subject: [ntdev] How to build Port IO driver for IA-64?
>
>
>
> I am trying to develop a utility that can read and write
> PCI card configuration space. For the 32 bit OS I can use
> the portio example from the DDK. But when I compile this
> example in IA-64 mode I don’t get the .SYS driver, even
> though the read and write apps build OK.
>
> I think this is because the Itanium does not really have
> IO space. So how do I access the configuration space
> on a PCI card when running a 64 bit OS? Is there an example
> somewhere of how the IA-64 systems access IO addresses?
>
> thanks, ed in calif
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
http:
>
> You are currently subscribed to ntdev as: xxxxx@ati.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: xxxxx@ati.com
To unsubscribe send a blank email to xxxxx@lists.osr.com</http:></mailto:xxxxx>