Re: [hatari-devel] Suspected Hatari 2.3.0 regression (prefetch?) |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
- To: hatari-devel@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [hatari-devel] Suspected Hatari 2.3.0 regression (prefetch?)
- From: Christian Zietz <czietz@xxxxxxx>
- Date: Wed, 16 Dec 2020 19:01:37 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1608141698; bh=DX45G/FGVQSBR/y4Z00B9HeXm+akVe/l+uDXFkqM+40=; h=X-UI-Sender-Class:Subject:To:References:From:Date:In-Reply-To; b=VzkMQKfFYXU58MWO2PNFoFzsKvfxRh228CzCoy9GB1DWB1YsjWZo9HNCd6pzn4lHp j4ztvvPxbu4N0OC4SzuoouSa/aIqFwdAIwn/4eX6j+0D4XX5FKPGU6opzOHIGizh7l vh1dQXRSlZ8BWrryLrd+ygmuDgX8t1s7wwkcoE1M=
Christian Zietz schrieb:
Without MMU, 68030 MOVEM.L (Ax)+,... is handled in cpuemu_23.c which is
auto-generated to contain...
PS: In Hatari 2.2.1 cpuemu_23.c does not include the extra access to
'srca', which explains why Roger did not see the problem until updating
to Hatari 2.3.0:
/* MVMEL.L #<data>.W,(An)+ */
void REGPARAM2 CPUFUNC(op_4cd8_23)(uae_u32 opcode)
{
uae_u32 dstreg = opcode & 7;
OpcodeFamily = 37;
{ uae_u16 mask = get_word_ce030_prefetch (2);
uae_u32 dmask = mask & 0xff, amask = (mask >> 8) & 0xff;
{ uaecptr srca;
srca = m68k_areg (regs, dstreg);
do_cycles_ce020_internal (6);
{ while (dmask) {
m68k_dreg (regs, movem_index1[dmask]) = x_get_long (srca); srca += 4;
dmask = movem_next[dmask];
}
while (amask) {
m68k_areg (regs, movem_index1[amask]) = x_get_long (srca); srca += 4;
amask = movem_next[amask];
}
m68k_areg (regs, dstreg) = srca;
regs.irc = get_word_ce030_prefetch_opcode (4);
}}} m68k_incpci (4);
return;
}
Regards
Christian
--
Christian Zietz - CHZ-Soft - czietz@xxxxxxx
WWW: https://www.chzsoft.de/
PGP/GnuPG-Key-ID: 0x52CB97F66DA025CA / 0x6DA025CA