]> git.proxmox.com Git - qemu.git/commitdiff
softmmu: Dont clobber retaddr in slow_ldx().
authorEdgar E. Iglesias <edgar.iglesias@gmail.com>
Tue, 26 Jan 2010 12:55:55 +0000 (13:55 +0100)
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>
Thu, 28 Jan 2010 21:46:13 +0000 (22:46 +0100)
When splitting up unaligned IO accesses, ld calls slow_ld which was
clobbering retaddr.

AFAIK the problem only shows up when running emulations with -icount
that may abort TB execution on IO accesses.

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
softmmu_template.h

index 0e13153748dd19a19117f166664536184c89f7c9..ac9b9a944a918d2f6cd4a352eb7c61e1180eee9e 100644 (file)
@@ -152,7 +152,6 @@ static DATA_TYPE glue(glue(slow_ld, SUFFIX), MMUSUFFIX)(target_ulong addr,
             /* IO access */
             if ((addr & (DATA_SIZE - 1)) != 0)
                 goto do_unaligned_access;
-            retaddr = GETPC();
             addend = env->iotlb[mmu_idx][index];
             res = glue(io_read, SUFFIX)(addend, addr, retaddr);
         } else if (((addr & ~TARGET_PAGE_MASK) + DATA_SIZE - 1) >= TARGET_PAGE_SIZE) {