Re: [hatari-devel] MEMWATCH freezes Hatari |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
- To: hatari-devel@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [hatari-devel] MEMWATCH freezes Hatari
- From: Uwe Seimet <Uwe.Seimet@xxxxxxxxx>
- Date: Thu, 11 Oct 2018 21:35:58 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1539286558; s=strato-dkim-0002; d=seimet.de; h=In-Reply-To:References:Message-ID:Subject:To:From:Date: X-RZG-CLASS-ID:X-RZG-AUTH:From:Subject:Sender; bh=J+PYSIxFfzLRBhZOUrfDj4VPym6trgeHaWXrUHrN5rk=; b=qLSOEKeZ8fyk4USU8Z3SrVnutwGcsARIc6oSE0ge7V3pnmfkf+DBCEv4pzMN1cjcLQ 27jry/AWJkc4PhZEmNRMF57lEuRKuSIOeD0TcezYyUFkUOxMSVQfJnFaq2sVxiKbyDEs BVnGySW03/mpGlEScB8t+wATbPFpYL0Sg+Gqo1HD2ALRDmGHnyW0VIJ1puDdCkHheXpT jUunRQtNOhowOuc4Ix+rohELHsswszpcTiJLOu1ucv+lIkNGW639xi4cuS8wtSGTvce7 687Ui7DXG682cgs2GCWz9B1MYDOvP/ZB/jMdZsflSBNZquTeOS4cg/+sKIOdjJ1kWZLS qiVw==
Hi,
> ---> It correctly jumps to "buserr", then. No issues there.
> 0001EC9C MOVEM.L D0/A6,-(A7)
> 0001ECA0 LEA.L (A7, $0008) == $000056fc,A6
> 0001ECA4 CMP.W #$1008,(A6, $0006) == $00005702 [b008]
> 0001ECAA BNE.B #$04 == $0001ecb0 (T)
> 0001ECB0 MOVE.B (A6, $000b) == $00005707 [11],D0
> 0001ECB4 MOVEC D0,DFC
> 0001ECB8 MMUOP030 (A6, A1.L*4, $01) == $0005cefd,#$0161
> 0001ECC0 SUBA.L #$02,A7
> 0001ECC2 MMUOP030 (A7),#$6200
> 0001ECC6 BTST.B #$0003,(A7)+ [0a]
> 0001ECCA BNE.B #$0e == $0001ecda (T)
> 0001ECDA MOVE.L (A6, $0010) == $0000570c [0100d58a],D0
> 0001ECDE MOVEA.L (D0.W*1+1266)+40 == $00e00028 [0000771e],A6
> 0001ECE6 MOVEA.L (A6) [0100b920],A6
> 0001ECE8 SUB.L (A6, $0008) == $0100b928 [0100ba20],D0
> 0001ECEC BCS.B #$1e == $0001ed0c (F)
> 0001ECEE CMP.L (A6, $000c) == $0100b92c [00001438],D0
> 0001ECF2 BCC.B #$18 == $0001ed0c (T)
> 0001ED0C MOVEM.L (A7)+,,D0/A6
> ---> It asks the CPU to retry the instruction that caused the bus error
> in the first place in supervisor mode.
> 0001ED10 BSET.B #$0002,(A7, $000b) == $00005707 [11]
>
> ---> Questions is: Where does this RTE want to go and why does retrying
> the instruction still fail?
> 0001ED16 RTE
And the other question: Why does it appear to work for Nicolas? The RTE
should just terminate the bus error exception handling, and the CPU should
then repeat the failed cycle under supervisor mode conditions. In supervisor
mode write access is permitted.
Best regards
Uwe