From dd6921894905c8ce0664a77f9dac78408bc3b52d Mon Sep 17 00:00:00 2001 From: Pavel Dovgalyuk Date: Tue, 11 May 2021 11:40:10 +0300 Subject: target/nios2: fix page-fit instruction count This patch fixes calculation of number of the instructions that fit the current page. It prevents creation of the translation blocks that cross the page boundaries. It is required for deterministic exception generation in icount mode. Signed-off-by: Pavel Dovgalyuk Reviewed-by: Richard Henderson Message-Id: <162072241046.823357.10485774346114851009.stgit@pasha-ThinkPad-X280> Signed-off-by: Laurent Vivier --- target/nios2/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'target/nios2') diff --git a/target/nios2/translate.c b/target/nios2/translate.c index 9824544eb3..399f22d938 100644 --- a/target/nios2/translate.c +++ b/target/nios2/translate.c @@ -829,7 +829,7 @@ void gen_intermediate_code(CPUState *cs, TranslationBlock *tb, int max_insns) /* Set up instruction counts */ num_insns = 0; if (max_insns > 1) { - int page_insns = (TARGET_PAGE_SIZE - (tb->pc & TARGET_PAGE_MASK)) / 4; + int page_insns = (TARGET_PAGE_SIZE - (tb->pc & ~TARGET_PAGE_MASK)) / 4; if (max_insns > page_insns) { max_insns = page_insns; } -- cgit v1.2.3