gcl-devel
[Top][All Lists]
Advanced

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

Re: [Gcl-devel] Re: Flushing the d-cache (was Re: BFD relocations)


From: Philip Blundell
Subject: Re: [Gcl-devel] Re: Flushing the d-cache (was Re: BFD relocations)
Date: 17 Jun 2002 08:45:03 +0100

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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]