KeInvalidateAllCaches
UINT8 __stdcall KeInvalidateAllCaches(){
unsigned __int8 CurrentIrql;
_KPRCB *CurrentPrcb;
CurrentIrql = KeGetCurrentIrql();
__writecr8(0xCui64);
CurrentPrcb = KeGetCurrentPrcb();
if( KxSetTimeStampBusy(&KiCacheFlushTimeStamp) )
{
KiIpiSendRequestEx(CurrentPrcb, IpiAllButSelf, 0i64, 0i64, 6ui64, (INT64)KeSweepLocalCaches, 0i64);
_InterlockedIncrement((volatile signed __int32 *)&KiCacheFlushTimeStamp);
}
__writecr8(CurrentIrql);
return 1;
}Referenced by:
KeFlushIoBuffers
KeInvalidateRangeAllCaches
KeInvalidateRangeAllCachesNoIpi
MiChangePageAttributeBatch
MiChangePageAttributeContiguous
MiFlushCacheMdl
MiFlushCacheRange
MiInitializeCacheFlushing