cacheflush - 重新整理指令和/或資料快取記憶體的內容
#includeint cacheflush(char *addr, int nbytes, int cache);
cacheflush() 重新整理指定的快取(S)使用者地址範圍內的地址(地址為nbytes-1)的內容。快取可能是:
標籤 | 描述 |
---|---|
ICACHE | Flush the instruction cache. |
DCACHE | Write back to memory and invalidate the affected valid cache lines. |
BCACHE | Same as (ICACHE|DCACHE). |
cacheflush() 成功返回0或-1錯誤。如果檢測到錯誤,errno將指示錯誤。
Error Code | 描述 |
---|---|
EFAULT | Some or all of the address range addr to (addr+nbytes-1) is not accessible. |
EINVAL | cache parameter is not one of ICACHE, DCACHE, or BCACHE. |
目前的實現忽略addr和nbytes以論據。因此,總是重新整理整個快取。
這個系統呼叫是僅適用於基於MIPS的系統。它不應該被用於準備移植的程式。