target-xtensa: fix search_pc for the last TB opcode
Zero out tcg_ctx.gen_opc_instr_start for instructions representing the
last guest opcode in the TB.
Cc: qemu-stable@nongnu.org
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
(cherry picked from commit 36f25d2537
)
*modified to use older global version of gen_opc_instr_start
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
This commit is contained in:
parent
ff0c079c14
commit
1205b8080f
|
@ -2962,7 +2962,11 @@ static void gen_intermediate_code_internal(
|
||||||
gen_icount_end(tb, insn_count);
|
gen_icount_end(tb, insn_count);
|
||||||
*tcg_ctx.gen_opc_ptr = INDEX_op_end;
|
*tcg_ctx.gen_opc_ptr = INDEX_op_end;
|
||||||
|
|
||||||
if (!search_pc) {
|
if (search_pc) {
|
||||||
|
j = tcg_ctx.gen_opc_ptr - tcg_ctx.gen_opc_buf;
|
||||||
|
memset(gen_opc_instr_start + lj + 1, 0,
|
||||||
|
(j - lj) * sizeof(gen_opc_instr_start[0]));
|
||||||
|
} else {
|
||||||
tb->size = dc.pc - pc_start;
|
tb->size = dc.pc - pc_start;
|
||||||
tb->icount = insn_count;
|
tb->icount = insn_count;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue