[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MiNT] Pexec and cache
Hi,
On keskiviikko 23 tammikuu 2013, Miro Kropáček wrote:
> 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
AFAIK Hatari WinUAE CPU core emulates 020/030/040 cache, at least there's
code for that, and it gets called... That cache code just currently doesn't
have any effect on intruction timings.
Did you try with Hatari WinUAE CPU core or the "old" UAE CPU core?
(Latter is the default one and it can be changed only at build time.)
> 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!
- Eero