Home
last modified time | relevance | path

Searched refs:cwp (Results 1 – 9 of 9) sorted by relevance

/qemu/target/sparc/
H A Dwin_helper.c29 if (env->cwp == env->nwindows - 1) { in cpu_set_cwp()
33 env->cwp = new_cwp; in cpu_set_cwp()
62 (env->psret ? PSR_ET : 0) | env->cwp; in cpu_get_psr()
107 int cpu_cwp_inc(CPUSPARCState *env, int cwp) in cpu_cwp_inc() argument
109 if (unlikely(cwp >= env->nwindows)) { in cpu_cwp_inc()
110 cwp -= env->nwindows; in cpu_cwp_inc()
112 return cwp; in cpu_cwp_inc()
115 int cpu_cwp_dec(CPUSPARCState *env, int cwp) in cpu_cwp_dec() argument
117 if (unlikely(cwp < 0)) { in cpu_cwp_dec()
118 cwp += env->nwindows; in cpu_cwp_dec()
[all …]
H A Dint32_helper.c103 int cwp, intno = cs->exception_index; in sparc_cpu_do_interrupt() local
158 cwp = cpu_cwp_dec(env, env->cwp - 1); in sparc_cpu_do_interrupt()
159 cpu_set_cwp(env, cwp); in sparc_cpu_do_interrupt()
H A Dmmu_helper.c402 int cwp = env->cwp; in sparc_cpu_memory_rw_debug() local
407 target_ulong fp = env->regbase[cwp * 16 + 22]; in sparc_cpu_memory_rw_debug()
414 cwp = cpu_cwp_inc(env, cwp + 1); in sparc_cpu_memory_rw_debug()
417 if (env->wim & (1 << cwp)) { in sparc_cpu_memory_rw_debug()
453 int reg = cwp * 16 + 8 + (off >> 2); in sparc_cpu_memory_rw_debug()
H A Dint64_helper.c241 cpu_set_cwp(env, cpu_cwp_dec(env, env->cwp - 1)); in sparc_cpu_do_interrupt()
243 cpu_set_cwp(env, cpu_cwp_dec(env, env->cwp - env->cansave - 2)); in sparc_cpu_do_interrupt()
245 cpu_set_cwp(env, cpu_cwp_inc(env, env->cwp + 1)); in sparc_cpu_do_interrupt()
H A Dmachine.c60 env->cwp = 0; in get_psr()
173 cpu_set_cwp(env, env->cwp); in cpu_pre_save()
281 VMSTATE_UINT32(env.cwp, SPARCCPU),
H A Dcpu.h465 uint32_t cwp; /* index of current register window (extracted member
628 int cpu_cwp_inc(CPUSPARCState *env1, int cwp);
629 int cpu_cwp_dec(CPUSPARCState *env1, int cwp);
767 void cpu_put_cwp64(CPUSPARCState *env1, int cwp);
H A Dcpu.c46 env->cwp = 0; in sparc_cpu_reset_hold()
50 env->regwptr = env->regbase + (env->cwp * 16); in sparc_cpu_reset_hold()
678 env->cleanwin, env->nwindows - 1 - env->cwp); in sparc_cpu_dump_state()
/qemu/linux-user/sparc/
H A Dcpu_loop.c32 static inline int get_reg_index(CPUSPARCState *env, int cwp, int index) in get_reg_index() argument
34 index = (index + cwp * 16) % (16 * env->nwindows); in get_reg_index()
37 if (index < 8 && env->cwp == env->nwindows - 1) in get_reg_index()
70 save_window_offset(env, cpu_cwp_dec(env, env->cwp - 2)); in save_window()
77 save_window_offset(env, cpu_cwp_dec(env, env->cwp - env->cansave - 2)); in save_window()
97 cwp1 = cpu_cwp_inc(env, env->cwp + 1); in restore_window()
129 cwp1 = cpu_cwp_inc(env, env->cwp + offset); in flush_windows()
142 cwp1 = cpu_cwp_inc(env, env->cwp + 1); in flush_windows()
H A Dtarget_cpu.h47 env->regwptr = env->regbase + (env->cwp * 16); in cpu_clone_regs_child()
56 env->wim = 1 << env->cwp; in cpu_clone_regs_child()