All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eduardo Habkost <ehabkost@redhat.com>
To: qemu-devel@nongnu.org
Cc: Eduardo Habkost <ehabkost@redhat.com>
Subject: [Qemu-devel] [PATCH 17/31] target-cris: replace D(fprintf(logfile, ...)) macros with D_LOG(...)
Date: Fri, 12 Dec 2008 13:08:56 -0200	[thread overview]
Message-ID: <1229094550-2022-18-git-send-email-ehabkost@redhat.com> (raw)
In-Reply-To: <1229094550-2022-1-git-send-email-ehabkost@redhat.com>

Make code shorter, and create a single point where the logging code can
be changed in the future.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 target-cris/helper.c    |   26 ++++++++++++++++++--------
 target-cris/mmu.c       |   12 ++++++------
 target-cris/op_helper.c |   26 +++++++++++++++++---------
 3 files changed, 41 insertions(+), 23 deletions(-)

diff --git a/target-cris/helper.c b/target-cris/helper.c
index 2aa5a8e..2f5d9ef 100644
--- a/target-cris/helper.c
+++ b/target-cris/helper.c
@@ -28,7 +28,17 @@
 #include "exec-all.h"
 #include "host-utils.h"
 
+
+//#define CRIS_HELPER_DEBUG
+
+
+#ifdef CRIS_HELPER_DEBUG
+#define D(x) x
+#define D_LOG(...) fprintf(logfile, ## __VA_ARGS__)
+#else
 #define D(x)
+#define D_LOG(...) do { } while (0)
+#endif
 
 #if defined(CONFIG_USER_ONLY)
 
@@ -98,10 +108,10 @@ int cpu_cris_handle_mmu_fault (CPUState *env, target_ulong address, int rw,
 		r = tlb_set_page(env, address, phy, prot, mmu_idx, is_softmmu);
 	}
 	if (r > 0)
-		D(fprintf(logfile, "%s returns %d irqreq=%x addr=%x"
+		D_LOG("%s returns %d irqreq=%x addr=%x"
 			  " phy=%x ismmu=%d vec=%x pc=%x\n", 
 			  __func__, r, env->interrupt_request, 
-			  address, res.phy, is_softmmu, res.bf_vec, env->pc));
+			  address, res.phy, is_softmmu, res.bf_vec, env->pc);
 	return r;
 }
 
@@ -109,9 +119,9 @@ void do_interrupt(CPUState *env)
 {
 	int ex_vec = -1;
 
-	D(fprintf (logfile, "exception index=%d interrupt_req=%d\n",
+	D_LOG( "exception index=%d interrupt_req=%d\n",
 		   env->exception_index,
-		   env->interrupt_request));
+		   env->interrupt_request);
 
 	switch (env->exception_index)
 	{
@@ -147,13 +157,13 @@ void do_interrupt(CPUState *env)
 	env->pregs[PR_EXS] = (ex_vec & 0xff) << 8;
 
 	if (env->dslot) {
-		D(fprintf(logfile, "excp isr=%x PC=%x ds=%d SP=%x"
+		D_LOG("excp isr=%x PC=%x ds=%d SP=%x"
 			  " ERP=%x pid=%x ccs=%x cc=%d %x\n",
 			  ex_vec, env->pc, env->dslot,
 			  env->regs[R_SP],
 			  env->pregs[PR_ERP], env->pregs[PR_PID],
 			  env->pregs[PR_CCS],
-			  env->cc_op, env->cc_mask));
+			  env->cc_op, env->cc_mask);
 		/* We loose the btarget, btaken state here so rexec the
 		   branch.  */
 		env->pregs[PR_ERP] -= env->dslot;
@@ -171,11 +181,11 @@ void do_interrupt(CPUState *env)
 
 	/* Apply the CRIS CCS shift. Clears U if set.  */
 	cris_shift_ccs(env);
-	D(fprintf (logfile, "%s isr=%x vec=%x ccs=%x pid=%d erp=%x\n", 
+	D_LOG("%s isr=%x vec=%x ccs=%x pid=%d erp=%x\n", 
 		   __func__, env->pc, ex_vec, 
 		   env->pregs[PR_CCS],
 		   env->pregs[PR_PID], 
-		   env->pregs[PR_ERP]));
+		   env->pregs[PR_ERP]);
 }
 
 target_phys_addr_t cpu_get_phys_page_debug(CPUState * env, target_ulong addr)
diff --git a/target-cris/mmu.c b/target-cris/mmu.c
index f270d5b..e38c7d8 100644
--- a/target-cris/mmu.c
+++ b/target-cris/mmu.c
@@ -32,8 +32,10 @@
 
 #ifdef DEBUG
 #define D(x) x
+#define D_LOG(...) fprintf(logfile, ## __VA_ARGS__)
 #else
 #define D(x)
+#define D_LOG(...) do { } while (0)
 #endif
 
 void cris_mmu_init(CPUState *env)
@@ -180,9 +182,8 @@ static int cris_mmu_translate_page(struct cris_mmu_result_t *res,
 		tlb_pid = EXTRACT_FIELD(hi, 0, 7);
 		tlb_g  = EXTRACT_FIELD(lo, 4, 4);
 
-		D(fprintf(logfile, 
-			 "TLB[%d][%d][%d] v=%x vpage=%x lo=%x hi=%x\n", 
-			 mmu, set, idx, tlb_vpn, vpage, lo, hi));
+		D_LOG("TLB[%d][%d][%d] v=%x vpage=%x lo=%x hi=%x\n", 
+			 mmu, set, idx, tlb_vpn, vpage, lo, hi);
 		if ((tlb_g || (tlb_pid == pid))
 		    && tlb_vpn == vpage) {
 			match = 1;
@@ -317,9 +318,8 @@ void cris_mmu_flush_pid(CPUState *env, uint32_t pid)
 				   as well.  */
 				if (tlb_v && !tlb_g && (tlb_pid == pid || tlb_k)) {
 					vaddr = tlb_vpn << TARGET_PAGE_BITS;
-					D(fprintf(logfile,
-						  "flush pid=%x vaddr=%x\n", 
-						  pid, vaddr));
+					D_LOG("flush pid=%x vaddr=%x\n", 
+						  pid, vaddr);
 					tlb_flush_page(env, vaddr);
 				}
 			}
diff --git a/target-cris/op_helper.c b/target-cris/op_helper.c
index a681f84..1722ccf 100644
--- a/target-cris/op_helper.c
+++ b/target-cris/op_helper.c
@@ -24,7 +24,16 @@
 #include "mmu.h"
 #include "helper.h"
 
+//#define CRIS_OP_HELPER_DEBUG
+
+
+#ifdef CRIS_OP_HELPER_DEBUG
+#define D(x) x
+#define D_LOG(...) fprintf(logfile, ## __VA_ARGS__)
+#else
 #define D(x)
+#define D_LOG(...) do { } while (0)
+#endif
 
 #if !defined(CONFIG_USER_ONLY)
 
@@ -58,8 +67,8 @@ void tlb_fill (target_ulong addr, int is_write, int mmu_idx, void *retaddr)
     saved_env = env;
     env = cpu_single_env;
 
-    D(fprintf(logfile, "%s pc=%x tpc=%x ra=%x\n", __func__, 
-	     env->pc, env->debug1, retaddr));
+    D_LOG("%s pc=%x tpc=%x ra=%x\n", __func__, 
+	     env->pc, env->debug1, retaddr);
     ret = cpu_cris_handle_mmu_fault(env, addr, is_write, mmu_idx, 1);
     if (unlikely(ret)) {
         if (retaddr) {
@@ -154,9 +163,8 @@ void helper_movl_sreg_reg (uint32_t sreg, uint32_t reg)
 			env->tlbsets[srs - 1][set][idx].lo = lo;
 			env->tlbsets[srs - 1][set][idx].hi = hi;
 
-			D(fprintf(logfile, 
-				  "tlb flush vaddr=%x v=%d pc=%x\n", 
-				  vaddr, tlb_v, env->pc));
+			D_LOG("tlb flush vaddr=%x v=%d pc=%x\n", 
+				  vaddr, tlb_v, env->pc);
 			tlb_flush_page(env, vaddr);
 		}
 	}
@@ -212,10 +220,10 @@ void helper_rfe(void)
 {
 	int rflag = env->pregs[PR_CCS] & R_FLAG;
 
-	D(fprintf(logfile, "rfe: erp=%x pid=%x ccs=%x btarget=%x\n", 
+	D_LOG("rfe: erp=%x pid=%x ccs=%x btarget=%x\n", 
 		 env->pregs[PR_ERP], env->pregs[PR_PID],
 		 env->pregs[PR_CCS],
-		 env->btarget));
+		 env->btarget);
 
 	cris_ccs_rshift(env);
 
@@ -228,10 +236,10 @@ void helper_rfn(void)
 {
 	int rflag = env->pregs[PR_CCS] & R_FLAG;
 
-	D(fprintf(logfile, "rfn: erp=%x pid=%x ccs=%x btarget=%x\n", 
+	D_LOG("rfn: erp=%x pid=%x ccs=%x btarget=%x\n", 
 		 env->pregs[PR_ERP], env->pregs[PR_PID],
 		 env->pregs[PR_CCS],
-		 env->btarget));
+		 env->btarget);
 
 	cris_ccs_rshift(env);
 
-- 
1.5.5.GIT

  parent reply	other threads:[~2008-12-12 15:37 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-12 15:08 [Qemu-devel] [PATCH 00/31] Logging code cleanup, take 2 Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 01/31] hw/ppc.c: LOG_IRQ macro Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 02/31] hw/ppc.c: use LOG_IRQ instead of #ifdefs Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 03/31] hw/ppc.c: LOG_TB macro Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 04/31] hw/ppc.c: use LOG_TB instead of #ifdefs Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 05/31] vl.c: LOG_IOPORT macro Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 06/31] vl.c: use LOG_IOPORT instead of #ifdefs Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 07/31] kqemu.c: LOG_INT macro Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 08/31] kqemu.c: use LOG_INT instead of #ifdefs Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 09/31] kqemu.c: LOG_INT_STATE macro Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 10/31] kqemu.c: use LOG_INT_STATE instead of #ifdefs Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 11/31] kqemu.c: kill remaining DEBUG #ifdefs Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 12/31] target-i386/op_helper.c: LOG_PCALL macro Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 13/31] target-i386/op_helper.c: LOG_PCALL_STATE macro Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 14/31] target-i386/op_helper.c: use LOG_PCALL instead of #ifdefs Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 15/31] target-i386/op_helper.c: use LOG_PCALL/LOG_PCALL_STATE Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 16/31] target-cris/translate.c: LOG_DIS macro Eduardo Habkost
2008-12-12 18:59   ` Stuart Brady
2008-12-12 15:08 ` Eduardo Habkost [this message]
2008-12-12 15:08 ` [Qemu-devel] [PATCH 18/31] target-mips/translate.c: LOG_DISAS macro Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 19/31] target-ppc/helper.c: LOG_MMU macro Eduardo Habkost
2008-12-12 15:08 ` [Qemu-devel] [PATCH 20/31] target-ppc/helper.c: LOG_SWTLB macro Eduardo Habkost
2008-12-12 15:09 ` [Qemu-devel] [PATCH 21/31] target-ppc/helper.c: convert commented-out debug code to LOG_SWTLB Eduardo Habkost
2008-12-12 15:09 ` [Qemu-devel] [PATCH 22/31] target-ppc/helper.c: LOG_BATS macro Eduardo Habkost
2008-12-12 15:09 ` [Qemu-devel] [PATCH 23/31] target-ppc/helper.c: LOG_SLB macro Eduardo Habkost
2008-12-12 15:09 ` [Qemu-devel] [PATCH 24/31] target-ppc/helper.c: LOG_EXCP macro Eduardo Habkost
2008-12-12 15:09 ` [Qemu-devel] [PATCH 25/31] target-ppc/helper.c: remaining LOG_BATS & LOG_MMU conversions Eduardo Habkost
2008-12-12 15:09 ` [Qemu-devel] [PATCH 26/31] target-ppc/helper.c: LOG_MMU_STATE macro Eduardo Habkost
2008-12-12 15:09 ` [Qemu-devel] [PATCH 27/31] target-ppc/op_helper.c: LOG_SWTLB macro Eduardo Habkost
2008-12-12 15:09 ` [Qemu-devel] [PATCH 28/31] target-ppc/translate.c: LOG_DISAS macro Eduardo Habkost
2008-12-12 15:09 ` [Qemu-devel] [PATCH 29/31] hw/ppc4xx_devs.c: LOG_UIC macro Eduardo Habkost
2008-12-12 15:09 ` [Qemu-devel] [PATCH 30/31] target-alpha/translate.c: LOG_DISAS macro Eduardo Habkost
2008-12-12 15:09 ` [Qemu-devel] [PATCH 31/31] linux-user/vm86.c: LOG_VM86 macro Eduardo Habkost
2008-12-12 16:25 ` [Qemu-devel] [PATCH 00/31] Logging code cleanup, take 2 Blue Swirl
2008-12-12 16:54   ` Eduardo Habkost

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1229094550-2022-18-git-send-email-ehabkost@redhat.com \
    --to=ehabkost@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.