PCI bus address vs. CPU virtual address

Hi,

Assumes that there is a micro-controller on PCI device. The PCI device need to use some physical memory resources on the mother board of PC . The device driver allocate memory for the PCI deivce and pass the memory block start address to device. But the PCI device can not access the memory with this address. So, how to translate the logical address returned by “ExAllocatePool” to PCI bus address with which the PCI device can access the memory allocated by driver ?

Best Regards
Kamasamikon

AllocateCommonBuffer works for me. ExAllocatePool returns a kernel virtual
address, not a logical address. You want the logical address returned as
out parameter 3 from AllocateCommonBuffer to give to your device.

Shaun
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Kamasamikon
Sent: Friday, October 11, 2002 12:34 AM
To: NT Developers Interest List
Subject: [ntdev] PCI bus address vs. CPU virtual address

Hi,

Assumes that there is a micro-controller on PCI device. The PCI device need
to use some physical memory resources on the mother board of PC . The
device driver allocate memory for the PCI deivce and pass the memory block
start address to device. But the PCI device can not access the memory with
this address. So, how to translate the logical address returned by
“ExAllocatePool” to PCI bus address with which the PCI device can access
the memory allocated by driver ?

Best Regards
Kamasamikon
b???.???????amp;?v??ׯj?j??zz^?x???amp;N???r??zǧu??jy-???^j???
??}vX???&