home *** CD-ROM | disk | FTP | other *** search
/ Borland Programmer's Resource / Borland_Programmers_Resource_CD_1995.iso / info / ntkb / ntkb.exe / Q101 / 3 / 49.TXT next >
Encoding:
Text File  |  1993-08-31  |  2.6 KB  |  55 lines

  1. DOCUMENT:Q101349  13-JUL-1993  [W_NT]
  2. TITLE   :INF: How DMA Device Access Memory Greater then 16 MB
  3. PRODUCT :Windows NT
  4. PROD/VER:3.10
  5. OPER/SYS:WINDOWS
  6. KEYWORDS:
  7.  
  8. --------------------------------------------------------------------
  9. The information in this article applies to:
  10.  
  11.  - Microsoft Windows NT operating system version 3.1
  12.  - Microsoft Windows NT Advanced Server version 3.1
  13. --------------------------------------------------------------------
  14.  
  15. Enabling DMA devices to access memory beyond 16 MB is handled by the
  16. hardware abstraction layer (HAL). When Windows NT boots, the HAL
  17. reserves some memory in the lower 16 MB. When a DMA device
  18. initializes, it informs the HAL of its characteristics and
  19. limitations, such as only 24 address lines (maximum 16 MB of address
  20. space). Later, when the DMA device needs to do DMA, it requests the
  21. physical address of the buffer using the IoMapTransfer call. The HAL
  22. checks to see if this buffer is accessible to the device. If the
  23. buffer cannot be reached by the device the HAL uses one if its pages
  24. instead. If the operation is a write, then the data is copied from
  25. high memory to the lower memory. When the DMA device has completed the
  26. data transfer, it notifies the HAL using the IoFlushAdapterBuffers
  27. call. If the operation was a read, data is copied from low memory to
  28. high memory. Using this interface the driver never has to be concerned
  29. about where the memory is located.
  30.  
  31. A few additional notes: The buffer allocated by the HAL is contiguous
  32. so that it can also be used by devices that do not support
  33. scatter/gather such as floppy drives. The buffer is shared by all
  34. devices that need to use it and grows according to expected usage and
  35. memory size. Finally, the data is only copied when necessary.
  36.  
  37. Additional reference words: 3.10
  38. KBCategory:
  39. KBSubCategory: hrdwr
  40.  
  41. =============================================================================
  42.  
  43. THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS
  44. PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.  MICROSOFT DISCLAIMS
  45. ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES
  46. OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO
  47. EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR
  48. ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL,
  49. CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF
  50. MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE
  51. POSSIBILITY OF SUCH DAMAGES.  SOME STATES DO NOT ALLOW THE EXCLUSION
  52. OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES
  53. SO THE FOREGOING LIMITATION MAY NOT APPLY.
  54.  
  55. Copyright Microsoft Corporation 1993.