Port 32bit driver to 64bit

hi,
I have a 32 bit device with DMA(32bit). The existing driver is in windows XP(WDM) . I want to port the same to 64bit windows 7. I am planning to port WDM driver to 64 bit WDF driver. But I am afraid about DMA will work or not.

Please help me.

Thanks

DMA for 32-bit devices that don’t support 64-bit are double-buffered, so it
should work, though you will incur a performance hit.

Good luck,

mm

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@nestgroup.net
Sent: Wednesday, February 16, 2011 6:16 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Port 32bit driver to 64bit

hi,
I have a 32 bit device with DMA(32bit). The existing driver is in windows
XP(WDM) . I want to port the same to 64bit windows 7. I am planning to port
WDM driver to 64 bit WDF driver. But I am afraid about DMA will work or not.

Please help me.

Thanks


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Why would the DMA not work?

Mark Roddy

On Wed, Feb 16, 2011 at 6:16 AM, wrote:
> hi,
> I have a 32 bit device with DMA(32bit). The existing driver is in windows XP(WDM) . I want to port the same to 64bit windows 7. I am planning to port WDM driver to 64 bit WDF driver. But I am afraid about DMA will work or not.
>
> Please help me.
>
> Thanks
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>

Could you please explain a little bit more. My whole application and driver will be in 64 bit. So it requires a 64 bit to 32 bit conversion part to access DMA. Is’nt it?
Which all KMDF apis are used for this? Any documentation available? How address maping is achieved?

sreejesh

AFAIK there should not be any issue, as long as there is no custom
assumptions done about the address pointer size in the code or
someother similar tweaks.
Just compile it for 64-bit and check.

-santosh k

>requires a 64 bit to 32 bit conversion part to access DMA. Is’nt it?

DMA works with physical addresses, and x64/x86 difference is virtual address size.

So, the question is strange a bit.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com