位置:首页 > 其他技术 > Unix/Linux系统调用 > cacheflush()函数 Unix/Linux

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的系统。它不应该被用于准备移植的程序。