linux-mips
[Top] [All Lists]

Re: __flush_cache_all() miscellany

To: linux-mips@oss.sgi.com
Subject: Re: __flush_cache_all() miscellany
From: "Justin Carlson" <justinca@cs.cmu.edu>
Date: 29 May 2002 12:26:29 -0700
Cc: ralf@oss.sgi.com
In-reply-to: <1022691053.7644.16.camel@ldt-sj3-022.sj.broadcom.com>
References: <1022691053.7644.16.camel@ldt-sj3-022.sj.broadcom.com>
Sender: owner-linux-mips@oss.sgi.com
Here's a patch against cvs that does the rename.  Unless anyone has
objections, Ralf, could  you apply this?

While doing this, I've noticed that the whole mips tree is horribly
inconsistent in terms of the cache flushing syscalls (sys_cacheflush and
sys_sysmips->CACHE_FLUSH).  

Here's what the different ports appear to flush given one of these
syscall:

andes:  l1 and l2
lexra:  l1 icache
mips32: l1 icache/dcache
r3k:    l1 icache
r4k:    l1 icache/dcache
r5432:  l1 icache/dcache
r5900:  l1 icache/dcache
rm7k:   l1 icache/dcache
sb1:    l1 icache/dcache
sr7100: l1 and l2
tx39:   l1 icache
tx49:   li icache/dcache

Some of these are blatantly wrong with respect to the cacheflush
syscall; it defines flags for flushing the icache, dcache, or both.  In
the latter two cases, the lexra, r3k, and tx39 are not doing what was
requested.  I doubt this matters for any significant userspace app, but
it would be nice to at least be consistent.

As for the sysmips system call, I've  not been able to dig up the
semantics.  (Actually, I don't really see why we have both ways of
flushing the cache at all...some historical cruft?).  Anyone have a
helpful pointer to docs on the subject?

Thanks,
  Justin

Attachment: rename___flush_cache_all.patch
Description: Text document

<Prev in Thread] Current Thread [Next in Thread>