Skip to main content

cache_flush

Function cache_flush 

Source
pub unsafe fn cache_flush(addr: usize, len: usize)
Expand description

Writes back then invalidates L1 cache lines in [addr, addr + len).

Issues flush_va for every covered line followed by evict_va for the same lines, then stalls via TensorWait(6). Use when the calling hart has both dirty data to publish and potentially stale lines to discard.

Callers must issue crate::fence before this function (PRM Section 8.1.3).

ยงSafety

addr must be a valid virtual address; [addr, addr + len) must lie within device memory accessible to this hart.