阅读:2321回复:1
进行DMA时如何保证Cache和内存内容的一致性?
因为程序使用虚拟地址,而且一般使用CACHED地址,所以虚拟地址中的内容与其物理地址上的内容不一定一致,所以在启动DMA传输之前一定要将该地址的CACHE刷新,即写入内存。请问在VC++中怎样进行CACHE刷新?用什么函数?操作系统用的是win2000
|
|
沙发#
发布于:2009-05-21 10:40
Re:进行DMA时如何保证Cache和内存内容的一致性?  
如果是NDIS架构,在Copy数据前用NdisMUpdateSharedMemory;如果是WDM架构,在Copy数据前用FlushAdapterBuffers |
|