[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 3/7] target/xtensa: don't continue translation after
From: |
Max Filippov |
Subject: |
[Qemu-devel] [PATCH 3/7] target/xtensa: don't continue translation after exception |
Date: |
Sun, 15 Jan 2017 13:10:13 -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 <address@hidden>
---
target/xtensa/translate.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/target/xtensa/translate.c b/target/xtensa/translate.c
index 96c64d6..7a198fa 100644
--- a/target/xtensa/translate.c
+++ b/target/xtensa/translate.c
@@ -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 {
--
2.1.4
- [Qemu-devel] [PATCH 0/7] target/xtensa: refactor timers, Max Filippov, 2017/01/15
- [Qemu-devel] [PATCH 1/7] target/xtensa: refactor CCOUNT/CCOMPARE, Max Filippov, 2017/01/15
- [Qemu-devel] [PATCH 4/7] target/xtensa: tests: run tests with icount, Max Filippov, 2017/01/15
- [Qemu-devel] [PATCH 3/7] target/xtensa: don't continue translation after exception,
Max Filippov <=
- [Qemu-devel] [PATCH 5/7] target/xtensa: tests: fix timer tests, Max Filippov, 2017/01/15
- [Qemu-devel] [PATCH 2/7] target/xtensa: support icount, Max Filippov, 2017/01/15
- [Qemu-devel] [PATCH 6/7] target/xtensa: tests: replace hardcoded interrupt masks, Max Filippov, 2017/01/15
- [Qemu-devel] [PATCH 7/7] target/xtensa: tests: add ccount write tests, Max Filippov, 2017/01/15