From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1CqbQU-00036m-7t for qemu-devel@nongnu.org; Mon, 17 Jan 2005 13:16:30 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1CqbQR-000359-AL for qemu-devel@nongnu.org; Mon, 17 Jan 2005 13:16:28 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1CqbQQ-00034L-CE for qemu-devel@nongnu.org; Mon, 17 Jan 2005 13:16:26 -0500 Received: from [80.91.229.2] (helo=main.gmane.org) by monty-python.gnu.org with esmtp (Exim 4.34) id 1CqbCx-0001dA-Eu for qemu-devel@nongnu.org; Mon, 17 Jan 2005 13:02:31 -0500 Received: from list by main.gmane.org with local (Exim 3.35 #1 (Debian)) id 1CqbCw-0000Na-00 for ; Mon, 17 Jan 2005 19:02:30 +0100 Received: from amarseille-206-1-15-186.w81-49.abo.wanadoo.fr ([81.49.203.186]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 17 Jan 2005 19:02:30 +0100 Received: from daimon55 by amarseille-206-1-15-186.w81-49.abo.wanadoo.fr with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 17 Jan 2005 19:02:30 +0100 From: Ronald Date: Mon, 17 Jan 2005 19:02:12 +0100 Message-ID: References: <200501131909.26021.rjw@sisk.pl> <20050114143400.GA27657@hugang.soulinfo.com> <200501150042.35377.rjw@sisk.pl> <20050115012120.GA4743@hugang.soulinfo.com> <41E90326.2020901@bellard.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 8bit Sender: news Subject: [Qemu-devel] Re: Re: 2.6.10-mm3: swsusp: out of memory on resume Reply-To: daimon55@free.fr, qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org 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 #include +#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;