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

Re: [MiNT] Pexec and cache



On 01/23/13 21:36, Miro Kropáček wrote:
Hi,

I'll be extremely happy if someone corrects me but I can't see a cache invalidation code for Pexec anywhere in the kernel. Is that right?

I just discovered a bug in CT60 TOS's Pexec(), Didier only *flushes* the caches but not invalidate them which leads to horrible crashes if you use Pexec( PE_LOAD, ...) very intensively. This was bugging me for weeks, I couldn't understand how it's possible my plugins work perfectly on (cache-less) Aranym and Hatari and crashing from time to time on simplest (plugin) functions. As soon as I added 'cpusha bc' + 'cinva bc' combo after the Pexec() call, it started to work wonderfully.

Therefore I was curious how it's done in the kernel (as the kernel replaces CT60's Pexec) and I see nothing!

Patches and a test case speak volumes. Any chance ?

Thanks,

Alan.