qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Re: Re: 2.6.10-mm3: swsusp: out of memory on resume


From: Fabrice Bellard
Subject: Re: [Qemu-devel] Re: Re: 2.6.10-mm3: swsusp: out of memory on resume
Date: Mon, 17 Jan 2005 22:54:52 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20040913

Hi,

My plan is to add a more generic option to select a given cpu model and to be able to disable or enable some specific features (for example '-cpu p6+pae+sse3', any other suggestions ?), so I prefer not to include this patch now.

Fabrice.

Ronald wrote:
Le Sat, 15 Jan 2005 12:48:54 +0100, Fabrice Bellard a écrit :

Now that SSE and MMX are implemented, no feature is lacking in the QEMU
x86_64 emulation... "just" a problem of debugging now :-)

I did not enable SSE and MMX for x86 because I fear there are still bugs
which may cause regressions. Interested people can enable the line:

--
     env->cpuid_features |= CPUID_FXSR | CPUID_MMX | CPUID_SSE |
CPUID_SSE2 | CPUID_PAE;


What about doing this with qemu options?

Perhaps I'am wrong, but something like that:

--- vl.c.old    2005-01-15 23:49:25.124123925 +0100
+++ vl.c        2005-01-17 17:19:18.528256753 +0100
@@ -134,6 +134,8 @@
 int graphic_height = 600;
 int graphic_depth = 15;
 int full_screen = 0;
+int use_mmx = 0;
+int use_sse = 0;
 TextConsole *vga_console;
 CharDriverState *serial_hds[MAX_SERIAL_PORTS];
 CharDriverState *parallel_hds[MAX_PARALLEL_PORTS];
@@ -2848,6 +2850,8 @@
     QEMU_OPTION_loadvm,
     QEMU_OPTION_full_screen,
     QEMU_OPTION_pidfile,
+       QEMU_OPTION_use_mmx,
+       QEMU_OPTION_use_sse,
 };

 typedef struct QEMUOption {
@@ -2911,7 +2915,10 @@
     { "loadvm", HAS_ARG, QEMU_OPTION_loadvm },
     { "full-screen", 0, QEMU_OPTION_full_screen },
     { "pidfile", HAS_ARG, QEMU_OPTION_pidfile },
-
+#ifdef TARGET_I386
+    { "mmx", 0, QEMU_OPTION_use_mmx },
+    { "sse", 0, QEMU_OPTION_use_sse },
+#endif
     /* temporary options */
     { "pci", 0, QEMU_OPTION_pci },
     { "cirrusvga", 0, QEMU_OPTION_cirrusvga },
@@ -3358,6 +3365,12 @@
             case QEMU_OPTION_pidfile:
                 create_pidfile(optarg);
                 break;
+                       case QEMU_OPTION_use_mmx:
+                           use_mmx = 1;
+                               break;
+                       case QEMU_OPTION_use_sse:
+                               use_sse = 1;
+                               break;
             }
         }
     }
--- vl.h.old    2005-01-17 17:28:37.491471386 +0100
+++ vl.h        2005-01-17 17:19:13.723332164 +0100
@@ -123,6 +123,8 @@
 extern int graphic_width;
 extern int graphic_height;
 extern int graphic_depth;
+extern int use_mmx;
+extern int use_sse;
 extern const char *keyboard_layout;

 /* XXX: make it dynamic */
--- target-i386/helper2.c.old   2005-01-17 17:37:57.199481651 +0100
+++ target-i386/helper2.c       2005-01-17 17:46:18.834424698 +0100
@@ -25,6 +25,7 @@
 #include <signal.h>
 #include <assert.h>

+#include "vl.h"
 #include "cpu.h"
 #include "exec-all.h"

@@ -106,6 +107,13 @@
         env->cpuid_features = (CPUID_FP87 | CPUID_DE | CPUID_PSE |
                                CPUID_TSC | CPUID_MSR | CPUID_MCE |
                                CPUID_CX8 | CPUID_PGE | CPUID_CMOV);
+#ifdef TARGET_I386
+               if(use_mmx == 1)
+                       env->cpuid_features |= CPUID_MMX;
+               if(use_sse == 1)
+                       env->cpuid_features |= CPUID_FXSR | CPUID_SSE;
+#endif
+
 #ifdef TARGET_X86_64
         /* currently not enabled for std i386 because not fully tested */
         env->cpuid_features |= CPUID_FXSR | CPUID_MMX | CPUID_SSE |
         CPUID_SSE2;



_______________________________________________
Qemu-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/qemu-devel








reply via email to

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