aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2009-08-24 18:28:49 +0300
committerAvi Kivity <avi@redhat.com>2009-08-24 18:28:49 +0300
commit193cd7fc43b3f5e1c3eb07e512fe65fc0bfcfded (patch)
tree8b3ce0860a3485c07aa25dd20dc97835138728bb /cpu-exec.c
parentMerge commit '1632dc6a8f6e8662f4a203b6fb8c0371ca216946' into upstream-merge (diff)
parentUnbreak large mem support by removing kqemu (diff)
downloadqemu-kvm-193cd7fc43b3f5e1c3eb07e512fe65fc0bfcfded.tar.gz
qemu-kvm-193cd7fc43b3f5e1c3eb07e512fe65fc0bfcfded.tar.bz2
qemu-kvm-193cd7fc43b3f5e1c3eb07e512fe65fc0bfcfded.zip
Merge commit '4a1418e07bdcfaa3177739e04707ecaec75d89e1' into upstream-merge
* commit '4a1418e07bdcfaa3177739e04707ecaec75d89e1': Unbreak large mem support by removing kqemu Add a configure switch to enable / disable all user targets. I felt compelled to do it for symmetry, mostly it is useful to disable user targets when you don't want to build them. Migration via unix sockets. Conflicts: Makefile.target exec.c osdep.c vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'cpu-exec.c')
-rw-r--r--cpu-exec.c38
1 files changed, 1 insertions, 37 deletions
diff --git a/cpu-exec.c b/cpu-exec.c
index 7275fd194..5e44f2100 100644
--- a/cpu-exec.c
+++ b/cpu-exec.c
@@ -328,31 +328,6 @@ int cpu_exec(CPUState *env1)
}
env->exception_index = -1;
}
-#ifdef CONFIG_KQEMU
- if (kqemu_is_ok(env) && env->interrupt_request == 0 && env->exit_request == 0) {
- int ret;
- env->eflags = env->eflags | helper_cc_compute_all(CC_OP) | (DF & DF_MASK);
- ret = kqemu_cpu_exec(env);
- /* put eflags in CPU temporary format */
- CC_SRC = env->eflags & (CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C);
- DF = 1 - (2 * ((env->eflags >> 10) & 1));
- CC_OP = CC_OP_EFLAGS;
- env->eflags &= ~(DF_MASK | CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C);
- if (ret == 1) {
- /* exception */
- longjmp(env->jmp_env, 1);
- } else if (ret == 2) {
- /* softmmu execution needed */
- } else {
- if (env->interrupt_request != 0 || env->exit_request != 0) {
- /* hardware interrupt will be executed just after */
- } else {
- /* otherwise, we restart */
- longjmp(env->jmp_env, 1);
- }
- }
- }
-#endif
if (kvm_enabled()) {
kvm_cpu_exec(env);
@@ -627,11 +602,7 @@ int cpu_exec(CPUState *env1)
spans two pages, we cannot safely do a direct
jump. */
{
- if (next_tb != 0 &&
-#ifdef CONFIG_KQEMU
- (env->kqemu_enabled != 2) &&
-#endif
- tb->page_addr[1] == -1) {
+ if (next_tb != 0 && tb->page_addr[1] == -1) {
tb_add_jump((TranslationBlock *)(next_tb & ~3), next_tb & 3, tb);
}
}
@@ -685,13 +656,6 @@ int cpu_exec(CPUState *env1)
}
/* reset soft MMU for next block (it can currently
only be set by a memory fault) */
-#if defined(CONFIG_KQEMU)
-#define MIN_CYCLE_BEFORE_SWITCH (100 * 1000)
- if (kqemu_is_ok(env) &&
- (cpu_get_time_fast() - env->last_io_time) >= MIN_CYCLE_BEFORE_SWITCH) {
- cpu_loop_exit();
- }
-#endif
} /* for(;;) */
} else {
env_to_regs();