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

[MiNT] Pexec and cache



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!

--
MiKRO / Mystic Bytes
http://mikro.atari.org