Subject: Re: memsync() proposal (Was: Re: cacheflush() proposal)
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Ignatios Souvatzis <ignatios@cs.uni-bonn.de>
List: tech-userlevel
Date: 02/08/1999 17:15:47
On Sun, Feb 07, 1999 at 06:43:37PM -0800, Jason Thorpe wrote:
> On Sun, 7 Feb 1999 13:32:10 +0100
> Ignatios Souvatzis <is@jocelyn.rhein.de> wrote:
>
> > > DEFINITION (taken from eeh, enhanced by myself)
> > >
> > > #include <sys/memsync.h>
> > >
> > > void memsync(start, size, what), weakly aliased to
> > > void _memsync(start, size, what)
> > > void* start;
> > > size_t size;
> > > int what;
> >
> > Should it really be void memsync(...)?
>
> I really am bothered by the notion of naming this memsync() when the
> ABI for at least one of our supported architectures REQUIRES that it
> be called something else... So, what, are we going to provide that
> symbol ONLY on that arch (MIPS), or are we also going to have that API
> to this functionality available?
We won't delete pre-existing APIs to the functionality, that is:
- we wont delete the MIPS cacheflush() (or what was its name) and the
libarch function on ARM32
- we wont make trap #12 on m68k unusable
- we wont manipulate the assembler to not output the PPC cache manipulation
instructions
That is: knowledgable programmers can use the architecture-specific interfaces
if they so wish.
All I want is an interface that can be used on m68k. I was forced to make it
generic (well, its a good thing to have a generic one).
-is