INFO: Call Enable DMA Translation Only After DMA is Complete

Last reviewed: April 7, 1997
Article ID: Q163355
4.00 WINDOWS kbprg

The information in this article applies to:

  • Microsoft Win32 Device Development Kit (DDK) for Windows 95, version 4.0

SUMMARY

When you disable DMA translation prior to programming the DMA controller, do not reenable DMA translation until the DMA transfers are complete for that channel. Below is documentation from "PW0519: Virtual DMA Services (VDS)" on DMA translation services.

MORE INFORMATION

Disable DMA Translation

Environments that support the VDS, trap the standard DMA I/O ports and attempt to remap the addresses provided by the client application (assumed to be linear addresses) into appropriate physical addresses. However, an application that uses the VDS to determine the physical address of its DMA buffer region must call this service to disable the remapping of standard DMA ports.

This service maintains a disable count. Therefore, one call to the Enable DMA Translation must be made for each call to the Disable DMA Translation service before automatic DMA translation is enabled.

Enable DMA Translation

An application calls this service to reenable automatic DMA buffer remapping that was disabled by the Disable DMA Translation service.

This service maintains a disable count. Therefore, one call to Enable DMA Translation must be made for each call to the Disable DMA Translation service before automatic DMA translation is enabled.

REFERENCES

PW0519: Virtual DMA Services (VDS)


KBCategory: kbprg
KBSubcategory:
Additional reference words: 4.00
Keywords : kbprg NTDDKKMode kbprg
Version : 4.0
Platform : WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: April 7, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.