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 13/03/2024 à 21:31, Christian Zietz a écrit :
Christian Zietz schrieb:

- According to my "git bisect" the breaking commit within Hatari is:

commit eb4467638e926af2c3d9b4e23da9917fbbf1d2d6
Author: Nicolas Pomarède <npomarede@xxxxxxxxxxxx>
Date:   Tue Sep 19 22:36:28 2023 +0200

I suppose the problem lies somewhere here: https://github.com/hatari/hatari/commit/eb4467638e926af2c3d9b4e23da9917fbbf1d2d6#diff-b285c31d41bc9b04586496a1ee1f4ae69b738da8f018aa512f844c7faf41a3d4R3291.

The vector number (in this case for the Timer C IRQ) is put into "nr", but later on, the original value saved in "vector_nr" is used to lookup the exception vector, essentially incorrectly making this interrupt an autovector interrupt.

Note that the code uses "nr" and "vector_nr" in multiple places. I did not check if there are other places where one of the variables is used incorrectly.

Hi

thanks a lot for bisecting this.

I'm the one who sent Toni a patch for WinUAE in the case where MMU is used, because it was not handled correctly before.

in the case of the Amiga it uses vectored interrupt, except the vectored interrupt doesn't change, ie nr = vector_nr, so swapping nr with vector_nr was not noticeable in normal Amiga use, but in the case of Atari it was when MFP provides its own vector

But as you notice there're several places where nr and vector_nr are used and it's quite possible I forgot to replace one with the other for correct vectored result.

I will have a look at the whole MMU part to check this.

Nicolas




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