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 /target-i386
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 'target-i386')
-rw-r--r--target-i386/TODO1
-rw-r--r--target-i386/cpu.h14
-rw-r--r--target-i386/helper.c15
-rw-r--r--target-i386/op_helper.c42
4 files changed, 0 insertions, 72 deletions
diff --git a/target-i386/TODO b/target-i386/TODO
index b671e24b4..c8ada075d 100644
--- a/target-i386/TODO
+++ b/target-i386/TODO
@@ -30,4 +30,3 @@ Optimizations/Features:
- evaluate x87 stack pointer statically
- find a way to avoid translating several time the same TB if CR0.TS
is set or not.
-- move kqemu support outside target-i386.
diff --git a/target-i386/cpu.h b/target-i386/cpu.h
index 6a96e9329..d4274ea24 100644
--- a/target-i386/cpu.h
+++ b/target-i386/cpu.h
@@ -682,11 +682,6 @@ typedef struct CPUX86State {
uint64_t mask;
} mtrr_var[8];
-#ifdef CONFIG_KQEMU
- int kqemu_enabled;
- int last_io_time;
-#endif
-
/* For KVM */
uint64_t interrupt_bitmap[256 / 64];
uint32_t mp_state;
@@ -850,15 +845,6 @@ uint64_t cpu_get_tsc(CPUX86State *env);
#define X86_DUMP_FPU 0x0001 /* dump FPU state too */
#define X86_DUMP_CCOP 0x0002 /* dump qemu flag cache */
-#ifdef CONFIG_KQEMU
-static inline int cpu_get_time_fast(void)
-{
- int low, high;
- asm volatile("rdtsc" : "=a" (low), "=d" (high));
- return low;
-}
-#endif
-
#define TARGET_PAGE_BITS 12
#define cpu_init cpu_x86_init
diff --git a/target-i386/helper.c b/target-i386/helper.c
index 4785ff0d7..81feef7a6 100644
--- a/target-i386/helper.c
+++ b/target-i386/helper.c
@@ -997,15 +997,11 @@ target_phys_addr_t cpu_get_phys_page_debug(CPUState *env, target_ulong addr)
/* XXX: This value should match the one returned by CPUID
* and in exec.c */
-#if defined(CONFIG_KQEMU)
-#define PHYS_ADDR_MASK 0xfffff000LL
-#else
# if defined(TARGET_X86_64)
# define PHYS_ADDR_MASK 0xfffffff000LL
# else
# define PHYS_ADDR_MASK 0xffffff000LL
# endif
-#endif
/* return value:
-1 = cannot handle fault
@@ -1771,21 +1767,13 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index, uint32_t count,
/* XXX: This value must match the one used in the MMU code. */
if (env->cpuid_ext2_features & CPUID_EXT2_LM) {
/* 64 bit processor */
-#if defined(CONFIG_KQEMU)
- *eax = 0x00003020; /* 48 bits virtual, 32 bits physical */
-#else
/* XXX: The physical address space is limited to 42 bits in exec.c. */
*eax = 0x00003028; /* 48 bits virtual, 40 bits physical */
-#endif
} else {
-#if defined(CONFIG_KQEMU)
- *eax = 0x00000020; /* 32 bits physical */
-#else
if (env->cpuid_features & CPUID_PSE36)
*eax = 0x00000024; /* 36 bits physical */
else
*eax = 0x00000020; /* 32 bits physical */
-#endif
}
*ebx = 0;
*ecx = 0;
@@ -1861,9 +1849,6 @@ CPUX86State *cpu_x86_init(const char *cpu_model)
}
mce_init(env);
cpu_reset(env);
-#ifdef CONFIG_KQEMU
- kqemu_init(env);
-#endif
return env;
}
diff --git a/target-i386/op_helper.c b/target-i386/op_helper.c
index 6808a3596..c3f5af69b 100644
--- a/target-i386/op_helper.c
+++ b/target-i386/op_helper.c
@@ -1111,14 +1111,6 @@ void helper_sysret(int dflag)
env->eflags |= IF_MASK;
cpu_x86_set_cpl(env, 3);
}
-#ifdef CONFIG_KQEMU
- if (kqemu_is_ok(env)) {
- if (env->hflags & HF_LMA_MASK)
- CC_OP = CC_OP_EFLAGS;
- env->exception_index = -1;
- cpu_loop_exit();
- }
-#endif
}
#endif
@@ -2506,12 +2498,6 @@ void helper_lcall_protected(int new_cs, target_ulong new_eip,
SET_ESP(sp, sp_mask);
EIP = offset;
}
-#ifdef CONFIG_KQEMU
- if (kqemu_is_ok(env)) {
- env->exception_index = -1;
- cpu_loop_exit();
- }
-#endif
}
/* real and vm86 mode iret */
@@ -2792,24 +2778,11 @@ void helper_iret_protected(int shift, int next_eip)
helper_ret_protected(shift, 1, 0);
}
env->hflags2 &= ~HF2_NMI_MASK;
-#ifdef CONFIG_KQEMU
- if (kqemu_is_ok(env)) {
- CC_OP = CC_OP_EFLAGS;
- env->exception_index = -1;
- cpu_loop_exit();
- }
-#endif
}
void helper_lret_protected(int shift, int addend)
{
helper_ret_protected(shift, 0, addend);
-#ifdef CONFIG_KQEMU
- if (kqemu_is_ok(env)) {
- env->exception_index = -1;
- cpu_loop_exit();
- }
-#endif
}
void helper_sysenter(void)
@@ -2882,12 +2855,6 @@ void helper_sysexit(int dflag)
}
ESP = ECX;
EIP = EDX;
-#ifdef CONFIG_KQEMU
- if (kqemu_is_ok(env)) {
- env->exception_index = -1;
- cpu_loop_exit();
- }
-#endif
}
#if defined(CONFIG_USER_ONLY)
@@ -3211,15 +3178,6 @@ void helper_rdmsr(void)
val = env->kernelgsbase;
break;
#endif
-#ifdef CONFIG_KQEMU
- case MSR_QPI_COMMBASE:
- if (env->kqemu_enabled) {
- val = kqemu_comm_base;
- } else {
- val = 0;
- }
- break;
-#endif
case MSR_MTRRphysBase(0):
case MSR_MTRRphysBase(1):
case MSR_MTRRphysBase(2):