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

gcl/acl2 and cacheflush



Greetings!  In putting together the acl2 package for Debian, I've run
across an apparent failure of GCL's cache flushing mechanism on m68k.
The failure seems to be a rare corner case only exposed by the heavy
workout of the object module loading code required by acl2.  It seems
clear that the cache flushing is to blame, as the results are not
reproducible from run to run, and a related cache flushing bug on
powerpc has already been similarly exposed (and fixed).

Here is what we use currently use:

#include <asm/cachectl.h>
int cacheflush(void *,int,int,int);
#define CLEAR_CACHE do {void *v=memory->cfd.cfd_start,*ve=v+memory->cfd.cfd_size; \
                        cacheflush(v,FLUSH_SCOPE_LINE,FLUSH_CACHE_BOTH,ve-v);\
                    } while(0)

The only thing I can think of trying is FLUSH_SCOPE_PAGE.  

Any help most appreciated!

Take care,

-- 
Camm Maguire			     			camm@enhanced.com
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah



Reply to: