]> Git Repo - qemu.git/commitdiff
target/xtensa: don't continue translation after exception
authorMax Filippov <[email protected]>
Sun, 15 Jan 2017 00:38:09 +0000 (16:38 -0800)
committerMax Filippov <[email protected]>
Sun, 15 Jan 2017 21:01:56 +0000 (13:01 -0800)
There's no point in continuing translating guest instructions once an
unconditional exception is thrown.
There's also no point in updating pc before any instruction is
translated, don't do it.

Signed-off-by: Max Filippov <[email protected]>
target/xtensa/translate.c

index 96c64d6c7f8acd2c95ba4a838dfb9b1851dadcd2..7a198fa20368ac8d6b6a473656032e23fb1b5878 100644 (file)
@@ -3152,8 +3152,11 @@ void gen_intermediate_code(CPUXtensaState *env, TranslationBlock *tb)
         goto done;
     }
     if (tb->flags & XTENSA_TBFLAG_EXCEPTION) {
-        tcg_gen_movi_i32(cpu_pc, dc.pc);
+        tcg_gen_insn_start(dc.pc);
+        ++insn_count;
         gen_exception(&dc, EXCP_DEBUG);
+        dc.is_jmp = DISAS_UPDATE;
+        goto done;
     }
 
     do {
This page took 0.029379 seconds and 4 git commands to generate.