KiFlushRangeAllCaches

VOID __stdcall KiFlushRangeAllCaches(
        MDL *Mdl,
        VOID *BaseAddress,
        UINT64 Length,
        UINT8 ReadOperation,
        UINT8 DmaOperation){
  if( DmaOperation && ReadOperation )
  {
    if( ((KeLargestCacheLine - 1) & (unsigned int)BaseAddress) != 0 )
      KeBugCheckEx(0xE6u, 0x1Fui64, 4ui64, (ULONG_PTR)BaseAddress, (ULONG_PTR)Mdl);
    if( ((KeLargestCacheLine - 1) & (unsigned int)Length) != 0 )
      KeBugCheckEx(0xE6u, 0x1Fui64, 5ui64, (unsigned int)Length, (ULONG_PTR)Mdl);
  }
  if( KeGetCurrentIrql() == 15 )
    KeBugCheckEx(0x55u, 0x64ui64, 0xBADui64, 1ui64, 0i64);
  KeInvalidateRangeAllCaches(BaseAddress, (unsigned int)Length);
}

Referenced by:

KeFlushIoBuffers