MmMapIoSpace

Hello, some questions about MmMapIoSpace.

In my “IRP_MN_START_DEVICE” I use the “PCM_PARTIAL_RESOURCE_DESCRIPTOR” and
“MmMapIoSpace” in order to map physical address into virtual for later
usage.

In NT drivers I used “HalTranslateBusAddress” before calling “MmMapIoSpace”.
I know that in 2k drivers this is not the scheme but I cannot get the memory
resources correct.

using “MmMapIoSpace”. I can get the “CmResourceTypePort” and
“CmResourceTypeInterrupt” but not the memory type resources. My hw has 2
banks. The length and virtual addresses are incorrect.

Using the same hw, on the same system and OS, but the NT driver I can get
the resources.

Do you know what might be the problem?

I’m sorry. I don’t understand your description. Please type this in the
debugger:

!cmreslist



In place of "" please put the pointer to the translated resources
that you received in your IRP_MN_START_DEVICE.

Then type

!pci 100

In place of and put the PCI bus number and the PCI device
number of your adapter.

--
Jake Oshins
Windows Kernel Group

This posting is provided "AS IS" with no warranties, and confers no rights.

"Nikolas Stylianides" wrote in message news:xxxxx@ntdev...
Hello, some questions about MmMapIoSpace.

In my "IRP_MN_START_DEVICE" I use the "PCM_PARTIAL_RESOURCE_DESCRIPTOR" and
"MmMapIoSpace" in order to map physical address into virtual for later
usage.
In NT drivers I used "HalTranslateBusAddress" before calling "MmMapIoSpace".
I know that in 2k drivers this is not the scheme but I cannot get the memory
resources correct.
using "MmMapIoSpace". I can get the "CmResourceTypePort" and
"CmResourceTypeInterrupt" but not the memory type resources. My hw has 2
banks. The length and virtual addresses are incorrect.

Using the same hw, on the same system and OS, but the NT driver I can get
the resources.

Do you know what might be the problem?