cacheflush -
  命令キャッシュやデータキャッシュの内容をフラッシュする
#include <asm/cachectl.h>
int cacheflush(char *addr, int nbytes, int cache);
cacheflush() は addr から (addr+nbytes-1)
  の範囲のユーザーアドレスに対応する
  指定されたキャッシュをフラッシュする。
  cache
  には以下のいずれかを指定する:
  - ICACHE
- 命令 (instruction)
      キャッシュをフラッシュする。
- DCACHE
- 変更があったキャッシュラインをメモリーに書き戻し、無効にする。
- BCACHE
- (ICACHE|DCACHE) と同じ。
返り値¶
cacheflush()
  は成功した場合は 0
  を、失敗した場合は -1
  を返す。エラーが検出された場合は
  errno
  にエラーが指示される。
エラー¶
  - EFAULT
- addr から (addr+nbytes-1)
      の範囲のアドレスの全てまたは一部が
      アクセス可能ではない。
- EINVAL
- cache パラメーターが
      ICACHE, DCACHE, BCACHE
      のどれでもない。
この Linux
  特有のシステムコールは
  MIPS
  ベースのシステムでのみ有効である。
  移植を意図したプログラムで使用すべきではない。
現在の実装では、引き数
  addr と nbytes
  は無視される。そのため、
  常に全てのキャッシュがフラッシュされる。