CPU内部的cache和内存有时候不吻合,虽然CPU是知道的,但是DMA却不知道这些。这就需要在DMA传输之前,强制CPU把cache写回内存。这个命令是KeFlushIoBuffers。
在x86和x64的CPU中,CPU会自动做这个事情,所以对于x86和x64CPU来说,KeFlushIoBuffers是空的。
对于Itanium来说,它不会自动做这些,KeFlushIoBuffers就应该是个真正的函数。
CPU内部的cache和内存有时候不吻合,虽然CPU是知道的,但是DMA却不知道这些。这就需要在DMA传输之前,强制CPU把cache写回内存。这个命令是KeFlushIoBuffers。
在x86和x64的CPU中,CPU会自动做这个事情,所以对于x86和x64CPU来说,KeFlushIoBuffers是空的。
对于Itanium来说,它不会自动做这些,KeFlushIoBuffers就应该是个真正的函数。
转载于:https://www.cnblogs.com/fanzi2009/archive/2011/06/17/2083834.html