target-arm: Update condexec before arch BP check in AA32 translation
authorSergey Fedorov <serge.fdrv@gmail.com>
Tue, 17 Nov 2015 13:38:47 +0000 (16:38 +0300)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 19 Nov 2015 12:51:08 +0000 (12:51 +0000)
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>
target-arm/translate.c

index 739f373fc27b82bee91eaa31b46300d7671d72c0..5d22879755ff4af1a670e4c2ceb102aeebfc9192 100644 (file)
@@ -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 */