diff options
author | Blue Swirl <blauwirbel@gmail.com> | 2012-05-30 04:23:37 +0000 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2012-06-24 01:04:43 +0200 |
commit | 901c4eaf9670060c837987dac7912e5ab46df58a (patch) | |
tree | 0c247ae77f94fafe9cb68e917e0ecdb5f5689195 /target-ppc/op_helper.c | |
parent | d0f1562d6ace0fdb7d2db190dd5a9a2e7492c3b3 (diff) |
ppc: Split off misc helpers
Move misc helpers from op_helper.c to misc_helpers.c.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-ppc/op_helper.c')
-rw-r--r-- | target-ppc/op_helper.c | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/target-ppc/op_helper.c b/target-ppc/op_helper.c index 09299068fc..cd1a53322c 100644 --- a/target-ppc/op_helper.c +++ b/target-ppc/op_helper.c @@ -31,69 +31,6 @@ //#define DEBUG_OP /*****************************************************************************/ -/* SPR accesses */ -void helper_load_dump_spr(uint32_t sprn) -{ - qemu_log("Read SPR %d %03x => " TARGET_FMT_lx "\n", sprn, sprn, - env->spr[sprn]); -} - -void helper_store_dump_spr(uint32_t sprn) -{ - qemu_log("Write SPR %d %03x <= " TARGET_FMT_lx "\n", sprn, sprn, - env->spr[sprn]); -} -#if !defined(CONFIG_USER_ONLY) -#if defined(TARGET_PPC64) -void helper_store_asr(target_ulong val) -{ - ppc_store_asr(env, val); -} -#endif - -void helper_store_sdr1(target_ulong val) -{ - ppc_store_sdr1(env, val); -} - -void helper_store_hid0_601(target_ulong val) -{ - target_ulong hid0; - - hid0 = env->spr[SPR_HID0]; - if ((val ^ hid0) & 0x00000008) { - /* Change current endianness */ - env->hflags &= ~(1 << MSR_LE); - env->hflags_nmsr &= ~(1 << MSR_LE); - env->hflags_nmsr |= (1 << MSR_LE) & (((val >> 3) & 1) << MSR_LE); - env->hflags |= env->hflags_nmsr; - qemu_log("%s: set endianness to %c => " TARGET_FMT_lx "\n", __func__, - val & 0x8 ? 'l' : 'b', env->hflags); - } - env->spr[SPR_HID0] = (uint32_t)val; -} - -void helper_store_403_pbr(uint32_t num, target_ulong value) -{ - if (likely(env->pb[num] != value)) { - env->pb[num] = value; - /* Should be optimized */ - tlb_flush(env, 1); - } -} - -void helper_store_40x_dbcr0(target_ulong val) -{ - store_40x_dbcr0(env, val); -} - -void helper_store_40x_sler(target_ulong val) -{ - store_40x_sler(env, val); -} -#endif - -/*****************************************************************************/ /* Memory load and stores */ static inline target_ulong addr_add(target_ulong addr, target_long arg) @@ -252,37 +189,6 @@ target_ulong helper_lscbx(target_ulong addr, uint32_t reg, uint32_t ra, } /*****************************************************************************/ -/* PowerPC 601 specific instructions (POWER bridge) */ - -target_ulong helper_clcs(uint32_t arg) -{ - switch (arg) { - case 0x0CUL: - /* Instruction cache line size */ - return env->icache_line_size; - break; - case 0x0DUL: - /* Data cache line size */ - return env->dcache_line_size; - break; - case 0x0EUL: - /* Minimum cache line size */ - return (env->icache_line_size < env->dcache_line_size) ? - env->icache_line_size : env->dcache_line_size; - break; - case 0x0FUL: - /* Maximum cache line size */ - return (env->icache_line_size > env->dcache_line_size) ? - env->icache_line_size : env->dcache_line_size; - break; - default: - /* Undefined */ - return 0; - break; - } -} - -/*****************************************************************************/ /* Altivec extension helpers */ #if defined(HOST_WORDS_BIGENDIAN) #define HI_IDX 0 |