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
This commit is contained in:
aurel32 2009-01-14 19:40:27 +00:00
parent 1c918eba9a
commit 72d239ed26
7 changed files with 4 additions and 12 deletions

View File

@ -558,7 +558,6 @@ int main(int argc, char **argv)
init_task_state(ts); init_task_state(ts);
ts->info = info; ts->info = info;
env->opaque = ts; env->opaque = ts;
env->user_mode_only = 1;
#if defined(TARGET_SPARC) #if defined(TARGET_SPARC)
{ {

View File

@ -201,8 +201,6 @@ typedef struct CPUWatchpoint {
jmp_buf jmp_env; \ jmp_buf jmp_env; \
int exception_index; \ int exception_index; \
\ \
int user_mode_only; \
\
void *next_cpu; /* next CPU sharing TB cache */ \ void *next_cpu; /* next CPU sharing TB cache */ \
int cpu_index; /* CPU index (informative) */ \ int cpu_index; /* CPU index (informative) */ \
int running; /* Nonzero if cpu is currently running(usermode). */ \ int running; /* Nonzero if cpu is currently running(usermode). */ \

View File

@ -263,7 +263,8 @@ int cpu_exec(CPUState *env1)
if (ret == EXCP_DEBUG) if (ret == EXCP_DEBUG)
cpu_handle_debug_exception(env); cpu_handle_debug_exception(env);
break; break;
} else if (env->user_mode_only) { } else {
#if defined(CONFIG_USER_ONLY)
/* if user mode only, we simulate a fake exception /* if user mode only, we simulate a fake exception
which will be handled outside the cpu execution which will be handled outside the cpu execution
loop */ loop */
@ -277,7 +278,7 @@ int cpu_exec(CPUState *env1)
#endif #endif
ret = env->exception_index; ret = env->exception_index;
break; break;
} else { #else
#if defined(TARGET_I386) #if defined(TARGET_I386)
/* simulate a real cpu exception. On i386, it can /* simulate a real cpu exception. On i386, it can
trigger new exceptions, but we do not handle trigger new exceptions, but we do not handle
@ -304,6 +305,7 @@ int cpu_exec(CPUState *env1)
do_interrupt(env); do_interrupt(env);
#elif defined(TARGET_M68K) #elif defined(TARGET_M68K)
do_interrupt(0); do_interrupt(0);
#endif
#endif #endif
} }
env->exception_index = -1; env->exception_index = -1;

View File

@ -896,7 +896,6 @@ int main(int argc, char **argv)
memset(ts, 0, sizeof(TaskState)); memset(ts, 0, sizeof(TaskState));
env->opaque = ts; env->opaque = ts;
ts->used = 1; ts->used = 1;
env->user_mode_only = 1;
#if defined(TARGET_I386) #if defined(TARGET_I386)
cpu_x86_set_cpl(env, 3); cpu_x86_set_cpl(env, 3);

View File

@ -2421,7 +2421,6 @@ int main(int argc, char **argv, char **envp)
init_task_state(ts); init_task_state(ts);
ts->info = info; ts->info = info;
env->opaque = ts; env->opaque = ts;
env->user_mode_only = 1;
#if defined(TARGET_I386) #if defined(TARGET_I386)
cpu_x86_set_cpl(env, 3); cpu_x86_set_cpl(env, 3);

View File

@ -644,7 +644,6 @@ void cpu_reset(CPUSPARCState *env)
env->wim = 1; env->wim = 1;
env->regwptr = env->regbase + (env->cwp * 16); env->regwptr = env->regbase + (env->cwp * 16);
#if defined(CONFIG_USER_ONLY) #if defined(CONFIG_USER_ONLY)
env->user_mode_only = 1;
#ifdef TARGET_SPARC64 #ifdef TARGET_SPARC64
env->cleanwin = env->nwindows - 2; env->cleanwin = env->nwindows - 2;
env->cansave = env->nwindows - 2; env->cansave = env->nwindows - 2;

View File

@ -199,10 +199,6 @@ int main(int argc, char **argv)
env = cpu_init("qemu32"); env = cpu_init("qemu32");
/* set user mode state (XXX: should be done automatically by
cpu_init ?) */
env->user_mode_only = 1;
cpu_x86_set_cpl(env, 3); cpu_x86_set_cpl(env, 3);
env->cr[0] = CR0_PG_MASK | CR0_WP_MASK | CR0_PE_MASK; env->cr[0] = CR0_PG_MASK | CR0_WP_MASK | CR0_PE_MASK;