[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 4/4] target/xtensa: Convert to TranslatorOps
From: |
Max Filippov |
Subject: |
Re: [Qemu-devel] [PATCH 4/4] target/xtensa: Convert to TranslatorOps |
Date: |
Sun, 13 May 2018 11:37:03 -0700 |
On Sat, May 12, 2018 at 10:57 AM, Richard Henderson
<address@hidden> wrote:
> Signed-off-by: Richard Henderson <address@hidden>
> ---
> target/xtensa/translate.c | 229 ++++++++++++++++++++------------------
> 1 file changed, 122 insertions(+), 107 deletions(-)
[...]
> - } while (dc->base.is_jmp == DISAS_NEXT &&
> - insn_count < max_insns &&
> - dc->pc - page_start < TARGET_PAGE_SIZE &&
> - dc->pc - page_start + xtensa_insn_len(env, dc) <=
> TARGET_PAGE_SIZE
> - && !tcg_op_buf_full());
> -done:
[...]
> + /* End the TB if the next insn will cross into the next page. */
> + page_start = dc->base.pc_first & TARGET_PAGE_MASK;
> + if (dc->base.is_jmp == DISAS_NEXT &&
> + dc->pc - page_start < TARGET_PAGE_SIZE &&
> + dc->pc - page_start + xtensa_insn_len(env, dc) <= TARGET_PAGE_SIZE) {
Originally it was the condition to continue translation.
To end the TB when the next instruction will cross into the next page the
condition must be changed to something like
if (dc->base.is_jmp == DISAS_NEXT &&
(dc->pc - page_start >= TARGET_PAGE_SIZE ||
dc->pc - page_start + xtensa_insn_len(env, dc) > TARGET_PAGE_SIZE)) {
With that change all tests in tests/tcg/xtensa are passing.
I'll play with it some more...
--
Thanks.
-- Max
- [Qemu-devel] [PATCH 0/4] target/xtensa: Convert to TranslatorOps, Richard Henderson, 2018/05/12
- [Qemu-devel] [PATCH 3/4] target/xtensa: Change gen_intermediate_code dc to pointer, Richard Henderson, 2018/05/12
- [Qemu-devel] [PATCH 1/4] target/xtensa: Replace DISAS_UPDATE with DISAS_NORETURN, Richard Henderson, 2018/05/12
- [Qemu-devel] [PATCH 2/4] target/xtensa: Convert to DisasContextBase, Richard Henderson, 2018/05/12
- [Qemu-devel] [PATCH 4/4] target/xtensa: Convert to TranslatorOps, Richard Henderson, 2018/05/12
- Re: [Qemu-devel] [PATCH 0/4] target/xtensa: Convert to TranslatorOps, Max Filippov, 2018/05/22