[hatari-devel] 68040/060 MMU bug fix

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


Hi

Just a note that few hours ago I fixed nasty and normally rare random 68040 MMU emulation bug. If interrupt was pending (and interrupts were enabled) when bus error handler executed RTE (and handler had interrupts disabled by setting imask=7), interrupt's first instruction was "retried" instead of the faulting instruction. Normally not that serious (but can cause problems in some situations) because RTE from interrupt handler would "retry" it  anyway but if both are MOVEM to memory, then interrupt handler's MOVEM used faulted MOVEM's pre-calculated EA.

68060 does not have this MOVEM EA feature but in some situations it can also cause bad results. 68030 is not affected because it does not restart instructions.
(https://github.com/tonioni/WinUAE/commit/0be6d4eaca09acdb838c0c6ea45c57267c8f4cce unfortunately I included some do_specialties() clean ups in same patch, just ignore it)



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