target-unicore32: avoid using cpu_single_env

Pass around CPUArchState instead of using global cpu_single_env.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Acked-by: Guan Xuetao <gxt@mprc.pku.edu.cn>
Reviewed-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
Blue Swirl 2012-09-08 12:58:13 +00:00
parent 4840552601
commit 447b3b60d1

View File

@ -31,7 +31,7 @@
/* Map CPU modes onto saved register banks. */ /* Map CPU modes onto saved register banks. */
static inline int bank_number(int mode) static inline int bank_number(CPUUniCore32State *env, int mode)
{ {
switch (mode) { switch (mode) {
case ASR_MODE_USER: case ASR_MODE_USER:
@ -46,7 +46,7 @@ static inline int bank_number(int mode)
case ASR_MODE_INTR: case ASR_MODE_INTR:
return 4; return 4;
} }
cpu_abort(cpu_single_env, "Bad mode %x\n", mode); cpu_abort(env, "Bad mode %x\n", mode);
return -1; return -1;
} }
@ -60,12 +60,12 @@ void switch_mode(CPUUniCore32State *env, int mode)
return; return;
} }
i = bank_number(old_mode); i = bank_number(env, old_mode);
env->banked_r29[i] = env->regs[29]; env->banked_r29[i] = env->regs[29];
env->banked_r30[i] = env->regs[30]; env->banked_r30[i] = env->regs[30];
env->banked_bsr[i] = env->bsr; env->banked_bsr[i] = env->bsr;
i = bank_number(mode); i = bank_number(env, mode);
env->regs[29] = env->banked_r29[i]; env->regs[29] = env->banked_r29[i];
env->regs[30] = env->banked_r30[i]; env->regs[30] = env->banked_r30[i];
env->bsr = env->banked_bsr[i]; env->bsr = env->banked_bsr[i];