Re: [Qemu-devel] cvttps2dq, movdq2q, movq2dq incorrect behaviour

2006-06-21 Thread malc

On Wed, 21 Jun 2006, Julian Seward wrote:



Malc, your sse-movq.patch works for me.  Thanks.


soft-float was a red herring, translate.c is at fault here (interpreter
does not use it, hence behaved correctly)

translate.c:3009
if (b1 = 2  ((b = 0x50  b = 0x5f) ||
 b == 0xc2)) {
 /* specific case for SSE single instructions */
 if (b1 == 2) {
 /* 32 bit access */
 gen_op_ld_T0_A0[OT_LONG + s-mem_index]();
 gen_op_movl_env_T0(offsetof(CPUX86State,xmm_t0.XMM_L(0)));
 } else {
 /* 64 bit access */
 gen_ldq_env_A0[s-mem_index 
2](offsetof(CPUX86State,xmm_t0.XMM_D(0))); }
} else {
 gen_ldo_env_A0[s-mem_index  2](op2_offset);
}

cvttps2dq is 0x5b(b=0x5b) with repn prefix (b1=2) the above code is
optimized a bit more than it should have been, as it loads only 4 bytes
into xmm_t0 instead of 16.


Uh, fine, but I don't understand how/what to fix.  Can you advise?


Following will fix the _specific_ case of cvttps2dq, ideally one
should go through all the [0x50..0x5f, 0xc2] with (repnz,repz prefix)
range and check wether the rules imposed by the above snippet apply.

--- /mnt/big/npf/cvs/qemux/qemu/target-i386/translate.c Tue Jun 20 15:19:20 2006
+++ translate.c Tue Jun 20 18:17:19 2006
@@ -3009,7 +3009,9 @@
 if (b1 = 2  ((b = 0x50  b = 0x5f) ||
 b == 0xc2)) {
 /* specific case for SSE single instructions */
-if (b1 == 2) {
+if (b1 == 2  b == 0x5b) {
+gen_ldo_env_A0[s-mem_index  
2](offsetof(CPUX86State,xmm_t0.XMM_Q(0)));
+} else if (b1 == 2) {
 /* 32 bit access */
 gen_op_ld_T0_A0[OT_LONG + s-mem_index]();
 
gen_op_movl_env_T0(offsetof(CPUX86State,xmm_t0.XMM_L(0)));

--
mailto:[EMAIL PROTECTED]


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


Re: [Qemu-devel] cvttps2dq, movdq2q, movq2dq incorrect behaviour

2006-06-21 Thread malc

On Wed, 21 Jun 2006, malc wrote:


On Wed, 21 Jun 2006, Julian Seward wrote:



Malc, your sse-movq.patch works for me.  Thanks.


soft-float was a red herring, translate.c is at fault here (interpreter
does not use it, hence behaved correctly)


[..snip..]



cvttps2dq is 0x5b(b=0x5b) with repn prefix (b1=2) the above code is
optimized a bit more than it should have been, as it loads only 4 bytes
into xmm_t0 instead of 16.


Uh, fine, but I don't understand how/what to fix.  Can you advise?


Following will fix the _specific_ case of cvttps2dq, ideally one
should go through all the [0x50..0x5f, 0xc2] with (repnz,repz prefix)
range and check wether the rules imposed by the above snippet apply.


[..snip..]





It appears that cvttps2dq is indeed the only exception in the range,
combined patch that fixes both movd?q2d?q and cvttps2dq is attached.

I don't have any kind of SSE on this machine so would apprecaite if
someone would run tests/test-i386 with the patch attached.

--
mailto:[EMAIL PROTECTED]Index: target-i386/translate.c
===
RCS file: /cvsroot/qemu/qemu/target-i386/translate.c,v
retrieving revision 1.57
diff -u -u -r1.57 translate.c
--- target-i386/translate.c 14 Jun 2006 14:29:34 -  1.57
+++ target-i386/translate.c 21 Jun 2006 11:01:47 -
@@ -2947,15 +2947,15 @@
 case 0x2d6: /* movq2dq */
 gen_op_enter_mmx();
 rm = (modrm  7) | REX_B(s);
-gen_op_movq(offsetof(CPUX86State,xmm_regs[rm].XMM_Q(0)),
-offsetof(CPUX86State,fpregs[reg  7].mmx));
-gen_op_movq_env_0(offsetof(CPUX86State,xmm_regs[rm].XMM_Q(1)));
+gen_op_movq(offsetof(CPUX86State,xmm_regs[reg  7].XMM_Q(0)),
+offsetof(CPUX86State,fpregs[rm].mmx));
+gen_op_movq_env_0(offsetof(CPUX86State,xmm_regs[reg  
7].XMM_Q(1)));
 break;
 case 0x3d6: /* movdq2q */
 gen_op_enter_mmx();
 rm = (modrm  7);
-gen_op_movq(offsetof(CPUX86State,fpregs[rm].mmx),
-offsetof(CPUX86State,xmm_regs[reg].XMM_Q(0)));
+gen_op_movq(offsetof(CPUX86State,fpregs[reg].mmx),
+offsetof(CPUX86State,xmm_regs[rm].XMM_Q(0)));
 break;
 case 0xd7: /* pmovmskb */
 case 0x1d7:
@@ -3006,8 +3006,9 @@
 if (mod != 3) {
 gen_lea_modrm(s, modrm, reg_addr, offset_addr);
 op2_offset = offsetof(CPUX86State,xmm_t0);
-if (b1 = 2  ((b = 0x50  b = 0x5f) ||
-b == 0xc2)) {
+if (!(b1 == 2  b == 0x5b) 
+(b1 = 2  ((b = 0x50  b = 0x5f) ||
+b == 0xc2))) {
 /* specific case for SSE single instructions */
 if (b1 == 2) {
 /* 32 bit access */
___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] [PATCH] Soft float for Sparc32/64 (update)

2006-06-21 Thread Blue Swirl
Last time I missed a lot of the functions, this version should be complete. 
I see no difference in operation with or without the patch. Comments?


Description:
Change all uses of float/double and related functions in Sparc32/64 to
soft float replacements.

_
Express yourself instantly with MSN Messenger! Download today it's FREE! 
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/


sparc-softfloat.diff.bz2
Description: Binary data
___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] qemu/linux-user main.c syscall.c

2006-06-21 Thread Fabrice Bellard
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Fabrice Bellard bellard   06/06/21 18:15:50

Modified files:
linux-user : main.c syscall.c 

Log message:
sparc user fixes (Blue Swirl)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/main.c?cvsroot=qemur1=1.88r2=1.89
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/syscall.c?cvsroot=qemur1=1.72r2=1.73

Patches:
Index: main.c
===
RCS file: /sources/qemu/qemu/linux-user/main.c,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -b -r1.88 -r1.89
--- main.c  18 Jun 2006 19:12:54 -  1.88
+++ main.c  21 Jun 2006 18:15:50 -  1.89
@@ -598,7 +598,8 @@
 #else
// XXX
 #endif
-   case 0x100: // XXX, why do we get these?
+case EXCP_INTERRUPT:
+/* just indicate that signals should be handled asap */
break;
 case EXCP_DEBUG:
 {

Index: syscall.c
===
RCS file: /sources/qemu/qemu/linux-user/syscall.c,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -b -r1.72 -r1.73
--- syscall.c   14 Jun 2006 13:36:59 -  1.72
+++ syscall.c   21 Jun 2006 18:15:50 -  1.73
@@ -1538,6 +1538,11 @@
 new_env-regs[13] = newsp;
 new_env-regs[0] = 0;
 #elif defined(TARGET_SPARC)
+if (!newsp)
+newsp = env-regwptr[22];
+new_env-regwptr[22] = newsp;
+new_env-regwptr[0] = 0;
+   /* X */
 printf (HELPME: %s:%d\n, __FILE__, __LINE__);
 #elif defined(TARGET_MIPS)
 printf (HELPME: %s:%d\n, __FILE__, __LINE__);
@@ -3598,10 +3603,14 @@
 case TARGET_NR_get_thread_area:
 goto unimplemented_nowarn;
 #endif
+#ifdef TARGET_NR_getdomainname
+case TARGET_NR_getdomainname:
+goto unimplemented_nowarn;
+#endif
 default:
 unimplemented:
 gemu_log(qemu: Unsupported syscall: %d\n, num);
-#if defined(TARGET_NR_setxattr) || defined(TARGET_NR_set_thread_area)
+#if defined(TARGET_NR_setxattr) || defined(TARGET_NR_set_thread_area) || 
defined(TARGET_NR_getdomainname)
 unimplemented_nowarn:
 #endif
 ret = -ENOSYS;


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


[Qemu-devel] qemu/target-sparc translate.c

2006-06-21 Thread Fabrice Bellard
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Fabrice Bellard bellard   06/06/21 18:26:15

Modified files:
target-sparc   : translate.c 

Log message:
sparc branch fix (Blue Swirl)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sparc/translate.c?cvsroot=qemur1=1.27r2=1.28

Patches:
Index: translate.c
===
RCS file: /sources/qemu/qemu/target-sparc/translate.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- translate.c 18 Jun 2006 19:36:58 -  1.27
+++ translate.c 21 Jun 2006 18:26:15 -  1.28
@@ -956,8 +956,8 @@
int cc;
 
target = GET_FIELD_SP(insn, 0, 18);
-   target = 2;
target = sign_extend(target, 18);
+   target = 2;
cc = GET_FIELD_SP(insn, 20, 21);
if (cc == 0)
do_branch(dc, target, insn, 0);
@@ -971,8 +971,8 @@
{
target = GET_FIELD_SP(insn, 0, 13) | 
(GET_FIELD_SP(insn, 20, 21)  7);
-   target = 2;
target = sign_extend(target, 16);
+   target = 2;
rs1 = GET_FIELD(insn, 13, 17);
gen_movl_reg_T0(rs1);
do_branch_reg(dc, target, insn);
@@ -986,8 +986,8 @@
gen_op_trap_ifnofpu();
 #endif
target = GET_FIELD_SP(insn, 0, 18);
-   target = 2;
target = sign_extend(target, 19);
+   target = 2;
do_fbranch(dc, target, insn, cc);
goto jmp_insn;
}
@@ -995,8 +995,8 @@
case 0x2:   /* BN+x */
{
target = GET_FIELD(insn, 10, 31);
-   target = 2;
target = sign_extend(target, 22);
+   target = 2;
do_branch(dc, target, insn, 0);
goto jmp_insn;
}
@@ -1007,8 +1007,8 @@
gen_op_trap_ifnofpu();
 #endif
target = GET_FIELD(insn, 10, 31);
-   target = 2;
target = sign_extend(target, 22);
+   target = 2;
do_fbranch(dc, target, insn, 0);
goto jmp_insn;
}


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


[Qemu-devel] qemu configure target-sparc/cpu.h target-sparc/...

2006-06-21 Thread Fabrice Bellard
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Fabrice Bellard bellard   06/06/21 18:37:05

Modified files:
.  : configure 
target-sparc   : cpu.h op.c op_helper.c 

Log message:
soft floats for SPARC (Blue Swirl)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/configure?cvsroot=qemur1=1.108r2=1.109
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sparc/cpu.h?cvsroot=qemur1=1.21r2=1.22
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sparc/op.c?cvsroot=qemur1=1.19r2=1.20
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sparc/op_helper.c?cvsroot=qemur1=1.19r2=1.20

Patches:
Index: configure
===
RCS file: /sources/qemu/qemu/configure,v
retrieving revision 1.108
retrieving revision 1.109
diff -u -b -r1.108 -r1.109
--- configure   18 Jun 2006 19:16:53 -  1.108
+++ configure   21 Jun 2006 18:37:05 -  1.109
@@ -850,7 +850,7 @@
   echo #define CONFIG_USER_ONLY 1  $config_h
 fi
 
-if test $target_cpu = arm -o $target_cpu = armeb ; then
+if test $target_cpu = arm -o $target_cpu = armeb -o $target_cpu = 
sparc -o $target_cpu = sparc64; then
   echo CONFIG_SOFTFLOAT=yes  $config_mak
   echo #define CONFIG_SOFTFLOAT 1  $config_h
 fi

Index: target-sparc/cpu.h
===
RCS file: /sources/qemu/qemu/target-sparc/cpu.h,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- target-sparc/cpu.h  5 Dec 2005 20:31:52 -   1.21
+++ target-sparc/cpu.h  21 Jun 2006 18:37:05 -  1.22
@@ -12,7 +12,7 @@
 #define TARGET_FPREGS 64
 #define TARGET_PAGE_BITS 12 /* XXX */
 #endif
-#define TARGET_FPREG_T float
+#define TARGET_FPREG_T float32
 
 #include cpu-defs.h
 
@@ -146,7 +146,7 @@
 typedef struct CPUSPARCState {
 target_ulong gregs[8]; /* general registers */
 target_ulong *regwptr; /* pointer to current register window */
-TARGET_FPREG_Tfpr[TARGET_FPREGS];  /* floating point registers */
+float32 fpr[TARGET_FPREGS];  /* floating point registers */
 target_ulong pc;   /* program counter */
 target_ulong npc;  /* next program counter */
 target_ulong y;/* multiply/divide register */
@@ -187,8 +187,8 @@
 uint32_t mmuregs[16];
 #endif
 /* temporary float registers */
-float ft0, ft1;
-double dt0, dt1;
+float32 ft0, ft1;
+float64 dt0, dt1;
 float_status fp_status;
 #if defined(TARGET_SPARC64)
 #define MAXTL 4
@@ -236,8 +236,6 @@
 CPUSPARCState *cpu_sparc_init(void);
 int cpu_sparc_exec(CPUSPARCState *s);
 int cpu_sparc_close(CPUSPARCState *s);
-void cpu_get_fp64(uint64_t *pmant, uint16_t *pexp, double f);
-double cpu_put_fp64(uint64_t mant, uint16_t exp);
 
 /* Fake impl 0, version 4 */
 #define GET_PSR(env) ((0  28) | (4  24) | (env-psr  PSR_ICC) |   \

Index: target-sparc/op.c
===
RCS file: /sources/qemu/qemu/target-sparc/op.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- target-sparc/op.c   23 Apr 2006 21:33:48 -  1.19
+++ target-sparc/op.c   21 Jun 2006 18:37:05 -  1.20
@@ -1339,94 +1339,66 @@
 helper_flush(T0);
 }
 
-void OPPROTO op_fnegs(void)
-{
-FT0 = -FT1;
-}
-
-void OPPROTO op_fabss(void)
-{
-do_fabss();
-}
+#define F_OP(name, p) void OPPROTO op_f##name##p(void)
 
-#ifdef TARGET_SPARC64
-void OPPROTO op_fnegd(void)
-{
-DT0 = -DT1;
-}
-
-void OPPROTO op_fabsd(void)
-{
-do_fabsd();
-}
-#endif
-
-void OPPROTO op_fsqrts(void)
-{
-do_fsqrts();
-}
-
-void OPPROTO op_fsqrtd(void)
-{
-do_fsqrtd();
-}
-
-void OPPROTO op_fmuls(void)
-{
-FT0 *= FT1;
-}
+#define F_BINOP(name)   \
+F_OP(name, s)   \
+{   \
+FT0 = float32_ ## name (FT0, FT1, env-fp_status); \
+}   \
+F_OP(name, d)   \
+{   \
+DT0 = float64_ ## name (DT0, DT1, env-fp_status); \
+}
 
-void OPPROTO op_fmuld(void)
-{
-DT0 *= DT1;
-}
+F_BINOP(add);
+F_BINOP(sub);
+F_BINOP(mul);
+F_BINOP(div);
+#undef F_BINOP
 
 void OPPROTO op_fsmuld(void)
 {
-DT0 = FT0 * FT1;
-}
-
-void OPPROTO op_fadds(void)
-{
-FT0 += FT1;
+DT0 = float64_mul(float32_to_float64(FT0, env-fp_status),
+  float32_to_float64(FT1, env-fp_status),
+  env-fp_status);
 }
 
-void OPPROTO op_faddd(void)
-{
-DT0 += DT1;
-}
+#define F_HELPER(name)\
+F_OP(name, s) \
+{ \
+do_f##name##s();  \
+} \
+F_OP(name, d) \
+{ \
+do_f##name##d();  \
+}
 
-void 

[Qemu-devel] QEMU GUI

2006-06-21 Thread Fabrice Bellard

Hi,

Concerning the QEMU GUI, my mind slightly evolved since my last posts on 
the topic: I think that a wxWidgets GUI would be the best as it is 
reasonnably portable and because it uses the native GUIs.


If someone is interested, I am ready to try to include such a GUI in the 
QEMU repository even if it is not usable yet.


Regards,

Fabrice.


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


[Qemu-devel] qemu vl.c target-sparc/cpu.h

2006-06-21 Thread Fabrice Bellard
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Fabrice Bellard bellard   06/06/21 18:48:02

Modified files:
.  : vl.c 
target-sparc   : cpu.h 

Log message:
fixed sparc64 cpu fp save/restore

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/vl.c?cvsroot=qemur1=1.189r2=1.190
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sparc/cpu.h?cvsroot=qemur1=1.22r2=1.23

Patches:
Index: vl.c
===
RCS file: /sources/qemu/qemu/vl.c,v
retrieving revision 1.189
retrieving revision 1.190
diff -u -b -r1.189 -r1.190
--- vl.c14 Jun 2006 17:32:25 -  1.189
+++ vl.c21 Jun 2006 18:48:00 -  1.190
@@ -4146,11 +4146,11 @@
 /* FPU */
 for(i = 0; i  TARGET_FPREGS; i++) {
 union {
-TARGET_FPREG_T f;
-target_ulong i;
+float32 f;
+uint32_t i;
 } u;
 u.f = env-fpr[i];
-qemu_put_betl(f, u.i);
+qemu_put_be32(f, u.i);
 }
 
 qemu_put_betls(f, env-pc);
@@ -4182,10 +4182,10 @@
 /* FPU */
 for(i = 0; i  TARGET_FPREGS; i++) {
 union {
-TARGET_FPREG_T f;
-target_ulong i;
+float32 f;
+uint32_t i;
 } u;
-u.i = qemu_get_betl(f);
+u.i = qemu_get_be32(f);
 env-fpr[i] = u.f;
 }
 

Index: target-sparc/cpu.h
===
RCS file: /sources/qemu/qemu/target-sparc/cpu.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- target-sparc/cpu.h  21 Jun 2006 18:37:05 -  1.22
+++ target-sparc/cpu.h  21 Jun 2006 18:48:01 -  1.23
@@ -12,7 +12,6 @@
 #define TARGET_FPREGS 64
 #define TARGET_PAGE_BITS 12 /* XXX */
 #endif
-#define TARGET_FPREG_T float32
 
 #include cpu-defs.h
 


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


Re: [Qemu-devel] QEMU GUI

2006-06-21 Thread Mike Kronenberg

Great Idea...

This would be in c++ then, or do You fancy another wxWidget flavour?  
(I remember You did not like c++ in QEMU)


If people are interested, we could try to port Q as a base, since  
it's going to be obsolete anyway (either by the new QEMU GUI or  
leopard)... :)

http://www.kju-app.org
http://www.kju-app.org/proj (trac)

Mike

On 21.06.2006, at 20:11, Fabrice Bellard wrote:


Hi,

Concerning the QEMU GUI, my mind slightly evolved since my last  
posts on the topic: I think that a wxWidgets GUI would be the best  
as it is reasonnably portable and because it uses the native GUIs.


If someone is interested, I am ready to try to include such a GUI  
in the QEMU repository even if it is not usable yet.


Regards,

Fabrice.


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




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


[Qemu-devel] QEMU FreeBSD 6.1 npxdna: fpcurthread == curthread spewage

2006-06-21 Thread Zach Metzinger

Hi-

I'm using qemu-0.8.1 under FreeBSD 6.1-RELEASE from ports with
kqemu-1.3.0pre7 (also from ports). The guest OS is Windows XP SP2.
When I use the -kernel-kqemu flag to qemu, I get the following kernel
console messages:

Jun 21 14:04:57 jitter kernel: npxdna: fpcurthread == curthread 5173 times
Jun 21 14:04:57 jitter kernel: npxdna: fpcurthread == curthread 5174 times
...

This happens quite a bit (5-10 a second) when using any block device.
I assume this is because kernel I/O calls are being virtualized and
are the cause of this.

When I do not use -kernel-kqemu, I do not get these messages. In both
cases, Windows appears to work fine.

This thread:
http://tinyurl.com/mbm5l
appears to have some information on why this happens. Has a patch been
released to fix this bug?

--- Zach


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


[Qemu-devel] qemu qemu-doc.texi

2006-06-21 Thread Fabrice Bellard
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Fabrice Bellard bellard   06/06/21 21:19:50

Modified files:
.  : qemu-doc.texi 

Log message:
more info about -std-vga

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/qemu-doc.texi?cvsroot=qemur1=1.95r2=1.96

Patches:
Index: qemu-doc.texi
===
RCS file: /sources/qemu/qemu/qemu-doc.texi,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -b -r1.95 -r1.96
--- qemu-doc.texi   16 Jun 2006 21:48:48 -  1.95
+++ qemu-doc.texi   21 Jun 2006 21:19:50 -  1.96
@@ -556,7 +556,10 @@
 
 @item -std-vga
 Simulate a standard VGA card with Bochs VBE extensions (default is
-Cirrus Logic GD5446 PCI VGA)
+Cirrus Logic GD5446 PCI VGA). If your guest OS supports the VESA 2.0
+VBE extensions (e.g. Windows XP) and if you want to use high
+resolution modes (= 1280x1024x16) then you should use this option.
+
 @item -loadvm file
 Start right away with a saved state (@code{loadvm} in monitor)
 @end table
@@ -1260,6 +1263,11 @@
 and use this graphic card. For optimal performances, use 16 bit color
 depth in the guest and the host OS.
 
+If you are using Windows XP as guest OS and if you want to use high
+resolution modes which the Cirrus Logic BIOS does not support (i.e. =
+1280x1024x16), then you should use the VESA VBE virtual graphic card
+(option @option{-std-vga}).
+
 @subsubsection CPU usage reduction
 
 Windows 9x does not correctly use the CPU HLT


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


Re: [Qemu-devel] QEMU FreeBSD 6.1 npxdna: fpcurthread == curthread spewage

2006-06-21 Thread Fabrice Bellard
There is a bug in the FPU virtualization in kqemu which is only visible 
in the kernel virtualization case. I am trying a fix.


Fabrice.

Zach Metzinger wrote:

Hi-

I'm using qemu-0.8.1 under FreeBSD 6.1-RELEASE from ports with
kqemu-1.3.0pre7 (also from ports). The guest OS is Windows XP SP2.
When I use the -kernel-kqemu flag to qemu, I get the following kernel
console messages:

Jun 21 14:04:57 jitter kernel: npxdna: fpcurthread == curthread 5173 times
Jun 21 14:04:57 jitter kernel: npxdna: fpcurthread == curthread 5174 times
...

This happens quite a bit (5-10 a second) when using any block device.
I assume this is because kernel I/O calls are being virtualized and
are the cause of this.

When I do not use -kernel-kqemu, I do not get these messages. In both
cases, Windows appears to work fine.

This thread:
http://tinyurl.com/mbm5l
appears to have some information on why this happens. Has a patch been
released to fix this bug?

--- Zach


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






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


Re: [Qemu-devel] cvttps2dq, movdq2q, movq2dq incorrect behaviour

2006-06-21 Thread Julian Seward

 It appears that cvttps2dq is indeed the only exception in the range,
 combined patch that fixes both movd?q2d?q and cvttps2dq is attached.

 I don't have any kind of SSE on this machine so would apprecaite if
 someone would run tests/test-i386 with the patch attached.

That works for me.  Thanks.  Valgrind's integer/x87/MMX/SSE/SSE2 tests 
now all pass on i386-softmmu.  I didn't try tests/test-i386 though.

Fabrice, can you commit this?

J


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


Re: [Qemu-devel] QEMU FreeBSD 6.1 npxdna: fpcurthread == curthread spewage

2006-06-21 Thread Zach Metzinger

Let me know if you need any testing. I have both 6.1-RELEASE and
5.3-RELEASE machines on which to test.

Thanks, and this is a truly great bit of software!

--- Zach

On 6/21/06, Fabrice Bellard [EMAIL PROTECTED] wrote:

There is a bug in the FPU virtualization in kqemu which is only visible
in the kernel virtualization case. I am trying a fix.

Fabrice.

Zach Metzinger wrote:
 Hi-

 I'm using qemu-0.8.1 under FreeBSD 6.1-RELEASE from ports with
 kqemu-1.3.0pre7 (also from ports). The guest OS is Windows XP SP2.
 When I use the -kernel-kqemu flag to qemu, I get the following kernel
 console messages:

 Jun 21 14:04:57 jitter kernel: npxdna: fpcurthread == curthread 5173 times
 Jun 21 14:04:57 jitter kernel: npxdna: fpcurthread == curthread 5174 times
 ...

 This happens quite a bit (5-10 a second) when using any block device.
 I assume this is because kernel I/O calls are being virtualized and
 are the cause of this.

 When I do not use -kernel-kqemu, I do not get these messages. In both
 cases, Windows appears to work fine.

 This thread:
 http://tinyurl.com/mbm5l
 appears to have some information on why this happens. Has a patch been
 released to fix this bug?

 --- Zach


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





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




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