cacheflush()函式 Unix/Linux


名稱

cacheflush - 重新整理指令和/或資料快取記憶體的內容

內容簡介

#include  

int 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.

BUGS

目前的實現忽略addr和nbytes以論據。因此,總是重新整理整個快取。

注意

這個系統呼叫是僅適用於基於MIPS的系統。它不應該被用於準備移植的程式。