cacheflush() - Unix,Linux系统调用
Tutorials Point


  Unix初学者教程
  Unix Shell编程
  高级Unix
  Unix有用参考
  Unix有用资源
  精选阅读

版权所有 © 2014 tutorialspoint



  首页     参考     讨论论坛     关于TP  

cacheflush() - Unix,Linux系统调用


previous next AddThis Social Bookmark Button

广告

名称

cacheflush - 清空指令和/或数据缓存的内容

概要

#include <asm/cachectl.h> 

int cacheflush(char *addr, int nbytes, int cache);

描述

cacheflush() 清空指定缓存中从addr到(addr+nbytes-1)范围内的用户地址的内容。缓存可以是以下之一:

标签描述
ICACHE 清空指令缓存。
DCACHE 写回内存并使受影响的有效缓存行失效。
BCACHE (ICACHE|DCACHE)相同。

返回值

cacheflush() 成功返回0,失败返回-1。如果检测到错误,errno将指示错误。

错误

错误代码描述
EFAULT addr到(addr+nbytes-1)范围内的部分或所有地址不可访问。
EINVAL cache参数不是ICACHE、DCACHE或BCACHE之一。

缺陷

当前实现忽略了addrnbytes参数。因此,总是会清空整个缓存。

注意

此系统调用仅在基于MIPS的系统上可用。不应将其用于旨在可移植的程序。



previous next Printer Friendly

广告


  

广告



广告