From patchwork Wed Mar 14 21:42:30 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Andreas_F=C3=A4rber?= X-Patchwork-Id: 146765 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 49350B6EE7 for ; Thu, 15 Mar 2012 10:07:57 +1100 (EST) Received: from localhost ([::1]:35218 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S7vzn-0006ig-3J for incoming@patchwork.ozlabs.org; Wed, 14 Mar 2012 17:44:35 -0400 Received: from eggs.gnu.org ([208.118.235.92]:45149) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S7vyZ-0004UU-46 for qemu-devel@nongnu.org; Wed, 14 Mar 2012 17:43:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S7vyT-0005cI-E2 for qemu-devel@nongnu.org; Wed, 14 Mar 2012 17:43:18 -0400 Received: from cantor2.suse.de ([195.135.220.15]:34906 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S7vyS-0005bp-V5 for qemu-devel@nongnu.org; Wed, 14 Mar 2012 17:43:13 -0400 Received: from relay2.suse.de (unknown [195.135.220.254]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx2.suse.de (Postfix) with ESMTP id C8B238FE69; Wed, 14 Mar 2012 22:43:11 +0100 (CET) From: =?UTF-8?q?Andreas=20F=C3=A4rber?= To: qemu-devel@nongnu.org Date: Wed, 14 Mar 2012 22:42:30 +0100 Message-Id: <1331761376-20362-18-git-send-email-afaerber@suse.de> X-Mailer: git-send-email 1.7.7 In-Reply-To: <1331761376-20362-1-git-send-email-afaerber@suse.de> References: <1331761376-20362-1-git-send-email-afaerber@suse.de> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4-2.6 X-Received-From: 195.135.220.15 Cc: =?UTF-8?q?Andreas=20F=C3=A4rber?= , Paul Brook Subject: [Qemu-devel] [PATCH v5 17/43] target-m68k: Don't overuse CPUState X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Scripted conversion: sed -i "s/CPUState/CPUM68KState/g" target-m68k/*.[hc] sed -i "s/#define CPUM68KState/#define CPUState/" target-m68k/cpu.h Signed-off-by: Andreas Färber Acked-by: Anthony Liguori --- target-m68k/cpu.h | 16 +++++----- target-m68k/helper.c | 78 +++++++++++++++++++++++----------------------- target-m68k/op_helper.c | 20 ++++++------ target-m68k/translate.c | 16 +++++----- 4 files changed, 65 insertions(+), 65 deletions(-) diff --git a/target-m68k/cpu.h b/target-m68k/cpu.h index 4cc3a35..2c83b89 100644 --- a/target-m68k/cpu.h +++ b/target-m68k/cpu.h @@ -120,8 +120,8 @@ void m68k_tcg_init(void); CPUM68KState *cpu_m68k_init(const char *cpu_model); int cpu_m68k_exec(CPUM68KState *s); void cpu_m68k_close(CPUM68KState *s); -void do_interrupt(CPUState *env1); -void do_interrupt_m68k_hardirq(CPUState *env1); +void do_interrupt(CPUM68KState *env1); +void do_interrupt_m68k_hardirq(CPUM68KState *env1); /* you can call this signal handler from your SIGBUS and SIGSEGV signal handlers to inform the virtual CPU of exceptions. non zero is returned if the signal was handled by the virtual CPU. */ @@ -226,17 +226,17 @@ void register_m68k_insns (CPUM68KState *env); #define MMU_MODE0_SUFFIX _kernel #define MMU_MODE1_SUFFIX _user #define MMU_USER_IDX 1 -static inline int cpu_mmu_index (CPUState *env) +static inline int cpu_mmu_index (CPUM68KState *env) { return (env->sr & SR_S) == 0 ? 1 : 0; } -int cpu_m68k_handle_mmu_fault(CPUState *env, target_ulong address, int rw, +int cpu_m68k_handle_mmu_fault(CPUM68KState *env, target_ulong address, int rw, int mmu_idx); #define cpu_handle_mmu_fault cpu_m68k_handle_mmu_fault #if defined(CONFIG_USER_ONLY) -static inline void cpu_clone_regs(CPUState *env, target_ulong newsp) +static inline void cpu_clone_regs(CPUM68KState *env, target_ulong newsp) { if (newsp) env->aregs[7] = newsp; @@ -246,7 +246,7 @@ static inline void cpu_clone_regs(CPUState *env, target_ulong newsp) #include "cpu-all.h" -static inline void cpu_get_tb_cpu_state(CPUState *env, target_ulong *pc, +static inline void cpu_get_tb_cpu_state(CPUM68KState *env, target_ulong *pc, target_ulong *cs_base, int *flags) { *pc = env->pc; @@ -256,14 +256,14 @@ static inline void cpu_get_tb_cpu_state(CPUState *env, target_ulong *pc, | ((env->macsr >> 4) & 0xf); /* Bits 0-3 */ } -static inline bool cpu_has_work(CPUState *env) +static inline bool cpu_has_work(CPUM68KState *env) { return env->interrupt_request & CPU_INTERRUPT_HARD; } #include "exec-all.h" -static inline void cpu_pc_from_tb(CPUState *env, TranslationBlock *tb) +static inline void cpu_pc_from_tb(CPUM68KState *env, TranslationBlock *tb) { env->pc = tb->pc; } diff --git a/target-m68k/helper.c b/target-m68k/helper.c index 3647366..1feed9b 100644 --- a/target-m68k/helper.c +++ b/target-m68k/helper.c @@ -56,7 +56,7 @@ void m68k_cpu_list(FILE *f, fprintf_function cpu_fprintf) } } -static int fpu_gdb_get_reg(CPUState *env, uint8_t *mem_buf, int n) +static int fpu_gdb_get_reg(CPUM68KState *env, uint8_t *mem_buf, int n) { if (n < 8) { stfq_p(mem_buf, env->fregs[n]); @@ -70,7 +70,7 @@ static int fpu_gdb_get_reg(CPUState *env, uint8_t *mem_buf, int n) return 0; } -static int fpu_gdb_set_reg(CPUState *env, uint8_t *mem_buf, int n) +static int fpu_gdb_set_reg(CPUM68KState *env, uint8_t *mem_buf, int n) { if (n < 8) { env->fregs[n] = ldfq_p(mem_buf); @@ -338,7 +338,7 @@ void m68k_switch_sp(CPUM68KState *env) #if defined(CONFIG_USER_ONLY) -int cpu_m68k_handle_mmu_fault (CPUState *env, target_ulong address, int rw, +int cpu_m68k_handle_mmu_fault (CPUM68KState *env, target_ulong address, int rw, int mmu_idx) { env->exception_index = EXCP_ACCESS; @@ -351,12 +351,12 @@ int cpu_m68k_handle_mmu_fault (CPUState *env, target_ulong address, int rw, /* MMU */ /* TODO: This will need fixing once the MMU is implemented. */ -target_phys_addr_t cpu_get_phys_page_debug(CPUState *env, target_ulong addr) +target_phys_addr_t cpu_get_phys_page_debug(CPUM68KState *env, target_ulong addr) { return addr; } -int cpu_m68k_handle_mmu_fault (CPUState *env, target_ulong address, int rw, +int cpu_m68k_handle_mmu_fault (CPUM68KState *env, target_ulong address, int rw, int mmu_idx) { int prot; @@ -407,7 +407,7 @@ uint32_t HELPER(sats)(uint32_t val, uint32_t ccr) return val; } -uint32_t HELPER(subx_cc)(CPUState *env, uint32_t op1, uint32_t op2) +uint32_t HELPER(subx_cc)(CPUM68KState *env, uint32_t op1, uint32_t op2) { uint32_t res; uint32_t old_flags; @@ -430,7 +430,7 @@ uint32_t HELPER(subx_cc)(CPUState *env, uint32_t op1, uint32_t op2) return res; } -uint32_t HELPER(addx_cc)(CPUState *env, uint32_t op1, uint32_t op2) +uint32_t HELPER(addx_cc)(CPUM68KState *env, uint32_t op1, uint32_t op2) { uint32_t res; uint32_t old_flags; @@ -458,13 +458,13 @@ uint32_t HELPER(xflag_lt)(uint32_t a, uint32_t b) return a < b; } -void HELPER(set_sr)(CPUState *env, uint32_t val) +void HELPER(set_sr)(CPUM68KState *env, uint32_t val) { env->sr = val & 0xffff; m68k_switch_sp(env); } -uint32_t HELPER(shl_cc)(CPUState *env, uint32_t val, uint32_t shift) +uint32_t HELPER(shl_cc)(CPUM68KState *env, uint32_t val, uint32_t shift) { uint32_t result; uint32_t cf; @@ -489,7 +489,7 @@ uint32_t HELPER(shl_cc)(CPUState *env, uint32_t val, uint32_t shift) return result; } -uint32_t HELPER(shr_cc)(CPUState *env, uint32_t val, uint32_t shift) +uint32_t HELPER(shr_cc)(CPUM68KState *env, uint32_t val, uint32_t shift) { uint32_t result; uint32_t cf; @@ -514,7 +514,7 @@ uint32_t HELPER(shr_cc)(CPUState *env, uint32_t val, uint32_t shift) return result; } -uint32_t HELPER(sar_cc)(CPUState *env, uint32_t val, uint32_t shift) +uint32_t HELPER(sar_cc)(CPUM68KState *env, uint32_t val, uint32_t shift) { uint32_t result; uint32_t cf; @@ -537,37 +537,37 @@ uint32_t HELPER(sar_cc)(CPUState *env, uint32_t val, uint32_t shift) } /* FPU helpers. */ -uint32_t HELPER(f64_to_i32)(CPUState *env, float64 val) +uint32_t HELPER(f64_to_i32)(CPUM68KState *env, float64 val) { return float64_to_int32(val, &env->fp_status); } -float32 HELPER(f64_to_f32)(CPUState *env, float64 val) +float32 HELPER(f64_to_f32)(CPUM68KState *env, float64 val) { return float64_to_float32(val, &env->fp_status); } -float64 HELPER(i32_to_f64)(CPUState *env, uint32_t val) +float64 HELPER(i32_to_f64)(CPUM68KState *env, uint32_t val) { return int32_to_float64(val, &env->fp_status); } -float64 HELPER(f32_to_f64)(CPUState *env, float32 val) +float64 HELPER(f32_to_f64)(CPUM68KState *env, float32 val) { return float32_to_float64(val, &env->fp_status); } -float64 HELPER(iround_f64)(CPUState *env, float64 val) +float64 HELPER(iround_f64)(CPUM68KState *env, float64 val) { return float64_round_to_int(val, &env->fp_status); } -float64 HELPER(itrunc_f64)(CPUState *env, float64 val) +float64 HELPER(itrunc_f64)(CPUM68KState *env, float64 val) { return float64_trunc_to_int(val, &env->fp_status); } -float64 HELPER(sqrt_f64)(CPUState *env, float64 val) +float64 HELPER(sqrt_f64)(CPUM68KState *env, float64 val) { return float64_sqrt(val, &env->fp_status); } @@ -582,27 +582,27 @@ float64 HELPER(chs_f64)(float64 val) return float64_chs(val); } -float64 HELPER(add_f64)(CPUState *env, float64 a, float64 b) +float64 HELPER(add_f64)(CPUM68KState *env, float64 a, float64 b) { return float64_add(a, b, &env->fp_status); } -float64 HELPER(sub_f64)(CPUState *env, float64 a, float64 b) +float64 HELPER(sub_f64)(CPUM68KState *env, float64 a, float64 b) { return float64_sub(a, b, &env->fp_status); } -float64 HELPER(mul_f64)(CPUState *env, float64 a, float64 b) +float64 HELPER(mul_f64)(CPUM68KState *env, float64 a, float64 b) { return float64_mul(a, b, &env->fp_status); } -float64 HELPER(div_f64)(CPUState *env, float64 a, float64 b) +float64 HELPER(div_f64)(CPUM68KState *env, float64 a, float64 b) { return float64_div(a, b, &env->fp_status); } -float64 HELPER(sub_cmp_f64)(CPUState *env, float64 a, float64 b) +float64 HELPER(sub_cmp_f64)(CPUM68KState *env, float64 a, float64 b) { /* ??? This may incorrectly raise exceptions. */ /* ??? Should flush denormals to zero. */ @@ -620,7 +620,7 @@ float64 HELPER(sub_cmp_f64)(CPUState *env, float64 a, float64 b) return res; } -uint32_t HELPER(compare_f64)(CPUState *env, float64 val) +uint32_t HELPER(compare_f64)(CPUM68KState *env, float64 val) { return float64_compare_quiet(val, float64_zero, &env->fp_status); } @@ -629,7 +629,7 @@ uint32_t HELPER(compare_f64)(CPUState *env, float64 val) /* FIXME: The MAC unit implementation is a bit of a mess. Some helpers take values, others take register numbers and manipulate the contents in-place. */ -void HELPER(mac_move)(CPUState *env, uint32_t dest, uint32_t src) +void HELPER(mac_move)(CPUM68KState *env, uint32_t dest, uint32_t src) { uint32_t mask; env->macc[dest] = env->macc[src]; @@ -640,7 +640,7 @@ void HELPER(mac_move)(CPUState *env, uint32_t dest, uint32_t src) env->macsr &= ~mask; } -uint64_t HELPER(macmuls)(CPUState *env, uint32_t op1, uint32_t op2) +uint64_t HELPER(macmuls)(CPUM68KState *env, uint32_t op1, uint32_t op2) { int64_t product; int64_t res; @@ -660,7 +660,7 @@ uint64_t HELPER(macmuls)(CPUState *env, uint32_t op1, uint32_t op2) return res; } -uint64_t HELPER(macmulu)(CPUState *env, uint32_t op1, uint32_t op2) +uint64_t HELPER(macmulu)(CPUM68KState *env, uint32_t op1, uint32_t op2) { uint64_t product; @@ -677,7 +677,7 @@ uint64_t HELPER(macmulu)(CPUState *env, uint32_t op1, uint32_t op2) return product; } -uint64_t HELPER(macmulf)(CPUState *env, uint32_t op1, uint32_t op2) +uint64_t HELPER(macmulf)(CPUM68KState *env, uint32_t op1, uint32_t op2) { uint64_t product; uint32_t remainder; @@ -696,7 +696,7 @@ uint64_t HELPER(macmulf)(CPUState *env, uint32_t op1, uint32_t op2) return product; } -void HELPER(macsats)(CPUState *env, uint32_t acc) +void HELPER(macsats)(CPUM68KState *env, uint32_t acc) { int64_t tmp; int64_t result; @@ -717,7 +717,7 @@ void HELPER(macsats)(CPUState *env, uint32_t acc) env->macc[acc] = result; } -void HELPER(macsatu)(CPUState *env, uint32_t acc) +void HELPER(macsatu)(CPUM68KState *env, uint32_t acc) { uint64_t val; @@ -739,7 +739,7 @@ void HELPER(macsatu)(CPUState *env, uint32_t acc) env->macc[acc] = val; } -void HELPER(macsatf)(CPUState *env, uint32_t acc) +void HELPER(macsatf)(CPUM68KState *env, uint32_t acc) { int64_t sum; int64_t result; @@ -758,7 +758,7 @@ void HELPER(macsatf)(CPUState *env, uint32_t acc) env->macc[acc] = result; } -void HELPER(mac_set_flags)(CPUState *env, uint32_t acc) +void HELPER(mac_set_flags)(CPUM68KState *env, uint32_t acc) { uint64_t val; val = env->macc[acc]; @@ -784,12 +784,12 @@ void HELPER(mac_set_flags)(CPUState *env, uint32_t acc) } } -void HELPER(flush_flags)(CPUState *env, uint32_t cc_op) +void HELPER(flush_flags)(CPUM68KState *env, uint32_t cc_op) { cpu_m68k_flush_flags(env, cc_op); } -uint32_t HELPER(get_macf)(CPUState *env, uint64_t val) +uint32_t HELPER(get_macf)(CPUM68KState *env, uint64_t val) { int rem; uint32_t result; @@ -858,7 +858,7 @@ uint32_t HELPER(get_macu)(uint64_t val) } } -uint32_t HELPER(get_mac_extf)(CPUState *env, uint32_t acc) +uint32_t HELPER(get_mac_extf)(CPUM68KState *env, uint32_t acc) { uint32_t val; val = env->macc[acc] & 0x00ff; @@ -868,7 +868,7 @@ uint32_t HELPER(get_mac_extf)(CPUState *env, uint32_t acc) return val; } -uint32_t HELPER(get_mac_exti)(CPUState *env, uint32_t acc) +uint32_t HELPER(get_mac_exti)(CPUM68KState *env, uint32_t acc) { uint32_t val; val = (env->macc[acc] >> 32) & 0xffff; @@ -876,7 +876,7 @@ uint32_t HELPER(get_mac_exti)(CPUState *env, uint32_t acc) return val; } -void HELPER(set_mac_extf)(CPUState *env, uint32_t val, uint32_t acc) +void HELPER(set_mac_extf)(CPUM68KState *env, uint32_t val, uint32_t acc) { int64_t res; int32_t tmp; @@ -892,7 +892,7 @@ void HELPER(set_mac_extf)(CPUState *env, uint32_t val, uint32_t acc) env->macc[acc + 1] = res; } -void HELPER(set_mac_exts)(CPUState *env, uint32_t val, uint32_t acc) +void HELPER(set_mac_exts)(CPUM68KState *env, uint32_t val, uint32_t acc) { int64_t res; int32_t tmp; @@ -906,7 +906,7 @@ void HELPER(set_mac_exts)(CPUState *env, uint32_t val, uint32_t acc) env->macc[acc + 1] = res; } -void HELPER(set_mac_extu)(CPUState *env, uint32_t val, uint32_t acc) +void HELPER(set_mac_extu)(CPUM68KState *env, uint32_t val, uint32_t acc) { uint64_t res; res = (uint32_t)env->macc[acc]; diff --git a/target-m68k/op_helper.c b/target-m68k/op_helper.c index 2f7fe6b..bc8c1f0 100644 --- a/target-m68k/op_helper.c +++ b/target-m68k/op_helper.c @@ -22,12 +22,12 @@ #if defined(CONFIG_USER_ONLY) -void do_interrupt(CPUState *env1) +void do_interrupt(CPUM68KState *env1) { env1->exception_index = -1; } -void do_interrupt_m68k_hardirq(CPUState *env1) +void do_interrupt_m68k_hardirq(CPUM68KState *env1) { } @@ -55,11 +55,11 @@ extern int semihosting_enabled; NULL, it means that the function was called in C code (i.e. not from generated code or from helper.c) */ /* XXX: fix it to restore all registers */ -void tlb_fill(CPUState *env1, target_ulong addr, int is_write, int mmu_idx, +void tlb_fill(CPUM68KState *env1, target_ulong addr, int is_write, int mmu_idx, void *retaddr) { TranslationBlock *tb; - CPUState *saved_env; + CPUM68KState *saved_env; unsigned long pc; int ret; @@ -161,9 +161,9 @@ static void do_interrupt_all(int is_hw) env->pc = ldl_kernel(env->vbr + vector); } -void do_interrupt(CPUState *env1) +void do_interrupt(CPUM68KState *env1) { - CPUState *saved_env; + CPUM68KState *saved_env; saved_env = env; env = env1; @@ -171,9 +171,9 @@ void do_interrupt(CPUState *env1) env = saved_env; } -void do_interrupt_m68k_hardirq(CPUState *env1) +void do_interrupt_m68k_hardirq(CPUM68KState *env1) { - CPUState *saved_env; + CPUM68KState *saved_env; saved_env = env; env = env1; @@ -193,7 +193,7 @@ void HELPER(raise_exception)(uint32_t tt) raise_exception(tt); } -void HELPER(divu)(CPUState *env, uint32_t word) +void HELPER(divu)(CPUM68KState *env, uint32_t word) { uint32_t num; uint32_t den; @@ -223,7 +223,7 @@ void HELPER(divu)(CPUState *env, uint32_t word) env->cc_dest = flags; } -void HELPER(divs)(CPUState *env, uint32_t word) +void HELPER(divs)(CPUM68KState *env, uint32_t word) { int32_t num; int32_t den; diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 2bdd9dd..9fc1e31 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -68,8 +68,8 @@ void m68k_tcg_init(void) char *p; int i; -#define DEFO32(name, offset) QREG_##name = tcg_global_mem_new_i32(TCG_AREG0, offsetof(CPUState, offset), #name); -#define DEFO64(name, offset) QREG_##name = tcg_global_mem_new_i64(TCG_AREG0, offsetof(CPUState, offset), #name); +#define DEFO32(name, offset) QREG_##name = tcg_global_mem_new_i32(TCG_AREG0, offsetof(CPUM68KState, offset), #name); +#define DEFO64(name, offset) QREG_##name = tcg_global_mem_new_i64(TCG_AREG0, offsetof(CPUM68KState, offset), #name); #define DEFF64(name, offset) DEFO64(name, offset) #include "qregs.def" #undef DEFO32 @@ -2937,7 +2937,7 @@ void register_m68k_insns (CPUM68KState *env) /* ??? Some of this implementation is not exception safe. We should always write back the result to memory before setting the condition codes. */ -static void disas_m68k_insn(CPUState * env, DisasContext *s) +static void disas_m68k_insn(CPUM68KState * env, DisasContext *s) { uint16_t insn; @@ -2949,7 +2949,7 @@ static void disas_m68k_insn(CPUState * env, DisasContext *s) /* generate intermediate code for basic block 'tb'. */ static inline void -gen_intermediate_code_internal(CPUState *env, TranslationBlock *tb, +gen_intermediate_code_internal(CPUM68KState *env, TranslationBlock *tb, int search_pc) { DisasContext dc1, *dc = &dc1; @@ -3072,17 +3072,17 @@ gen_intermediate_code_internal(CPUState *env, TranslationBlock *tb, //expand_target_qops(); } -void gen_intermediate_code(CPUState *env, TranslationBlock *tb) +void gen_intermediate_code(CPUM68KState *env, TranslationBlock *tb) { gen_intermediate_code_internal(env, tb, 0); } -void gen_intermediate_code_pc(CPUState *env, TranslationBlock *tb) +void gen_intermediate_code_pc(CPUM68KState *env, TranslationBlock *tb) { gen_intermediate_code_internal(env, tb, 1); } -void cpu_dump_state(CPUState *env, FILE *f, fprintf_function cpu_fprintf, +void cpu_dump_state(CPUM68KState *env, FILE *f, fprintf_function cpu_fprintf, int flags) { int i; @@ -3103,7 +3103,7 @@ void cpu_dump_state(CPUState *env, FILE *f, fprintf_function cpu_fprintf, cpu_fprintf (f, "FPRESULT = %12g\n", *(double *)&env->fp_result); } -void restore_state_to_opc(CPUState *env, TranslationBlock *tb, int pc_pos) +void restore_state_to_opc(CPUM68KState *env, TranslationBlock *tb, int pc_pos) { env->pc = gen_opc_pc[pc_pos]; }