cacheflush(2) - wariua/manpages-ko GitHub Wiki

NAME

cacheflush - μΈμŠ€νŠΈλŸ­μ…˜ μΊμ‹œ 및/λ˜λŠ” 데이터 μΊμ‹œμ˜ λ‚΄μš©λ¬Ό λΉ„μš°κΈ°

SYNOPSIS

#include <asm/cachectl.h>

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

DESCRIPTION

cacheflush()λŠ” addrμ—μ„œ (addr+nbytes-1)κΉŒμ§€ λ²”μœ„μ— λŒ€ν•΄ ν‘œμ‹œν•œ μΊμ‹œ(λ“€)의 λ‚΄μš©λ¬Όμ„ λΉ„μš΄λ‹€. cacheλŠ” λ‹€μŒ 쀑 ν•˜λ‚˜μΌ 수 μžˆλ‹€.

ICACHE
μΈμŠ€νŠΈλŸ­μ…˜ μΊμ‹œλ₯Ό λΉ„μš΄λ‹€.
DCACHE
변경을 λ©”λͺ¨λ¦¬λ‘œ κΈ°λ‘ν•˜κ³  영ν–₯ λ°›λŠ” μœ νš¨ν•œ μΊμ‹œ 라인듀을 λ¬΄νš¨ν™”ν•œλ‹€.
BCACHE
(ICACHE|DCACHE)와 κ°™λ‹€.

RETURN VALUE

cacheflush()λŠ” 성곡 μ‹œ 0을 λ°˜ν™˜ν•˜κ±°λ‚˜ 였λ₯˜ μ‹œ -1을 λ°˜ν™˜ν•œλ‹€. 였λ₯˜λ₯Ό νƒμ§€ν•œ 경우 errnoκ°€ 였λ₯˜λ₯Ό λ‚˜νƒ€λ‚΄κ²Œ λœλ‹€.

ERRORS

EFAULT
addrμ—μ„œ (addr+nbytes-1)κΉŒμ§€μ˜ μ£Όμ†Œ λ²”μœ„ 일뢀 λ‚΄μ§€ μ „λΆ€κ°€ μ ‘κ·Ό κ°€λŠ₯ν•˜μ§€ μ•Šλ‹€.
EINVAL
cacheκ°€ ICACHE, DCACHE, BCACHE 쀑 ν•˜λ‚˜κ°€ μ•„λ‹ˆλ‹€. (ν•˜μ§€λ§Œ BUGS μ°Έκ³ .)

CONFORMING TO

μ—­μ‚¬μ μœΌλ‘œ 이 μ‹œμŠ€ν…œ ν˜ΈμΆœμ€ RISC/os, IRIX, Ultrix, NetBSD, OpenBSD, FreeBSDλ₯Ό ν¬ν•¨ν•œ λͺ¨λ“  MIPS μœ λ‹‰μŠ€ λ³€μ’…λ“€μ—μ„œ (그리고 일뢀 λΉ„μœ λ‹‰μŠ€ MIPS 운영 μ²΄μ œλ“€μ—μ„œλ„) μ‚¬μš© κ°€λŠ₯ν–ˆλ‹€. κ·Έλž˜μ„œ MIPS 운영 μ²΄μ œλ“€μ—μ„œλŠ” 이 호좜의 μ‘΄μž¬κ°€ 사싀상 ν‘œμ€€μ΄λ‹€.

κ²½κ³ 

이식 κ°€λŠ₯ν•΄μ•Ό ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ—μ„œλŠ” cacheflush()λ₯Ό μ‚¬μš©ν•˜μ§€ 말아야 ν•œλ‹€. λ¦¬λˆ…μŠ€μ—μ„œ 이 ν˜ΈμΆœμ€ MIPS μ•„ν‚€ν…μ²˜μ—μ„œ 처음 λ“±μž₯ν–ˆλ‹€. μš”μ¦˜μ€ 일뢀 λ‹€λ₯Έ μ•„ν‚€ν…μ²˜λ“€μ—μ„œλ„ cacheflush() μ‹œμŠ€ν…œ ν˜ΈμΆœμ„ μ œκ³΅ν•˜μ§€λ§Œ μΈμžκ°€ λ‹€λ₯΄λ‹€.

BUGS

2.6.11보닀 였래된 λ¦¬λˆ…μŠ€ μ»€λ„μ—μ„œλŠ” addrκ³Ό nbytes 인자λ₯Ό λ¬΄μ‹œν•˜λ©°, κ·Έλž˜μ„œ 이 ν•¨μˆ˜ λΉ„μš©μ΄ κ½€ λΉ„μ‹Έμ§„λ‹€. κ·Έ λ•Œλ¬Έμ— 항상 μΊμ‹œ 전체λ₯Ό λΉ„μš΄λ‹€.

이 ν•¨μˆ˜λŠ” 항상 cache 인자둜 BCACHEλ₯Ό 전달받은 κ²ƒμ²˜λŸΌ λ™μž‘ν•˜λ©° cache μΈμžμ— λŒ€ν•΄ μ–΄λ–€ 였λ₯˜ 검사도 ν•˜μ§€ μ•ŠλŠ”λ‹€.


2017-09-15

⚠️ **GitHub.com Fallback** ⚠️