Should I configure my on-board DMA controller with physical address or virtual address? RRS feed

  • Question

  • My board DMA controller have address registers.

    I use WdfCommonBufferCreate create a Commonbuffer.

    And I get Virtual address and Logic address by using



    Should I configure my on-board DMA controller with VA or LA?

    Great Thanks!

    Thursday, October 29, 2015 2:55 AM


  • The virtual address is the address of memory from the CPU's perspective (in the context of some process). The logical address (don't confuse this with Intel's "logical address" as discussed in the CPU architecture manual) is the address of memory from a device's perspective. So, you program the logical address into the hardware's address register.

    Why are you using common-buffer DMA?


    Azius Developer Training Windows device driver, internals, security, & forensics training and consulting. Blog at

    Thursday, October 29, 2015 4:23 AM