qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 17/31] target-cris: replace D(fprintf(logfile, ...))


From: Eduardo Habkost
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

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

Signed-off-by: Eduardo Habkost <address@hidden>
---
 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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]