summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-05-10 12:39:11 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-05-10 12:39:11 +0000
commit3acace1333d6b75628fe6e6786ad3cd2db766f0e (patch)
tree3fe9509a023e47b2e820226246f07328a487cf7a
parent0221cfcd719f7f37566048e2a90cdfa5c3136148 (diff)
downloadfocaccia-qemu-3acace1333d6b75628fe6e6786ad3cd2db766f0e.tar.gz
focaccia-qemu-3acace1333d6b75628fe6e6786ad3cd2db766f0e.zip
removed unnecessary VME support - fixed selector GPF exception
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@140 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--op-i386.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/op-i386.c b/op-i386.c
index 10dfd8472a..fe1f7eb9db 100644
--- a/op-i386.c
+++ b/op-i386.c
@@ -654,8 +654,8 @@ void OPPROTO op_sti(void)
     env->eflags |= IF_MASK;
 }
 
+#if 0
 /* vm86plus instructions */
-
 void OPPROTO op_cli_vm(void)
 {
     env->eflags &= ~VIF_MASK;
@@ -670,6 +670,7 @@ void OPPROTO op_sti_vm(void)
     }
     FORCE_RET();
 }
+#endif
 
 void OPPROTO op_boundw(void)
 {
@@ -939,7 +940,7 @@ void helper_cpuid(void)
         EAX = 0x52b;
         EBX = 0;
         ECX = 0;
-        EDX = CPUID_FP87 | CPUID_VME | CPUID_DE | CPUID_PSE |
+        EDX = CPUID_FP87 | CPUID_DE | CPUID_PSE |
             CPUID_TSC | CPUID_MSR | CPUID_MCE |
             CPUID_CX8;
     }
@@ -1091,7 +1092,6 @@ void load_seg(int seg_reg, int selector)
     uint32_t e1, e2;
     uint8_t *ptr;
 
-    env->segs[seg_reg] = selector;
     sc = &env->seg_cache[seg_reg];
     if (env->eflags & VM_MASK) {
         sc->base = (void *)(selector << 4);
@@ -1118,6 +1118,7 @@ void load_seg(int seg_reg, int selector)
                 selector, (unsigned long)sc->base, sc->limit, sc->seg_32bit);
 #endif
     }
+    env->segs[seg_reg] = selector;
 }
 
 void OPPROTO op_movl_seg_T0(void)
@@ -1317,7 +1318,8 @@ void OPPROTO op_movw_eflags_T0(void)
     env->eflags = (env->eflags & ~FL_UPDATE_MASK16) | (eflags & FL_UPDATE_MASK16);
 }
 
-/* vm86 version */
+#if 0
+/* vm86plus version */
 void OPPROTO op_movw_eflags_T0_vm(void)
 {
     int eflags;
@@ -1355,6 +1357,7 @@ void OPPROTO op_movl_eflags_T0_vm(void)
     }
     FORCE_RET();
 }
+#endif
 
 /* XXX: compute only O flag */
 void OPPROTO op_movb_eflags_T0(void)
@@ -1373,7 +1376,8 @@ void OPPROTO op_movl_T0_eflags(void)
     T0 = eflags;
 }
 
-/* vm86 version */
+/* vm86plus version */
+#if 0
 void OPPROTO op_movl_T0_eflags_vm(void)
 {
     int eflags;
@@ -1384,6 +1388,7 @@ void OPPROTO op_movl_T0_eflags_vm(void)
         eflags |= IF_MASK;
     T0 = eflags;
 }
+#endif
 
 void OPPROTO op_cld(void)
 {