Update of /cvsroot/hppaqemu/hppaqemu/target-hppa
In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv23612
Modified Files:
translate.c
Log Message:
Fix single stepping for most instructions -- still not fixed for branches.
Index: translate.c
===================================================================
RCS file: /cvsroot/hppaqemu/hppaqemu/target-hppa/translate.c,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- translate.c 23 Feb 2008 20:57:32 -0000 1.51
+++ translate.c 27 Feb 2008 15:12:09 -0000 1.52
@@ -840,8 +840,10 @@
if (env->nb_breakpoints > 0) {
for (j = 0; j < env->nb_breakpoints; j++) {
if (env->breakpoints[j] == dc->iaoq[0]) {
- save_state(dc);
+ gen_op_save_pc(dc->iaoq[0], dc->iaoq[1]);
+ gen_op_movl_T0_im(0);
gen_op_debug();
+ gen_op_exit_tb();
dc->is_br = 1;
goto exit_gen_loop;
}
@@ -874,12 +876,13 @@
break;
}
if (env->singlestep_enabled) {
- save_state(dc);
+ gen_op_save_pc(dc->iaoq[0], dc->iaoq[1]);
+ gen_movl_T0_im(0);
gen_op_debug();
- goto exit_gen_loop;
+ gen_op_exit_tb();
} else if (!dc->is_br) {
- save_state(dc);
- gen_goto_tb(dc, 0, dc->iaoq[0], dc->iaoq[1]);
+ gen_op_save_pc(dc->iaoq[0], dc->iaoq[1]);
+ gen_movl_T0_im(0);
gen_op_exit_tb();
}
|