[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 17/63] target/cris: Fix use_goto_tb
From: |
Richard Henderson |
Subject: |
[PULL 17/63] target/cris: Fix use_goto_tb |
Date: |
Tue, 29 Jun 2021 11:54:09 -0700 |
Do not skip the page check for user-only -- mmap/mprotect can
still change page mappings. Only check dc->base.pc_first, not
dc->ppc -- the start page is the only one that's relevant.
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/cris/translate.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/target/cris/translate.c b/target/cris/translate.c
index 24dbae6d58..9e1f2f9239 100644
--- a/target/cris/translate.c
+++ b/target/cris/translate.c
@@ -524,14 +524,9 @@ static void t_gen_cc_jmp(TCGv pc_true, TCGv pc_false)
gen_set_label(l1);
}
-static inline bool use_goto_tb(DisasContext *dc, target_ulong dest)
+static bool use_goto_tb(DisasContext *dc, target_ulong dest)
{
-#ifndef CONFIG_USER_ONLY
- return (dc->base.pc_first & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK)
||
- (dc->ppc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK);
-#else
- return true;
-#endif
+ return ((dest ^ dc->base.pc_first) & TARGET_PAGE_MASK) == 0;
}
static void gen_goto_tb(DisasContext *dc, int n, target_ulong dest)
--
2.25.1
- [PULL 01/63] target/nios2: Replace DISAS_TB_JUMP with DISAS_NORETURN, (continued)
- [PULL 01/63] target/nios2: Replace DISAS_TB_JUMP with DISAS_NORETURN, Richard Henderson, 2021/06/29
- [PULL 02/63] target/nios2: Use global cpu_env, Richard Henderson, 2021/06/29
- [PULL 03/63] target/nios2: Use global cpu_R, Richard Henderson, 2021/06/29
- [PULL 06/63] target/nios2: Remove assignment to env in handle_instruction, Richard Henderson, 2021/06/29
- [PULL 04/63] target/nios2: Add DisasContextBase to DisasContext, Richard Henderson, 2021/06/29
- [PULL 05/63] target/nios2: Convert to TranslatorOps, Richard Henderson, 2021/06/29
- [PULL 07/63] target/nios2: Clean up goto in handle_instruction, Richard Henderson, 2021/06/29
- [PULL 08/63] target/nios2: Inline handle_instruction, Richard Henderson, 2021/06/29
- [PULL 12/63] target/avr: Convert to TranslatorOps, Richard Henderson, 2021/06/29
- [PULL 09/63] target/nios2: Use pc_next for pc + 4, Richard Henderson, 2021/06/29
- [PULL 17/63] target/cris: Fix use_goto_tb,
Richard Henderson <=
- [PULL 29/63] tcg: Add tcg_gen_vec_add{sub}16_i32, Richard Henderson, 2021/06/29
- [PULL 22/63] target/cris: Set cpustate_changed for rfe/rfn, Richard Henderson, 2021/06/29
- [PULL 19/63] target/cris: Mark helper_raise_exception noreturn, Richard Henderson, 2021/06/29
- [PULL 15/63] target/cris: Replace DISAS_TB_JUMP with DISAS_NORETURN, Richard Henderson, 2021/06/29
- [PULL 13/63] target/cris: Add DisasContextBase to DisasContext, Richard Henderson, 2021/06/29
- [PULL 18/63] target/cris: Convert to TranslatorOps, Richard Henderson, 2021/06/29
- [PULL 11/63] target/avr: Change ctx to DisasContext* in gen_intermediate_code, Richard Henderson, 2021/06/29
- [PULL 20/63] target/cris: Mark static arrays const, Richard Henderson, 2021/06/29
- [PULL 27/63] target/cris: Remove dc->flagx_known, Richard Henderson, 2021/06/29
- [PULL 26/63] target/cris: Improve JMP_INDIRECT, Richard Henderson, 2021/06/29