[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] qemu-arm: wrong execution of post-indexed loads when Rm
From: |
Rodrigo Vivi |
Subject: |
Re: [Qemu-devel] qemu-arm: wrong execution of post-indexed loads when Rm and Rd are the same register |
Date: |
Thu, 15 Mar 2007 17:32:12 -0300 |
Hi Paul,
On 3/15/07, Paul Brook <address@hidden> wrote:
On Thursday 15 March 2007 19:35, Lauro Ramos Venancio wrote:
> Qemu-arm is wrongly executing post-indexed loads when Rm and Rd are
> the same register. For example:
>
> ldr r0, [r1], +r0
>
> Current behavior:
> r0 <- [r1]
> r1 <- r1 + r0
>
> Expected behavior:
> addr <- r1
> r1 <- r1 + r0
> r0 <- [addr]
This is still wrong.
So, is this a known bug?
The writeback must happen after the load.
We code like this because
- we didn't find this restriction in arm reference manual
- the LLVM uses this instruction expecting a result like this
- That was the result that we got running these instructions in an OMAP1710
Your
implementation will give incorrect results if the load faults.
Another thing, is that in this manual (at page A2-18) there are 2
rules for data abort:
- Base Restored Abort Model and Base Updated Abort Model.
So, we can not understand why it will give incorect results if a load faults...
Paul
thanks
Rodrigo Vivi
vivijim at freenode
_______________________________________________
Qemu-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/qemu-devel
- [Qemu-devel] qemu-arm: wrong execution of post-indexed loads when Rm and Rd are the same register, Lauro Ramos Venancio, 2007/03/15
- [Qemu-devel] Re: qemu-arm: wrong execution of post-indexed loads when Rm and Rd are the same register, Lauro Ramos Venancio, 2007/03/15
- Re: [Qemu-devel] qemu-arm: wrong execution of post-indexed loads when Rm and Rd are the same register, Paul Brook, 2007/03/15
- Re: [Qemu-devel] qemu-arm: wrong execution of post-indexed loads when Rm and Rd are the same register,
Rodrigo Vivi <=
- Re: [Qemu-devel] qemu-arm: wrong execution of post-indexed loads when Rm and Rd are the same register, Paul Brook, 2007/03/15
- Re: [Qemu-devel] qemu-arm: wrong execution of post-indexed loads when Rm and Rd are the same register, Rodrigo Vivi, 2007/03/15
- Re: [Qemu-devel] qemu-arm: wrong execution of post-indexed loads when Rm and Rd are the same register, Laurent Desnogues, 2007/03/15
- Re: [Qemu-devel] qemu-arm: wrong execution of post-indexed loads when Rm and Rd are the same register, Paul Brook, 2007/03/15
- Re: [Qemu-devel] qemu-arm: wrong execution of post-indexed loads when Rm and Rd are the same register, Lauro Ramos Venancio, 2007/03/16