qemu-devel
[Top][All Lists]
Advanced

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

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


From: Ronald
Subject: [Qemu-devel] Re: Re: 2.6.10-mm3: swsusp: out of memory on resume
Date: Mon, 17 Jan 2005 19:02:12 +0100
User-agent: Pan/0.14.2 (This is not a psychotic episode. It's a cleansing moment of clarity.)

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;





reply via email to

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