From: bellard Date: Wed, 25 Feb 2004 23:15:06 +0000 (+0000) Subject: fpu fix X-Git-Tag: release_0_9_0-iwjtag~1756 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=2edcdce334e8bf6143a498550a39e4a363c69bfc;p=qemu-xen-4.4-testing.git fpu fix git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@639 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/target-i386/helper.c b/target-i386/helper.c index 31168573e..0c320836c 100644 --- a/target-i386/helper.c +++ b/target-i386/helper.c @@ -2364,10 +2364,10 @@ void helper_fstenv(uint8_t *ptr, int data32) stl(ptr, env->fpuc); stl(ptr + 4, fpus); stl(ptr + 8, fptag); - stl(ptr + 12, 0); - stl(ptr + 16, 0); - stl(ptr + 20, 0); - stl(ptr + 24, 0); + stl(ptr + 12, 0); /* fpip */ + stl(ptr + 16, 0); /* fpcs */ + stl(ptr + 20, 0); /* fpoo */ + stl(ptr + 24, 0); /* fpos */ } else { /* 16 bit */ stw(ptr, env->fpuc); @@ -2396,7 +2396,7 @@ void helper_fldenv(uint8_t *ptr, int data32) } env->fpstt = (fpus >> 11) & 7; env->fpus = fpus & ~0x3800; - for(i = 0;i < 7; i++) { + for(i = 0;i < 8; i++) { env->fptags[i] = ((fptag & 3) == 3); fptag >>= 2; }