Manpages

名 前

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 ベ ー ス の シ ス テ ム で の み 有 効 で あ る 。 移 植 を 意 図 し た プ ロ グ ラ ム で 使 用 す べ き で は な い 。

バ グ

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

こ の 文 書 に つ い て

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