qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH] fix CRIS-related warnings


From: Jan Kiszka
Subject: [Qemu-devel] [PATCH] fix CRIS-related warnings
Date: Mon, 23 Jun 2008 08:41:06 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

This addresses all warnings CRIS code currently generates for me. Feel
free to adapt it according to your preferences, but please fix them so
that it becomes easier to spot real build regressions.

Signed-off-by: Jan Kiszka <address@hidden>
---
 hw/etraxfs_dma.c        |   52 +++++++++++++++++++++++++-----------------------
 hw/etraxfs_eth.c        |   10 +++++----
 hw/etraxfs_timer.c      |   10 ++++-----
 target-cris/mmu.c       |    6 +++++
 target-cris/translate.c |    9 ++++----
 5 files changed, 50 insertions(+), 37 deletions(-)

Index: b/hw/etraxfs_dma.c
===================================================================
--- a/hw/etraxfs_dma.c
+++ b/hw/etraxfs_dma.c
@@ -214,6 +214,7 @@ static inline int fs_channel(target_phys
        return (addr - base) >> 13;
 }
 
+#ifdef USE_THIS_DEAD_CODE
 static void channel_load_g(struct fs_dma_ctrl *ctrl, int c)
 {
        target_phys_addr_t addr = channel_reg(ctrl, c, RW_GROUP);
@@ -227,23 +228,24 @@ static void channel_load_g(struct fs_dma
 static void dump_c(int ch, struct dma_descr_context *c)
 {
        printf("%s ch=%d\n", __func__, ch);
-       printf("next=%x\n", (uint32_t) c->next);
-       printf("saved_data=%x\n", (uint32_t) c->saved_data);
-       printf("saved_data_buf=%x\n", (uint32_t) c->saved_data_buf);
+       printf("next=%p\n", c->next);
+       printf("saved_data=%p\n", c->saved_data);
+       printf("saved_data_buf=%p\n", c->saved_data_buf);
        printf("eol=%x\n", (uint32_t) c->eol);
 }
 
 static void dump_d(int ch, struct dma_descr_data *d)
 {
        printf("%s ch=%d\n", __func__, ch);
-       printf("next=%x\n", (uint32_t) d->next);
-       printf("buf=%x\n", (uint32_t) d->buf);
-       printf("after=%x\n", (uint32_t) d->after);
+       printf("next=%p\n", d->next);
+       printf("buf=%p\n", d->buf);
+       printf("after=%p\n", d->after);
        printf("intr=%x\n", (uint32_t) d->intr);
        printf("out_eop=%x\n", (uint32_t) d->out_eop);
        printf("in_eop=%x\n", (uint32_t) d->in_eop);
        printf("eol=%x\n", (uint32_t) d->eol);
 }
+#endif
 
 static void channel_load_c(struct fs_dma_ctrl *ctrl, int c)
 {
@@ -256,10 +258,10 @@ static void channel_load_c(struct fs_dma
 
        D(dump_c(c, &ctrl->channels[c].current_c));
        /* I guess this should update the current pos.  */
-       ctrl->channels[c].regs[RW_SAVED_DATA] = 
-               (uint32_t)ctrl->channels[c].current_c.saved_data;
+       ctrl->channels[c].regs[RW_SAVED_DATA] =
+               (uint32_t)(unsigned long)ctrl->channels[c].current_c.saved_data;
        ctrl->channels[c].regs[RW_SAVED_DATA_BUF] =
-               (uint32_t)ctrl->channels[c].current_c.saved_data_buf;
+               (uint32_t)(unsigned 
long)ctrl->channels[c].current_c.saved_data_buf;
 }
 
 static void channel_load_d(struct fs_dma_ctrl *ctrl, int c)
@@ -339,12 +341,12 @@ static void channel_continue(struct fs_d
                D(printf("continue %d ok %p\n", c,
                         ctrl->channels[c].current_d.next));
                ctrl->channels[c].regs[RW_SAVED_DATA] =
-                       (uint32_t) ctrl->channels[c].current_d.next;
+                       (uint32_t)(unsigned 
long)ctrl->channels[c].current_d.next;
                channel_load_d(ctrl, c);
                channel_start(ctrl, c);
        }
        ctrl->channels[c].regs[RW_SAVED_DATA_BUF] =
-               (uint32_t) ctrl->channels[c].current_d.buf;
+               (uint32_t)(unsigned long)ctrl->channels[c].current_d.buf;
 }
 
 static void channel_stream_cmd(struct fs_dma_ctrl *ctrl, int c, uint32_t v)
@@ -402,7 +404,7 @@ static void channel_out_run(struct fs_dm
                 (uint32_t)ctrl->channels[c].current_d.after,
                 saved_data_buf));
 
-       len = (uint32_t) ctrl->channels[c].current_d.after;
+       len = (uint32_t)(unsigned long) ctrl->channels[c].current_d.after;
        len -= saved_data_buf;
 
        if (len > sizeof buf)
@@ -420,7 +422,8 @@ static void channel_out_run(struct fs_dm
 
        saved_data_buf += len;
 
-       if (saved_data_buf == (uint32_t)ctrl->channels[c].current_d.after) {
+       if (saved_data_buf ==
+           (uint32_t)(unsigned long)ctrl->channels[c].current_d.after) {
                /* Done. Step to next.  */
                if (ctrl->channels[c].current_d.out_eop) {
                        /* TODO: signal eop to the client.  */
@@ -444,10 +447,10 @@ static void channel_out_run(struct fs_dm
                        channel_stop(ctrl, c);
                } else {
                        ctrl->channels[c].regs[RW_SAVED_DATA] =
-                               (uint32_t) ctrl->channels[c].current_d.next;
+                               (uint32_t)(unsigned long) 
ctrl->channels[c].current_d.next;
                        /* Load new descriptor.  */
                        channel_load_d(ctrl, c);
-                       saved_data_buf = (uint32_t)
+                       saved_data_buf = (uint32_t)(unsigned long)
                                ctrl->channels[c].current_d.buf;
                }
 
@@ -468,7 +471,7 @@ static int channel_in_process(struct fs_
                return 0;
 
        saved_data_buf = channel_reg(ctrl, c, RW_SAVED_DATA_BUF);
-       len = (uint32_t) ctrl->channels[c].current_d.after;
+       len = (uint32_t)(unsigned long) ctrl->channels[c].current_d.after;
        len -= saved_data_buf;
        
        if (len > buflen)
@@ -477,7 +480,8 @@ static int channel_in_process(struct fs_
        cpu_physical_memory_write (saved_data_buf, buf, len);
        saved_data_buf += len;
 
-       if (saved_data_buf == (uint32_t)ctrl->channels[c].current_d.after
+       if (saved_data_buf ==
+           (uint32_t)(unsigned long)ctrl->channels[c].current_d.after
            || eop) {
                uint32_t r_intr = ctrl->channels[c].regs[R_INTR];
 
@@ -485,7 +489,7 @@ static int channel_in_process(struct fs_
                         ctrl->channels[c].current_d.after
                         - ctrl->channels[c].current_d.buf));
                ctrl->channels[c].current_d.after = 
-                       (void *) saved_data_buf;
+                       (void *)(unsigned long) saved_data_buf;
 
                /* Done. Step to next.  */
                if (ctrl->channels[c].current_d.intr) {
@@ -514,10 +518,10 @@ static int channel_in_process(struct fs_
                        channel_stop(ctrl, c);
                } else {
                        ctrl->channels[c].regs[RW_SAVED_DATA] =
-                               (uint32_t) ctrl->channels[c].current_d.next;
+                               (uint32_t)(unsigned long) 
ctrl->channels[c].current_d.next;
                        /* Load new descriptor.  */
                        channel_load_d(ctrl, c);
-                       saved_data_buf = (uint32_t)
+                       saved_data_buf = (uint32_t)(unsigned long)
                                ctrl->channels[c].current_d.buf;
                }
        }
@@ -537,8 +541,8 @@ static uint32_t dma_rinvalid (void *opaq
 {
         struct fs_dma_ctrl *ctrl = opaque;
         CPUState *env = ctrl->env;
-        cpu_abort(env, "Unsupported short access. reg=%x pc=%x.\n", 
-                  addr, env->pc);
+        cpu_abort(env, "Unsupported short access. reg=" TARGET_FMT_plx
+                  " pc=%x.\n", addr, env->pc);
         return 0;
 }
 
@@ -574,8 +578,8 @@ dma_winvalid (void *opaque, target_phys_
 {
         struct fs_dma_ctrl *ctrl = opaque;
         CPUState *env = ctrl->env;
-        cpu_abort(env, "Unsupported short access. reg=%x pc=%x.\n", 
-                  addr, env->pc);
+        cpu_abort(env, "Unsupported short access. reg=" TARGET_FMT_plx
+                  " pc=%x.\n", addr, env->pc);
 }
 
 static void
Index: b/hw/etraxfs_eth.c
===================================================================
--- a/hw/etraxfs_eth.c
+++ b/hw/etraxfs_eth.c
@@ -154,11 +154,13 @@ mdio_attach(struct qemu_mdio *bus, struc
        bus->devs[addr & 0x1f] = phy;
 }
 
+#ifdef USE_THIS_DEAD_CODE
 static void 
 mdio_detach(struct qemu_mdio *bus, struct qemu_phy *phy, unsigned int addr)
 {
        bus->devs[addr & 0x1f] = NULL;  
 }
+#endif
 
 static void mdio_read_req(struct qemu_mdio *bus)
 {
@@ -328,8 +330,8 @@ static uint32_t eth_rinvalid (void *opaq
 {
        struct fs_eth *eth = opaque;
        CPUState *env = eth->env;
-       cpu_abort(env, "Unsupported short access. reg=%x pc=%x.\n", 
-                 addr, env->pc);
+       cpu_abort(env, "Unsupported short access. reg=" TARGET_FMT_plx
+                 " pc=%x.\n", addr, env->pc);
        return 0;
 }
 
@@ -359,8 +361,8 @@ eth_winvalid (void *opaque, target_phys_
 {
        struct fs_eth *eth = opaque;
        CPUState *env = eth->env;
-       cpu_abort(env, "Unsupported short access. reg=%x pc=%x.\n", 
-                 addr, env->pc);
+       cpu_abort(env, "Unsupported short access. reg=" TARGET_FMT_plx
+                 " pc=%x.\n", addr, env->pc);
 }
 
 static void eth_update_ma(struct fs_eth *eth, int ma)
Index: b/hw/etraxfs_timer.c
===================================================================
--- a/hw/etraxfs_timer.c
+++ b/hw/etraxfs_timer.c
@@ -80,8 +80,8 @@ static uint32_t timer_rinvalid (void *op
 {
        struct fs_timer_t *t = opaque;
        CPUState *env = t->env;
-       cpu_abort(env, "Unsupported short access. reg=%x pc=%x.\n", 
-                 addr, env->pc);
+       cpu_abort(env, "Unsupported short access. reg=" TARGET_FMT_plx
+                 " pc=%x.\n", addr, env->pc);
        return 0;
 }
 
@@ -120,8 +120,8 @@ timer_winvalid (void *opaque, target_phy
 {
        struct fs_timer_t *t = opaque;
        CPUState *env = t->env;
-       cpu_abort(env, "Unsupported short access. reg=%x pc=%x.\n", 
-                 addr, env->pc);
+       cpu_abort(env, "Unsupported short access. reg=" TARGET_FMT_plx
+                 " pc=%x.\n", addr, env->pc);
 }
 
 #define TIMER_SLOWDOWN 1
@@ -309,7 +309,7 @@ timer_writel (void *opaque, target_phys_
                        t->rw_ack_intr = 0;
                        break;
                default:
-                       printf ("%s %x %x pc=%x\n",
+                       printf ("%s " TARGET_FMT_plx " %x pc=%x\n",
                                __func__, addr, value, env->pc);
                        break;
        }
Index: b/target-cris/translate.c
===================================================================
--- a/target-cris/translate.c
+++ b/target-cris/translate.c
@@ -3071,14 +3071,15 @@ gen_intermediate_code_internal(CPUState 
 
        if (loglevel & CPU_LOG_TB_IN_ASM) {
                fprintf(logfile,
-                       "srch=%d pc=%x %x flg=%llx bt=%x ds=%lld ccs=%x\n"
+                       "srch=%d pc=%x %x flg=%llx bt=%x ds=%u ccs=%x\n"
                        "pid=%x usp=%x\n"
                        "%x.%x.%x.%x\n"
                        "%x.%x.%x.%x\n"
                        "%x.%x.%x.%x\n"
                        "%x.%x.%x.%x\n",
-                       search_pc, dc->pc, dc->ppc, tb->flags,
-                       env->btarget, tb->flags & 7,
+                       search_pc, dc->pc, dc->ppc,
+                       (unsigned long long)tb->flags,
+                       env->btarget, (unsigned)tb->flags & 7,
                        env->pregs[PR_CCS], 
                        env->pregs[PR_PID], env->pregs[PR_USP],
                        env->regs[0], env->regs[1], env->regs[2], env->regs[3],
@@ -3209,7 +3210,7 @@ gen_intermediate_code_internal(CPUState 
                fprintf(logfile, "--------------\n");
                fprintf(logfile, "IN: %s\n", lookup_symbol(pc_start));
                target_disas(logfile, pc_start, dc->pc - pc_start, 0);
-               fprintf(logfile, "\nisize=%d osize=%d\n", 
+               fprintf(logfile, "\nisize=%d osize=%zd\n",
                        dc->pc - pc_start, gen_opc_ptr - gen_opc_buf);
        }
 #endif
Index: b/target-cris/mmu.c
===================================================================
--- a/target-cris/mmu.c
+++ b/target-cris/mmu.c
@@ -30,7 +30,11 @@
 #include "mmu.h"
 #include "exec-all.h"
 
+#ifdef DEBUG
+#define D(x) x
+#else
 #define D(x)
+#endif
 
 void cris_mmu_init(CPUState *env)
 {
@@ -95,6 +99,7 @@ static inline void set_field(uint32_t *d
        *dst |= val;
 }
 
+#ifdef DEBUG
 static void dump_tlb(CPUState *env, int mmu)
 {
        int set;
@@ -113,6 +118,7 @@ static void dump_tlb(CPUState *env, int 
                }
        }
 }
+#endif
 
 /* rw 0 = read, 1 = write, 2 = exec.  */
 static int cris_mmu_translate_page(struct cris_mmu_result_t *res,




reply via email to

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