diff options
-rw-r--r-- | cpu-exec.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/cpu-exec.c b/cpu-exec.c index de0d716da0..b00753c606 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -86,7 +86,7 @@ static TranslationBlock *tb_find_slow(CPUState *env, { TranslationBlock *tb, **ptb1; unsigned int h; - tb_page_addr_t phys_pc, phys_page1, phys_page2; + tb_page_addr_t phys_pc, phys_page1; target_ulong virt_page2; tb_invalidated_flag = 0; @@ -94,7 +94,6 @@ static TranslationBlock *tb_find_slow(CPUState *env, /* find translated block using physical mappings */ phys_pc = get_page_addr_code(env, pc); phys_page1 = phys_pc & TARGET_PAGE_MASK; - phys_page2 = -1; h = tb_phys_hash_func(phys_pc); ptb1 = &tb_phys_hash[h]; for(;;) { @@ -107,6 +106,8 @@ static TranslationBlock *tb_find_slow(CPUState *env, tb->flags == flags) { /* check next page if needed */ if (tb->page_addr[1] != -1) { + tb_page_addr_t phys_page2; + virt_page2 = (pc & TARGET_PAGE_MASK) + TARGET_PAGE_SIZE; phys_page2 = get_page_addr_code(env, virt_page2); |