Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This function is called by device drivers and applications to flush a specific range of the cache.
void CacheRangeFlush(LPVOIDpAddr,DWORDdwLength,DWORDdwFlags );
Parameters
- pAddr
[in] Starting virtual address where the cache operation is to be performed in. The cache operation is specified by the value in dwFlags. - dwLength
[in] Specifies the length, in bytes. - dwFlags
[in] Specifies the operation to be performed. The following table shows the values you can specify for the dwFlags parameter.Value Description CACHE_SYNC_WRITEBACK Write back cached data. CACHE_SYNC_DISCARD Write back and discard cached data. CACHE_SYNC_INSTRUCTIONS Discard all cached instructions. CACHE_SYNC_FLUSH_I_TLB Flush the instruction translation look-aside buffer (TLB). CACHE_SYNC_FLUSH_D_TLB Flush the data TLB. CACHE_SYNC_FLUSH_TLB Flush both the instruction and data TLBs. CACHE_SYNC_L2_WRITEBACK Write back the L2 cache. CACHE_SYNC_L2_DISCARD Write back and discard the L2 cache. CACHE_SYNC_ALL Perform all of the above operations.
Return Values
None.
Remarks
pAddr=0 and dwLength=0 is a special case, which means all addresses. For example, the call CacheRangeFlush(0, 0, CACHE_SYNC_FLUSH_TLB) will flush the data in the TLB. CacheRangeFlush(0, 0, CACHE_SYNC_DISCARD) will write back and discard everything in the data cache.
Requirements
OS Versions: Windows CE .NET 4.2 and later.
Header: Pkfuncs.h.
Link Library: Coredll.lib.
See Also
Send Feedback on this topic to the authors