qvm86-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[qvm86-devel] [PATCH] Fix x86_64 system emulation with qvm86 patchset


From: Gwenole Beauchesne
Subject: [qvm86-devel] [PATCH] Fix x86_64 system emulation with qvm86 patchset
Date: Thu, 2 Jun 2005 23:36:20 +0200 (CEST)

Hi,

If people were using the qvm86 patchset, the following patch fixes x86-64 
system emulation mode. i.e. avoid removal of necessary cpuid flags used in 
long mode detection (PGE, PSE).

I admit I haven't tested with qvm86 module since I don't have a 32-bit 
system at home.

2005-06-02  Gwenole Beauchesne  <address@hidden>

        * target-i386/helper2.c (cpu_x86_init): Page Size Extension and
        Global Paging Extension are necessary for x86-64 system emulation.

--- qemu-0.7.0/target-i386/helper2.c.qvm86-cpu-features-fix     2005-06-02 
21:41:51.000000000 +0200
+++ qemu-0.7.0/target-i386/helper2.c    2005-06-02 22:33:55.000000000 +0200
@@ -104,11 +104,15 @@ CPUX86State *cpu_x86_init(void)
 #endif
         env->cpuid_level = 2;
         env->cpuid_version = (family << 8) | (model << 4) | stepping;
-        env->cpuid_features = (CPUID_FP87 | CPUID_DE | /*CPUID_PSE |*/
+        env->cpuid_features = (CPUID_FP87 | CPUID_DE | CPUID_PSE |
                                CPUID_TSC | CPUID_MSR | CPUID_MCE |
-                               CPUID_CX8 | /* CPUID_PGE | */ CPUID_CMOV);
+                               CPUID_CX8 | CPUID_PGE | CPUID_CMOV);
         env->cpuid_ext_features = 0;
-        env->cpuid_features |= CPUID_FXSR | CPUID_MMX | CPUID_SSE | CPUID_SSE2 
| CPUID_PAE /*| CPUID_SEP*/;
+        env->cpuid_features |= CPUID_FXSR | CPUID_MMX | CPUID_SSE | CPUID_SSE2 
| CPUID_PAE | CPUID_SEP;
+#if defined USE_KQEMU && defined TARGET_I386
+        /* XXX: disable these for now */
+        env->cpuid_features &= ~(CPUID_PSE | CPUID_PGE | CPUID_SEP);
+#endif
         env->cpuid_xlevel = 0;
         {
             const char *model_id = "QEMU Virtual CPU version " QEMU_VERSION;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]