[BACK]Return to cache.c CVS log [TXT][DIR] Up to [local] / sys / arch / macppc / stand

Annotation of sys/arch/macppc/stand/cache.c, Revision 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