diff options
author | Sergey Fedorov <serge.fdrv@gmail.com> | 2015-11-17 16:38:47 +0300 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2015-11-19 12:51:08 +0000 |
commit | ce8a1b5449cd8c4c2831abb581d3208c3a3745a0 (patch) | |
tree | 919d42daf27add06602d38a7fe9d82942514c4ed /target-arm/translate.c | |
parent | 43bfa4a100687af8d293fef0a197839b51400fca (diff) |
target-arm: Update condexec before arch BP check in AA32 translation
Architectural breakpoint check could raise an exceptions, thus condexec
bits should be updated before calling gen_helper_check_breakpoints().
Signed-off-by: Sergey Fedorov <serge.fdrv@gmail.com>
Message-id: 1447767527-21268-3-git-send-email-serge.fdrv@gmail.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target-arm/translate.c')
-rw-r--r-- | target-arm/translate.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/target-arm/translate.c b/target-arm/translate.c index 739f373fc2..5d22879755 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -11374,6 +11374,7 @@ void gen_intermediate_code(CPUARMState *env, TranslationBlock *tb) QTAILQ_FOREACH(bp, &cs->breakpoints, entry) { if (bp->pc == dc->pc) { if (bp->flags & BP_CPU) { + gen_set_condexec(dc); gen_set_pc_im(dc, dc->pc); gen_helper_check_breakpoints(cpu_env); /* End the TB early; it's likely not going to be executed */ |