"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "target/i386/tcg/translate.c" between
qemu-6.0.0-rc1.tar.xz and qemu-6.0.0-rc2.tar.xz

About: QEMU is a generic machine/processor emulator and virtualizer. Release candidate.

translate.c  (qemu-6.0.0-rc1.tar.xz):translate.c  (qemu-6.0.0-rc2.tar.xz)
skipping to change at line 5063 skipping to change at line 5063
tcg_gen_ext16u_tl(s->T0, s->T0); tcg_gen_ext16u_tl(s->T0, s->T0);
} }
next_eip = s->pc - s->cs_base; next_eip = s->pc - s->cs_base;
tcg_gen_movi_tl(s->T1, next_eip); tcg_gen_movi_tl(s->T1, next_eip);
gen_push_v(s, s->T1); gen_push_v(s, s->T1);
gen_op_jmp_v(s->T0); gen_op_jmp_v(s->T0);
gen_bnd_jmp(s); gen_bnd_jmp(s);
gen_jr(s, s->T0); gen_jr(s, s->T0);
break; break;
case 3: /* lcall Ev */ case 3: /* lcall Ev */
if (mod == 3) {
goto illegal_op;
}
gen_op_ld_v(s, ot, s->T1, s->A0); gen_op_ld_v(s, ot, s->T1, s->A0);
gen_add_A0_im(s, 1 << ot); gen_add_A0_im(s, 1 << ot);
gen_op_ld_v(s, MO_16, s->T0, s->A0); gen_op_ld_v(s, MO_16, s->T0, s->A0);
do_lcall: do_lcall:
if (s->pe && !s->vm86) { if (s->pe && !s->vm86) {
tcg_gen_trunc_tl_i32(s->tmp2_i32, s->T0); tcg_gen_trunc_tl_i32(s->tmp2_i32, s->T0);
gen_helper_lcall_protected(cpu_env, s->tmp2_i32, s->T1, gen_helper_lcall_protected(cpu_env, s->tmp2_i32, s->T1,
tcg_const_i32(dflag - 1), tcg_const_i32(dflag - 1),
tcg_const_tl(s->pc - s->cs_base)); tcg_const_tl(s->pc - s->cs_base));
} else { } else {
skipping to change at line 5090 skipping to change at line 5093
break; break;
case 4: /* jmp Ev */ case 4: /* jmp Ev */
if (dflag == MO_16) { if (dflag == MO_16) {
tcg_gen_ext16u_tl(s->T0, s->T0); tcg_gen_ext16u_tl(s->T0, s->T0);
} }
gen_op_jmp_v(s->T0); gen_op_jmp_v(s->T0);
gen_bnd_jmp(s); gen_bnd_jmp(s);
gen_jr(s, s->T0); gen_jr(s, s->T0);
break; break;
case 5: /* ljmp Ev */ case 5: /* ljmp Ev */
if (mod == 3) {
goto illegal_op;
}
gen_op_ld_v(s, ot, s->T1, s->A0); gen_op_ld_v(s, ot, s->T1, s->A0);
gen_add_A0_im(s, 1 << ot); gen_add_A0_im(s, 1 << ot);
gen_op_ld_v(s, MO_16, s->T0, s->A0); gen_op_ld_v(s, MO_16, s->T0, s->A0);
do_ljmp: do_ljmp:
if (s->pe && !s->vm86) { if (s->pe && !s->vm86) {
tcg_gen_trunc_tl_i32(s->tmp2_i32, s->T0); tcg_gen_trunc_tl_i32(s->tmp2_i32, s->T0);
gen_helper_ljmp_protected(cpu_env, s->tmp2_i32, s->T1, gen_helper_ljmp_protected(cpu_env, s->tmp2_i32, s->T1,
tcg_const_tl(s->pc - s->cs_base)); tcg_const_tl(s->pc - s->cs_base));
} else { } else {
gen_op_movl_seg_T0_vm(s, R_CS); gen_op_movl_seg_T0_vm(s, R_CS);
 End of changes. 2 change blocks. 
0 lines changed or deleted 6 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)