diff options
author | Paul Brook <paul@codesourcery.com> | 2010-02-28 23:47:45 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2010-02-28 23:47:45 +0000 |
commit | 94df27fd2f008ce9f259b72945e02dcad6e98d82 (patch) | |
tree | 7f95329d0fea7976bbae08e9c7a4547fe0159453 /exec.c | |
parent | 30d11a2a01747ff7d811120528e44046f0fd16b2 (diff) | |
download | qemu-94df27fd2f008ce9f259b72945e02dcad6e98d82.zip qemu-94df27fd2f008ce9f259b72945e02dcad6e98d82.tar.gz qemu-94df27fd2f008ce9f259b72945e02dcad6e98d82.tar.bz2 |
Fix userspace breakpoint invalidation
Remove bogus virtual->physical address translation in
breakpoint_invalidate for userspace emulation.
Signed-off-by: Paul Brook <paul@codesourcery.com>
Diffstat (limited to 'exec.c')
-rw-r--r-- | exec.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -1313,6 +1313,12 @@ static void tb_reset_jump_recursive(TranslationBlock *tb) } #if defined(TARGET_HAS_ICE) +#if defined(CONFIG_USER_ONLY) +static void breakpoint_invalidate(CPUState *env, target_ulong pc) +{ + tb_invalidate_phys_page_range(pc, pc + 1, 0); +} +#else static void breakpoint_invalidate(CPUState *env, target_ulong pc) { target_phys_addr_t addr; @@ -1331,6 +1337,7 @@ static void breakpoint_invalidate(CPUState *env, target_ulong pc) tb_invalidate_phys_page_range(ram_addr, ram_addr + 1, 0); } #endif +#endif /* TARGET_HAS_ICE */ /* Add a watchpoint. */ int cpu_watchpoint_insert(CPUState *env, target_ulong addr, target_ulong len, |