target-sparc: SPARC LEON power-down support added
PATCH 1/1 target-sparc: SPARC LEON power-down support added
Signed-off-by Ronald Hecht <[email protected]>
--- target-sparc/cpu.c | 2 +- target-sparc/cpu.h | 1 + target-sparc/helper.h | 1 + target-sparc/ldst_helper.c | 9 +++++++++ target-sparc/translate.c | 5 +++++ 5 files changed, 17 insertions(+), 1 deletions(-)
target-sparc/cpu.c +1 -1
@@ -589,7 +589,7 @@ static const sparc_def_t sparc_defs[] = { .mmu_trcr_mask = 0xffffffff, .nwindows = 8, .features = CPU_DEFAULT_FEATURES | CPU_FEATURE_TA0_SHUTDOWN | - CPU_FEATURE_ASR17 | CPU_FEATURE_CACHE_CTRL, + CPU_FEATURE_ASR17 | CPU_FEATURE_CACHE_CTRL | CPU_FEATURE_POWERDOWN, },#endif };
target-sparc/cpu.h +1 -0
@@ -270,6 +270,7 @@ typedef struct sparc_def_t {#define CPU_FEATURE_TA0_SHUTDOWN (1 << 14)/* Shutdown on "ta 0x0" */ #define CPU_FEATURE_ASR17 (1 << 15)#define CPU_FEATURE_CACHE_CTRL (1 << 16) +#define CPU_FEATURE_POWERDOWN (1 << 17)#ifndef TARGET_SPARC64 #define CPU_DEFAULT_FEATURES (CPU_FEATURE_FLOAT | CPU_FEATURE_SWAP | \
target-sparc/helper.h +1 -0
@@ -4,6 +4,7 @@ DEF_HELPER_1(rett, void, env) DEF_HELPER_2(wrpsr, void, env, tl) DEF_HELPER_1(rdpsr, tl, env) +DEF_HELPER_1(power_down, void, env)#else DEF_HELPER_2(wrpil, void, env, tl)DEF_HELPER_2 (wrpstate, void, env, tl)
target-sparc/ldst_helper.c +8 -0
@@ -2317,6 +2317,15 @@ void helper_stqf(CPUSPARCState *env, target_ulong addr, int mem_idx)#endif } +void helper_power_down(CPUSPARCState *env) +{ + env->halted =1 ; + env->exception_index =EXCP_HLT ; + env->pc = env->npc; + env->npc = env->pc +4 ; +cpu_loop_exit (env); +} +#if !defined(CONFIG_USER_ONLY )#ifndef TARGET_SPARC64 void cpu_unassigned_access(CPUSPARCState *env, target_phys_addr_t addr,
target-sparc/translate.c +5 -0
@@ -3671,6 +3671,11 @@ static void disas_sparc_insn(DisasContext * dc, unsigned int insn)in the SPARCv8 manual, nop on the microSPARC II */ +if ((rd ==0x13 ) && (dc->def->features & +CPU_FEATURE_POWERDOWN )) { +/* LEON3 power-down */ +gen_helper_power_down (cpu_env); + }break ;#else case 0x2 :/* V9 wrccr */
Signature · 1 line
1.7.2.5
Quoted 1 line · Ronald Hecht
Signed-off-by Ronald Hecht <[email protected]>
Reviewed-by Fabien Chouteau <[email protected]>
Signature · 1 line
Fabien Chouteau