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