fix CRIS-related warnings
PATCH 1/1 fix CRIS-related warnings
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 <[email protected]>
--- 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(-)
hw/etraxfs_dma.c +28 -24
@@ -214,6 +214,7 @@ static inline int fs_channel(target_physreturn (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_dmastatic 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_dmaD (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_dD (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_dmchannel_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
hw/etraxfs_eth.c +6 -4
@@ -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)
hw/etraxfs_timer.c +5 -5
@@ -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 ; }
target-cris/translate.c +5 -4
@@ -3071,14 +3071,15 @@ gen_intermediate_code_internal(CPUStateif (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(CPUStatefprintf (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
target-cris/mmu.c +6 -0
@@ -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,