CACHEFLUSH(2)

이름
cacheflush - 명령이나 데이타 캐쉬의 내용을 플러쉬 한다.

사용법
#include <asm/cachectl.h>

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

설명
cacheflush 는 (addr+nbytes-1)까지 주소 범위에서 표시된 캐쉬의 내용을 플러쉬 한다. 캐쉬는 다음 중 하나이다:

ICACHE
    명령 캐쉬를 플러쉬 한다.

DCACHE
    메모리에게 응답하고, 영향을 받은 유효한 캐쉬 라인을 무효화 시킨다.

BCACHE
    (ICACHE|DCACHE). 와 같다.

반환값
cacheflush 는 성공하면 0을 에러시에는 -1을 반환한다. 에러가 발견되면 errno가 에러를 나타낸다.

에러

EINVAL
    캐쉬 매개 변수가 ICACHE, DCACHE, BCACHE중 하나가 아니다.

EFAULT
    주소의 일부나 전체가 (addr+nbytes-1)까지의 범위에 맞지 않는다.

버그
현재 결과가 addr와 nbyte 매개 변수를 무시한다. 그래서 항상 모든 캐쉬가 플러쉬된다.

주의
이 시스템 호출은 MIPS 기반 시스템에서만 사용 가능하다. 이식이 가능하도록 의도된 프로그램에서는 사용하지 않아야 한다.

역자
ASPLINUX<man@asp-linux.co.kr>, 2000년 7월 29일