[maemo-developers] Instructions cache flush on ARM (was: N800 & Video playback)

From: Siarhei Siamashka siarhei.siamashka at gmail.com
Date: Mon Apr 23 21:09:26 EEST 2007
On Monday 23 April 2007 16:49, Guillem Jover wrote:

> > You are right. gcc has function
> > void __clear_cache (char *BEG, char *END)
> > which should be more portable.
> It should, but it still has the problem of emitting an OABI syscall
> due to our old gcc.
> You could use syscall(2) and __ARM_NR_cacheflush instead.

Yes, but __clear_cache(char *BEG, char *END)  works fine with the 
current combination of gcc and kernel in maemo. So I guess it's the best 
option if portability is desired.

If you decide to drop support for old ABI from kernel without upgrading
gcc, that would be a bug in maemo platform :-)

By the way, do you have any plans for upgrading toolchain? Either I'm
extremely unlucky, or current toolchain is really very buggy. It does not
support -pg option properly (for profiling with gprof), also I encountered 
at least one internal compiler error and a couple of invalid code generation
bugs already.

One more question is about the kernel, ARM11 seems to support unaligned 
memory access in hardware, but this feature is not enabled on N800. Is it done
for consistency with Nokia 770?

More information about the maemo-developers mailing list