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:
parent
1c918eba9a
commit
72d239ed26
@ -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)
|
||||||
{
|
{
|
||||||
|
@ -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). */ \
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user