From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KnZvk-000139-AY for qemu-devel@nongnu.org; Wed, 08 Oct 2008 10:22:24 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KnZvj-00011q-EH for qemu-devel@nongnu.org; Wed, 08 Oct 2008 10:22:23 -0400 Received: from [199.232.76.173] (port=53946 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KnZvi-00011G-LO for qemu-devel@nongnu.org; Wed, 08 Oct 2008 10:22:22 -0400 Received: from savannah.gnu.org ([199.232.41.3]:44331 helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KnZvi-0005cx-Jk for qemu-devel@nongnu.org; Wed, 08 Oct 2008 10:22:22 -0400 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1KnZvh-0001y6-5S for qemu-devel@nongnu.org; Wed, 08 Oct 2008 14:22:21 +0000 Received: from edgar_igl by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1KnZve-0001xz-GC for qemu-devel@nongnu.org; Wed, 08 Oct 2008 14:22:20 +0000 MIME-Version: 1.0 Errors-To: edgar_igl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: "Edgar E. Iglesias" Message-Id: Date: Wed, 08 Oct 2008 14:22:18 +0000 Subject: [Qemu-devel] [5448] CRIS: Partial EXS reg support and fixes for SPC. Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 5448 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5448 Author: edgar_igl Date: 2008-10-08 14:22:17 +0000 (Wed, 08 Oct 2008) Log Message: ----------- CRIS: Partial EXS reg support and fixes for SPC. * Add partial support for the EXS (exception status) register. * Update SPC after each singlestep exception. * Remove special treatment of break 8. Modified Paths: -------------- trunk/target-cris/helper.c trunk/target-cris/translate.c Modified: trunk/target-cris/helper.c =================================================================== --- trunk/target-cris/helper.c 2008-10-08 08:28:16 UTC (rev 5447) +++ trunk/target-cris/helper.c 2008-10-08 14:22:17 UTC (rev 5448) @@ -143,6 +143,9 @@ break; } + /* Fill in the IDX field. */ + env->pregs[PR_EXS] = (ex_vec & 0xff) << 8; + if (env->dslot) { D(fprintf(logfile, "excp isr=%x PC=%x ds=%d SP=%x" " ERP=%x pid=%x ccs=%x cc=%d %x\n", Modified: trunk/target-cris/translate.c =================================================================== --- trunk/target-cris/translate.c 2008-10-08 08:28:16 UTC (rev 5447) +++ trunk/target-cris/translate.c 2008-10-08 14:22:17 UTC (rev 5448) @@ -196,10 +196,6 @@ tcg_gen_mov_tl(tn, tcg_const_tl(0)); else if (r == PR_VR) tcg_gen_mov_tl(tn, tcg_const_tl(32)); - else if (r == PR_EXS) { - printf("read from EXS!\n"); - tcg_gen_mov_tl(tn, cpu_PR[r]); - } else if (r == PR_EDA) { printf("read from EDA!\n"); tcg_gen_mov_tl(tn, cpu_PR[r]); @@ -2811,12 +2807,7 @@ DIS(fprintf(logfile, "break %d\n", dc->op1)); cris_evaluate_flags (dc); /* break. */ - if (dc->op1 == 8) { - /* TODO: Find out whats special with brk8. */ - tcg_gen_movi_tl(env_pc, dc->pc); - } - else - tcg_gen_movi_tl(env_pc, dc->pc + 2); + tcg_gen_movi_tl(env_pc, dc->pc + 2); /* Breaks start at 16 in the exception vector. */ t_gen_mov_env_TN(trap_vector, @@ -3005,6 +2996,7 @@ cris_evaluate_flags (dc); t_gen_mov_env_TN(trap_vector, tcg_const_tl(3)); tcg_gen_movi_tl(env_pc, dc->pc + insn_len); + tcg_gen_movi_tl(cpu_PR[PR_SPC], dc->pc + insn_len); t_gen_raise_exception(EXCP_BREAK); gen_set_label(l1); }