Re: [Gcl-devel] Re: Flushing the d-cache (was Re: BFD relocations)
On Mon, 2002-06-17 at 07:05, Camm Maguire wrote:
> Indeed, this does appear to be what the sequence Daniel suggested so
> successfully for ppc does:
>
> #define CLEAR_CACHE do {void *v=memory->cfd.cfd_start,*ve=v+memory->cfd.cfd_size; for (;v<ve;v+=32) asm __volatile__ ("dcbst 0,%0\n\tsync\n\ticbi 0,%0\n\tsync\n\tisync": : "r" (v) : "memory");} while(0)
>
> So I guess what I need to do is to try to collect the analogous
> instructions on the other Debian architectures if possible.
>
> Philip and Andreas, the revisiion you so helpfully suggested for arm
> alas still does not work, with the same symptoms. Can you please
> point me to the arm versions if any of 'sync', i-cache invalidate, and
> nop?
There is no direct analogue on arm -- sys_cacheflush is the only
interface that's provided for cache flushing. Obviously machine
instructions to flush the cache do exist, but they vary from one
cpu to another and can only be used in privileged mode.
Mail me the output of "gcc -S" for your function and I'll have a look at
it.
p.
--
To UNSUBSCRIBE, email to debian-arm-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Reply to: