WinDriver does not impose any inherent limitation on the size of the DMA buffer that can be allocated using its DMA APIs. However, the success of the DMA allocation is dependent of the amount of available system resources at the time of the attempted allocation. Therefore, the earlier your try to allocate the buffer, the better your chances of succeeding.
For Contiguous Buffer DMA allocation, there must be enough
contiguous physical memory for the allocation.
The DMA buffer allocated by WinDriver uses page-locked memory, to ensure a safe
DMA operation. This memory is allocated from Windows' non-paged kernel pool of
memory. The size of this pool is fixed at boot time by a Registry setting. You
can increase the allocated memory by increasing the value of the
Even after increasing the value of the relevant Registry entries, the memory allocation might still fail, specifically when trying to allocate a very large buffer (such as 1GB). The solution in this case is to try decreasing the size of the buffer you are trying to lock, until you succeed.
Please note that the WinDriver DMA allocation APIs
(( |

