Commit 72d239ed26db3f288e73b68b70fcf1bb06f67900

Authored by aurel32
1 parent 1c918eba

Get rid of user_mode_only

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6305 c046a42c-6fe2-441c-8c8c-71466251a162
bsd-user/main.c
... ... @@ -558,7 +558,6 @@ int main(int argc, char **argv)
558 558 init_task_state(ts);
559 559 ts->info = info;
560 560 env->opaque = ts;
561   - env->user_mode_only = 1;
562 561  
563 562 #if defined(TARGET_SPARC)
564 563 {
... ...
cpu-defs.h
... ... @@ -201,8 +201,6 @@ typedef struct CPUWatchpoint {
201 201 jmp_buf jmp_env; \
202 202 int exception_index; \
203 203 \
204   - int user_mode_only; \
205   - \
206 204 void *next_cpu; /* next CPU sharing TB cache */ \
207 205 int cpu_index; /* CPU index (informative) */ \
208 206 int running; /* Nonzero if cpu is currently running(usermode). */ \
... ...
cpu-exec.c
... ... @@ -263,7 +263,8 @@ int cpu_exec(CPUState *env1)
263 263 if (ret == EXCP_DEBUG)
264 264 cpu_handle_debug_exception(env);
265 265 break;
266   - } else if (env->user_mode_only) {
  266 + } else {
  267 +#if defined(CONFIG_USER_ONLY)
267 268 /* if user mode only, we simulate a fake exception
268 269 which will be handled outside the cpu execution
269 270 loop */
... ... @@ -277,7 +278,7 @@ int cpu_exec(CPUState *env1)
277 278 #endif
278 279 ret = env->exception_index;
279 280 break;
280   - } else {
  281 +#else
281 282 #if defined(TARGET_I386)
282 283 /* simulate a real cpu exception. On i386, it can
283 284 trigger new exceptions, but we do not handle
... ... @@ -305,6 +306,7 @@ int cpu_exec(CPUState *env1)
305 306 #elif defined(TARGET_M68K)
306 307 do_interrupt(0);
307 308 #endif
  309 +#endif
308 310 }
309 311 env->exception_index = -1;
310 312 }
... ...
darwin-user/main.c
... ... @@ -896,7 +896,6 @@ int main(int argc, char **argv)
896 896 memset(ts, 0, sizeof(TaskState));
897 897 env->opaque = ts;
898 898 ts->used = 1;
899   - env->user_mode_only = 1;
900 899  
901 900 #if defined(TARGET_I386)
902 901 cpu_x86_set_cpl(env, 3);
... ...
linux-user/main.c
... ... @@ -2421,7 +2421,6 @@ int main(int argc, char **argv, char **envp)
2421 2421 init_task_state(ts);
2422 2422 ts->info = info;
2423 2423 env->opaque = ts;
2424   - env->user_mode_only = 1;
2425 2424  
2426 2425 #if defined(TARGET_I386)
2427 2426 cpu_x86_set_cpl(env, 3);
... ...
target-sparc/helper.c
... ... @@ -644,7 +644,6 @@ void cpu_reset(CPUSPARCState *env)
644 644 env->wim = 1;
645 645 env->regwptr = env->regbase + (env->cwp * 16);
646 646 #if defined(CONFIG_USER_ONLY)
647   - env->user_mode_only = 1;
648 647 #ifdef TARGET_SPARC64
649 648 env->cleanwin = env->nwindows - 2;
650 649 env->cansave = env->nwindows - 2;
... ...
tests/qruncom.c
... ... @@ -199,10 +199,6 @@ int main(int argc, char **argv)
199 199  
200 200 env = cpu_init("qemu32");
201 201  
202   - /* set user mode state (XXX: should be done automatically by
203   - cpu_init ?) */
204   - env->user_mode_only = 1;
205   -
206 202 cpu_x86_set_cpl(env, 3);
207 203  
208 204 env->cr[0] = CR0_PG_MASK | CR0_WP_MASK | CR0_PE_MASK;
... ...