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: