cacheflush(2)

命令キャッシュやデータキャッシュの内容をフラッシュする · man2 · 日本語

CACHEFLUSH(2) Linux Programmer's Manual CACHEFLUSH(2)

cacheflush - 命令キャッシュやデータキャッシュの内容をフラッシュする

#include <asm/cachectl.h>

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

cacheflush() は addr から (addr+nbytes-1) の範囲のユーザーアドレスに対応する 指定されたキャッシュをフラッシュする。 cache には以下のいずれかを指定する:

命令 (instruction) キャッシュをフラッシュする。
変更があったキャッシュラインをメモリーに書き戻し、無効にする。
(ICACHE|DCACHE) と同じ。

cacheflush() は成功した場合は 0 を、失敗した場合は -1 を返す。エラーが検出された場合は errno にエラーが指示される。

addr から (addr+nbytes-1) の範囲のアドレスの全てまたは一部が アクセス可能ではない。
cache パラメーターが ICACHE, DCACHE, BCACHE のどれでもない。

この Linux 特有のシステムコールは MIPS ベースのシステムでのみ有効である。 移植を意図したプログラムで使用すべきではない。

現在の実装では、引き数 addr と nbytes は無視される。そのため、 常に全てのキャッシュがフラッシュされる。

この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。

2007-05-26 Linux