[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Flushing the d-cache (was Re: BFD relocations)



On Fri, 2002-06-14 at 16:51, Camm Maguire wrote:
> #define CLEAR_CACHE do {\
>   void *v=memory->cfd.cfd_start,*ve=v+memory->cfd.cfd_size; \
>   for (;v<ve;v+=16)   {   \
>        register unsigned long _beg __asm ("a1") = (unsigned long)(v);	\
>        register unsigned long _end __asm ("a2") = (unsigned long)(v+16);\
>        register unsigned long _flg __asm ("a3") = 0;			\
>        __asm __volatile ("swi 0x9f0002		@ sys_cacheflush"	\
> 		    : /* no outputs */					\
> 		    : /* no inputs */					\
> 		    : "a1");						\
>        }\

You don't need the loop.  The arm sys_cacheflush can be given arbitrary
regions, it works the cache line size out for itself.

p.


-- 
To UNSUBSCRIBE, email to debian-68k-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: