kazmax - Linux で自宅サーバー

cacheflush - システムコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 返り値
  5. エラー
  6. バグ
  7. 注意

名前

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 のどれでもない。

バグ

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

注意

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