On Mon, 26 Jan 2015, Leon Alrae wrote:

> The test is supposed to terminate TB if the end of the page is reached.
> However, with current implementation it may never succeed for microMIPS or
> mips16.
> 
> Reported-by: Richard Henderson <r...@twiddle.net>
> Signed-off-by: Leon Alrae <leon.al...@imgtec.com>
> ---

 I'm not sure if you need this, but just in case it helps anyhow.

Reviewed-by: Maciej W. Rozycki <ma...@linux-mips.org>

> diff --git a/target-mips/translate.c b/target-mips/translate.c
> index e9d86b2..f33c10c 100644
> --- a/target-mips/translate.c
> +++ b/target-mips/translate.c
> @@ -19103,6 +19104,7 @@ gen_intermediate_code_internal(MIPSCPU *cpu, 
> TranslationBlock *tb,
>          qemu_log("search pc %d\n", search_pc);
>  
>      pc_start = tb->pc;
> +    next_page_start = (pc_start & TARGET_PAGE_MASK) + TARGET_PAGE_SIZE;

 As a related issue -- I don't know offhand how far we are with small page 
support, but we may have to revise these macros -- or specifically how 
TARGET_PAGE_BITS these build on has been defined -- once we get there, to 
avoid surprises.  Just a heads-up!

  Maciej

Reply via email to