tb_gen_code() assumes that tb->size must never be zero, otherwise it
may produce spurious exceptions. For ARM this may happen when creating
a translation block for the commpage.
Fix by pretending that commpage translation blocks have at least one
instruction.
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <
20210416154939.32404-3-iii@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
unsigned int insn;
if (arm_pre_translate_insn(dc)) {
+ dc->base.pc_next += 4;
return;
}
bool is_16bit;
if (arm_pre_translate_insn(dc)) {
+ dc->base.pc_next += 2;
return;
}