[Top][All Lists]
[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;
Message not available