Fix remaining compiler warnings for mips targets
PATCH 1/1 Fix remaining compiler warnings for mips targets
This patch allows compilation of mips targets using compiler option -Werror. I had to change these code locations to fix all compiler warnings:
* Move some declarations from target-mips/exec.h to target-mips/cpu.h.
* Use cpu_loop_exit() in cpu-exec.c (like other targets). This is also an optimization.
* Declare several functions static in mips-dis.c and put unused code in #if 0 ... #endif.
* Remove unused code in target-mips/helper.c.
* More code in target-mips/op_helper.c is only needed for system emulation.
The patch does not add the option -Werror because I noticed that this was reverted for other Qemu targets (r6030).
Regards
Stefan Weil
fix remaining compiler warnings for mips targets
Signed-off-by Stefan Weil <[email protected]>
cpu-exec.c +1 -1
@@ -1008,7 +1008,7 @@/* we restore the process signal mask as the sigreturn should do it (XXX: use sigsetjmp) */ sigprocmask (SIG_SETMASK , old_set,NULL ); -do_raise_exception_err (env->exception_index, env->error_code); +cpu_loop_exit (); }else {/* activate soft MMU for this block */ cpu_resume_from_signal (env, puc);
target-mips/cpu.h +18 -1
@@ -561,9 +561,26 @@int cpu_mips_exec (CPUMIPSState *s);CPUMIPSState *cpu_mips_init (const char *cpu_model); -uint32_t cpu_mips_get_clock (void ); +//~ uint32_t cpu_mips_get_clock (void); int cpu_mips_signal_handler (int host_signum,void *pinfo,void *puc); +/* mips_timer.c */ +uint32_t cpu_mips_get_random (CPUState *env); +uint32_t cpu_mips_get_count (CPUState *env); +void cpu_mips_store_count (CPUState *env,uint32_t value); +void cpu_mips_store_compare (CPUState *env,uint32_t value); +void cpu_mips_start_count (CPUState *env); +void cpu_mips_stop_count (CPUState *env); + +/* mips_int.c */ +void cpu_mips_update_irq (CPUState *env); + +/* helper.c */ +int cpu_mips_handle_mmu_fault (CPUState *env,target_ulong address,int rw, +int mmu_idx,int is_softmmu); +void do_interrupt (CPUState *env); +void r4k_invalidate_tlb (CPUState *env,int idx,int use_extra); +static inline void cpu_pc_from_tb (CPUState *env,TranslationBlock *tb) { env->active_tc.PC = tb->pc;
target-mips/exec.h +0 -15
@@ -24,21 +24,6 @@int (*fpu_fprintf)(FILE *f,const char *fmt, ...), int flags); -int cpu_mips_handle_mmu_fault (CPUState *env,target_ulong address,int rw, -int mmu_idx,int is_softmmu); -void do_interrupt (CPUState *env); -void r4k_invalidate_tlb (CPUState *env,int idx,int use_extra); - -void do_raise_exception_err (uint32_t exception,int error_code); -void do_raise_exception (uint32_t exception); - -uint32_t cpu_mips_get_random (CPUState *env); -uint32_t cpu_mips_get_count (CPUState *env); -void cpu_mips_store_count (CPUState *env,uint32_t value); -void cpu_mips_store_compare (CPUState *env,uint32_t value); -void cpu_mips_start_count (CPUState *env); -void cpu_mips_stop_count (CPUState *env); -void cpu_mips_update_irq (CPUState *env);void cpu_mips_clock_init (CPUState *env);void cpu_mips_tlb_flush (CPUState *env,int flush_global);
mips-dis.c +3 -3
@@ -3272,7 +3272,7 @@return c; } -void +static void set_default_mips_dis_options (struct disassemble_info *info) {const struct mips_arch_choice *chosen_arch;
@@ -3321,7 +3321,7 @@#endif } -void +static void parse_mips_dis_option (const char *option,unsigned int len) {unsigned int i, optionlen, vallen;
@@ -4809,7 +4809,6 @@abort (); } } -#endif void print_mips_disassembler_options (FILE *stream)
@@ -4863,3 +4862,4 @@ fprintf (stream, _("\n")); } +#endif
target-mips/helper.c +0 -4
@@ -220,10 +220,6 @@ } } -void cpu_mips_init_mmu (CPUState *env) -{ -} -int cpu_mips_handle_mmu_fault (CPUState *env,target_ulong address,int rw,int mmu_idx,int is_softmmu) {
target-mips/op_helper.c +4 -2
@@ -54,7 +54,8 @@ } } -void do_restore_state (void *pc_ptr) +#if !defined(CONFIG_USER_ONLY ) +static void do_restore_state (void *pc_ptr) {TranslationBlock *tb;unsigned long pc = (unsigned long ) pc_ptr;
@@ -64,6 +65,7 @@ cpu_restore_state (tb, env, pc, NULL); } } +#endif target_ulong do_clo (target_ulong t0) {
@@ -1356,7 +1358,6 @@ {fprintf (logfile,"Raise pending IRQs\n" ); } -#endif /* !CONFIG_USER_ONLY */ /* MIPS MT functions */ target_ulong do_mftgpr (uint32_t sel)
@@ -1495,6 +1496,7 @@ return t0; } +#endif /* !CONFIG_USER_ONLY */ void do_fork (target_ulong t0,target_ulong t1) {