Commit 2edcdce334e8bf6143a498550a39e4a363c69bfc

Authored by bellard
1 parent 8853f86e

fpu fix


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@639 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 5 additions and 5 deletions
target-i386/helper.c
@@ -2364,10 +2364,10 @@ void helper_fstenv(uint8_t *ptr, int data32) @@ -2364,10 +2364,10 @@ void helper_fstenv(uint8_t *ptr, int data32)
2364 stl(ptr, env->fpuc); 2364 stl(ptr, env->fpuc);
2365 stl(ptr + 4, fpus); 2365 stl(ptr + 4, fpus);
2366 stl(ptr + 8, fptag); 2366 stl(ptr + 8, fptag);
2367 - stl(ptr + 12, 0);  
2368 - stl(ptr + 16, 0);  
2369 - stl(ptr + 20, 0);  
2370 - stl(ptr + 24, 0); 2367 + stl(ptr + 12, 0); /* fpip */
  2368 + stl(ptr + 16, 0); /* fpcs */
  2369 + stl(ptr + 20, 0); /* fpoo */
  2370 + stl(ptr + 24, 0); /* fpos */
2371 } else { 2371 } else {
2372 /* 16 bit */ 2372 /* 16 bit */
2373 stw(ptr, env->fpuc); 2373 stw(ptr, env->fpuc);
@@ -2396,7 +2396,7 @@ void helper_fldenv(uint8_t *ptr, int data32) @@ -2396,7 +2396,7 @@ void helper_fldenv(uint8_t *ptr, int data32)
2396 } 2396 }
2397 env->fpstt = (fpus >> 11) & 7; 2397 env->fpstt = (fpus >> 11) & 7;
2398 env->fpus = fpus & ~0x3800; 2398 env->fpus = fpus & ~0x3800;
2399 - for(i = 0;i < 7; i++) { 2399 + for(i = 0;i < 8; i++) {
2400 env->fptags[i] = ((fptag & 3) == 3); 2400 env->fptags[i] = ((fptag & 3) == 3);
2401 fptag >>= 2; 2401 fptag >>= 2;
2402 } 2402 }