Re: [hatari-devel] EmuTOS boot freeze with Hatari git on 040/060 + MMU

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Le 15/03/2024 à 11:30, Eero Tamminen a écrit :
Hi,

On 14.3.2024 23.51, Nicolas Pomarède wrote:
stupid bug spotted and fixed, please try the attached patch on current devel sources, it should use the correct MFP vector in case of interrupt (iack_cycle() result was incorrectly saved in 'nr' instead of 'vector_nr', as in Exception_mmu030() )

This fixes the EmuTOS 040 / 060 + MMU freeze on boot.

When CPU caches & prefetch are disabled [1], it also gets Linux booting both on 040 & 060, which hasn't worked for a long time!

(I can understand how your patch fixes spurious interrupts for 040 case, but not how the bug caused Linux to use non-implemented opcodes for 060 case...)


hi

maybe that due to not calling the correct exception handler (before the patch with vector_nr) it called an unrelated handler that has some opcodes in its code path. Now that correct handler is used, other path is not called anymore


     - Eero

[1] If CPU caches & prefetch are enabled, very early on boot Linux double bus errors on 060, and freezes on 040. Same happens also with v2.4.1 though, so it's not a regression.

could be useful to get traces about this, even if it's not a regression.
does it work if cpu cache is not enabled but prefetch or cycle exact are enabled ? ie, is it cpu cache taht cause the problem ?





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/