Annotation of sys/arch/macppc/stand/cache.c, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: cache.c,v 1.2 2003/10/16 04:30:09 drahn Exp $ */
2: #define CACHELINESIZE 32 /* For now XXX */
3:
4: void
5: syncicache(void *from, int len)
6: {
7: int l = len;
8: void *p = from;
9:
10: do {
11: asm volatile ("dcbf %1,%0" :: "r"(p), "r"(0));
12: p += CACHELINESIZE;
13: } while ((l -= CACHELINESIZE) > 0);
14: asm volatile ("sync");
15: do {
16: asm volatile ("icbi %1,%0" :: "r"(from), "r"(0));
17: from += CACHELINESIZE;
18: } while ((len -= CACHELINESIZE) > 0);
19: asm volatile ("isync");
20: }
CVSweb