OSDN Git Service

translate-all: fix watchpoints if retranslation not possible
authorAurelien Jarno <aurelien@aurel32.net>
Fri, 12 Jun 2015 22:45:59 +0000 (00:45 +0200)
committerAlexander Graf <agraf@suse.de>
Wed, 17 Jun 2015 10:40:52 +0000 (12:40 +0200)
commit8d302e76755b8157373073d7107e31b0b13f80c1
treeb42f028aba55a7ed4068c5108934efa99c58bf4d
parentf0e0d817c22539cd2ce1bcb5487e076f117b04c0
translate-all: fix watchpoints if retranslation not possible

The tb_check_watchpoint function currently assumes that all memory
access is done either directly through the TCG code or through an
helper which knows its return address. This is obviously wrong as the
helpers use cpu_ldxx/stxx_data functions to access the memory.

Instead of aborting in that case, don't try to retranslate the code, but
assume that the CPU state (and especially the program counter) has been
saved before calling the helper. Then invalidate the TB based on this
address.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
translate-all.c