Return to cache.c CVS log | Up to [gforth] / gforth |
1.2 ! pazsan 1: void cacheflush(void * address, int size, int linewidth) 1.1 pazsan 2: { 1.2 ! pazsan 3: int i; 1.1 pazsan 4: 1.2 ! pazsan 5: address=(void *)((int)address & (-linewidth)); 1.1 pazsan 6: 1.2 ! pazsan 7: for(i=1-linewidth; i<size; i+=linewidth) ! 8: asm volatile("fdc (%0)\n\t" ! 9: "sync\n\t" ! 10: "fic,m %1(%0)\n\t" ! 11: "sync" : : "r" (address), "r" (linewidth) : "memory" ); 1.1 pazsan 12: }