From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33329) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bgsTp-0000w7-68 for qemu-devel@nongnu.org; Mon, 05 Sep 2016 07:54:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bgsTi-0001Vs-Fq for qemu-devel@nongnu.org; Mon, 05 Sep 2016 07:54:24 -0400 Received: from bastet.se.axis.com ([195.60.68.11]:35738) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bgsTi-0001VM-9j for qemu-devel@nongnu.org; Mon, 05 Sep 2016 07:54:18 -0400 From: Rabin Vincent Date: Mon, 5 Sep 2016 13:54:10 +0200 Message-Id: <1473076452-19795-7-git-send-email-rabin.vincent@axis.com> In-Reply-To: <1473076452-19795-1-git-send-email-rabin.vincent@axis.com> References: <1473076452-19795-1-git-send-email-rabin.vincent@axis.com> Subject: [Qemu-devel] [PATCH 7/9] target-cris: ignore prefix insns in singlestep List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: edgar.iglesias@gmail.com Cc: qemu-devel@nongnu.org, Hans-Peter Nilsson , Rabin Vincent From: Hans-Peter Nilsson Don't count prefix instructions as separate when singlestepping. For example, for this following instruction 1ad8: a011 e00b move.d r0,[r1-96] before this patch, we get two register dumps: PC=1ad8 CCS=0 btaken=1 btarget=1ac6 cc_op=1 cc_src=3746 cc_dest=1 cc_result=ea2 cc_mask=0 $r0=00000000 $r1=00004360 $r2=00004308 $r3=0000026c $r4=00002076 $r5=00002022 $r6=00000000 $r7=00000000 $r8=00000000 $r9=00000ea2 $r10=00000002 $r11=00004308 $r12=00001080 $r13=00000ec0 $sp=0000bfd8 $pc=00001ad4 PC=1ada CCS=800 btaken=1 btarget=1ac6 cc_op=1 cc_src=3746 cc_dest=1 cc_result=ea2 cc_mask=0 $r0=00000000 $r1=00004360 $r2=00004308 $r3=0000026c $r4=00002076 $r5=00002022 $r6=00000000 $r7=00000000 $r8=00000000 $r9=00000ea2 $r10=00000002 $r11=00004308 $r12=00001080 $r13=00000ec0 $sp=0000bfd8 $pc=00001ad4 With the patch, we get only one: PC=1ad8 CCS=0 btaken=1 btarget=1ac6 cc_op=1 cc_src=3746 cc_dest=1 cc_result=ea2 cc_mask=0 $r0=00000000 $r1=00004360 $r2=00004308 $r3=0000026c $r4=00002076 $r5=00002022 $r6=00000000 $r7=00000000 $r8=00000000 $r9=00000ea2 $r10=00000002 $r11=00004308 $r12=00001080 $r13=00000ec0 $sp=0000bfd8 $pc=00001ad4 Signed-off-by: Hans-Peter Nilsson Signed-off-by: Rabin Vincent --- target-cris/translate.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target-cris/translate.c b/target-cris/translate.c index a4512b5..c9b1e65 100644 --- a/target-cris/translate.c +++ b/target-cris/translate.c @@ -3262,7 +3262,8 @@ void gen_intermediate_code(CPUCRISState *env, struct TranslationBlock *tb) } } while (!dc->is_jmp && !dc->cpustate_changed && !tcg_op_buf_full() - && !singlestep + /* We don't count prefix insns as separate wrt. singlestep. */ + && (!singlestep || (dc->tb_flags & PFIX_FLAG)) && (dc->pc < next_page_start) && num_insns < max_insns); -- 2.1.4