lkml.org 
[lkml]   [2005]   [Sep]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 2.6.13] i386: Ignore masked FPU exceptions
Chuck Ebbert wrote:
> I think ignoring masked FPU exceptions on i386 is the right thing to do.
> Although there is no documentation available for Cyrix MII, I did find
> erratum F-7 for Winchip C6, "FPU instruction may result in spurious
> exception under certain conditions" which seems to indicate that this can
> happen.
>
> Ondrej, this patch on top of 2.6.13 should fix your Cyrix problems.
> Can you confirm? There was another bug which was already fixed,
> so this should be all that's needed now.

Thanks, it seems to work fine:

rainbow@pentium:~$ ./mprime
Main Menu

1. Test/Primenet
2. Test/User Information
3. Test/Vacation or Holiday
4. Test/Status
5. Test/Continue
6. Test/Exit
7. Advanced/Test
8. Advanced/Time
9. Advanced/P-1
10. Advanced/ECM
11. Advanced/Priority
12. Advanced/Manual Communication
13. Advanced/Unreserve Exponent
14. Advanced/Quit Gimps
15. Options/CPU
16. Options/Preferences
17. Options/Torture Test
18. Options/Benchmark
19. Help/About
20. Help/About PrimeNet Server
Your choice: 17

Beginning a continuous self-test to check your computer.
Please read stress.txt. Hit ^C to end this test.
Test 1, 400 Lucas-Lehmer iterations of M19922945 using 1024K FFT length.
Self-test 1024K passed!
Test 1, 1000 Lucas-Lehmer iterations of M164865 using 8K FFT length.
Test 2, 1000 Lucas-Lehmer iterations of M172031 using 8K FFT length.
Test 3, 1000 Lucas-Lehmer iterations of M157695 using 8K FFT length.
Test 4, 1000 Lucas-Lehmer iterations of M159745 using 8K FFT length.
Test 5, 1000 Lucas-Lehmer iterations of M163839 using 8K FFT length.
Test 6, 1000 Lucas-Lehmer iterations of M150529 using 8K FFT length.
Test 7, 1000 Lucas-Lehmer iterations of M153599 using 8K FFT length.
Test 8, 1000 Lucas-Lehmer iterations of M155649 using 8K FFT length.
Test 9, 1000 Lucas-Lehmer iterations of M141311 using 8K FFT length.
Test 10, 1000 Lucas-Lehmer iterations of M143361 using 8K FFT length.
Test 11, 1000 Lucas-Lehmer iterations of M147455 using 8K FFT length.
Test 12, 1000 Lucas-Lehmer iterations of M135169 using 8K FFT length.
Test 13, 1000 Lucas-Lehmer iterations of M136191 using 8K FFT length.
Test 14, 1000 Lucas-Lehmer iterations of M139265 using 8K FFT length.
Test 15, 1000 Lucas-Lehmer iterations of M129023 using 8K FFT length.
Test 16, 1000 Lucas-Lehmer iterations of M131073 using 8K FFT length.
Test 17, 1000 Lucas-Lehmer iterations of M133119 using 8K FFT length.
Test 18, 1000 Lucas-Lehmer iterations of M117761 using 8K FFT length.
Test 19, 1000 Lucas-Lehmer iterations of M121855 using 8K FFT length.
Self-test 8K passed!
Test 1, 1000 Lucas-Lehmer iterations of M215041 using 10K FFT length.
Test 2, 1000 Lucas-Lehmer iterations of M204799 using 10K FFT length.
Test 3, 1000 Lucas-Lehmer iterations of M208897 using 10K FFT length.
Test 4, 1000 Lucas-Lehmer iterations of M212991 using 10K FFT length.
Test 5, 1000 Lucas-Lehmer iterations of M194561 using 10K FFT length.
Test 6, 1000 Lucas-Lehmer iterations of M196607 using 10K FFT length.
Test 7, 1000 Lucas-Lehmer iterations of M200705 using 10K FFT length.
Test 8, 1000 Lucas-Lehmer iterations of M184319 using 10K FFT length.
Test 9, 1000 Lucas-Lehmer iterations of M186369 using 10K FFT length.
Test 10, 1000 Lucas-Lehmer iterations of M188415 using 10K FFT length.
Test 11, 1000 Lucas-Lehmer iterations of M164865 using 10K FFT length.
Test 12, 1000 Lucas-Lehmer iterations of M172031 using 10K FFT length.
Test 13, 1000 Lucas-Lehmer iterations of M180225 using 10K FFT length.
Test 14, 1000 Lucas-Lehmer iterations of M157695 using 10K FFT length.
Test 15, 1000 Lucas-Lehmer iterations of M159745 using 10K FFT length.
Test 16, 1000 Lucas-Lehmer iterations of M163839 using 10K FFT length.
Test 17, 1000 Lucas-Lehmer iterations of M150529 using 10K FFT length.
Test 18, 1000 Lucas-Lehmer iterations of M153599 using 10K FFT length.
Self-test 10K passed!
Test 1, 400 Lucas-Lehmer iterations of M17825793 using 896K FFT length.
Self-test 896K passed!
Test 1, 400 Lucas-Lehmer iterations of M14942209 using 768K FFT length.
Self-test 768K passed!
Test 1, 1000 Lucas-Lehmer iterations of M243713 using 12K FFT length.
Test 2, 1000 Lucas-Lehmer iterations of M245759 using 12K FFT length.
Test 3, 1000 Lucas-Lehmer iterations of M258049 using 12K FFT length.
Test 4, 1000 Lucas-Lehmer iterations of M229375 using 12K FFT length.
Test 5, 1000 Lucas-Lehmer iterations of M233473 using 12K FFT length.
Test 6, 1000 Lucas-Lehmer iterations of M235519 using 12K FFT length.
Test 7, 1000 Lucas-Lehmer iterations of M215041 using 12K FFT length.
Test 8, 1000 Lucas-Lehmer iterations of M221183 using 12K FFT length.
Test 9, 1000 Lucas-Lehmer iterations of M225281 using 12K FFT length.
Test 10, 1000 Lucas-Lehmer iterations of M204799 using 12K FFT length.
Test 11, 1000 Lucas-Lehmer iterations of M208897 using 12K FFT length.
Test 12, 1000 Lucas-Lehmer iterations of M212991 using 12K FFT length.
Test 13, 1000 Lucas-Lehmer iterations of M194561 using 12K FFT length.
Test 14, 1000 Lucas-Lehmer iterations of M196607 using 12K FFT length.
Test 15, 1000 Lucas-Lehmer iterations of M200705 using 12K FFT length.
Test 16, 1000 Lucas-Lehmer iterations of M184319 using 12K FFT length.
Test 17, 1000 Lucas-Lehmer iterations of M186369 using 12K FFT length.
Test 18, 1000 Lucas-Lehmer iterations of M188415 using 12K FFT length.
Test 19, 1000 Lucas-Lehmer iterations of M164865 using 12K FFT length.
Test 20, 1000 Lucas-Lehmer iterations of M172031 using 12K FFT length.
Self-test 12K passed!
Test 1, 1000 Lucas-Lehmer iterations of M286719 using 14K FFT length.
Test 2, 1000 Lucas-Lehmer iterations of M294913 using 14K FFT length.
Test 3, 1000 Lucas-Lehmer iterations of M301055 using 14K FFT length.
Test 4, 1000 Lucas-Lehmer iterations of M272385 using 14K FFT length.
Test 5, 1000 Lucas-Lehmer iterations of M278527 using 14K FFT length.
Test 6, 1000 Lucas-Lehmer iterations of M282625 using 14K FFT length.
Test 7, 1000 Lucas-Lehmer iterations of M262143 using 14K FFT length.
Test 8, 1000 Lucas-Lehmer iterations of M266241 using 14K FFT length.
Test 9, 1000 Lucas-Lehmer iterations of M270335 using 14K FFT length.
Test 10, 1000 Lucas-Lehmer iterations of M243713 using 14K FFT length.
Test 11, 1000 Lucas-Lehmer iterations of M245759 using 14K FFT length.
Test 12, 1000 Lucas-Lehmer iterations of M258049 using 14K FFT length.
Test 13, 1000 Lucas-Lehmer iterations of M229375 using 14K FFT length.
Test 14, 1000 Lucas-Lehmer iterations of M233473 using 14K FFT length.
Test 15, 1000 Lucas-Lehmer iterations of M235519 using 14K FFT length.
Test 16, 1000 Lucas-Lehmer iterations of M215041 using 14K FFT length.
Self-test 14K passed!
Test 1, 400 Lucas-Lehmer iterations of M12451841 using 640K FFT length.
Self-test 640K passed!
Test 1, 400 Lucas-Lehmer iterations of M10223617 using 512K FFT length.
Self-test 512K passed!
Test 1, 1000 Lucas-Lehmer iterations of M344065 using 16K FFT length.
Test 2, 1000 Lucas-Lehmer iterations of M319487 using 16K FFT length.
Test 3, 1000 Lucas-Lehmer iterations of M327681 using 16K FFT length.
Test 4, 1000 Lucas-Lehmer iterations of M329727 using 16K FFT length.
Test 5, 1000 Lucas-Lehmer iterations of M307201 using 16K FFT length.
Test 6, 1000 Lucas-Lehmer iterations of M311295 using 16K FFT length.
Test 7, 1000 Lucas-Lehmer iterations of M315393 using 16K FFT length.
Test 8, 1000 Lucas-Lehmer iterations of M286719 using 16K FFT length.
Test 9, 1000 Lucas-Lehmer iterations of M294913 using 16K FFT length.
Test 10, 1000 Lucas-Lehmer iterations of M301055 using 16K FFT length.
Test 11, 1000 Lucas-Lehmer iterations of M272385 using 16K FFT length.
Test 12, 1000 Lucas-Lehmer iterations of M278527 using 16K FFT length.
Test 13, 1000 Lucas-Lehmer iterations of M282625 using 16K FFT length.
Test 14, 1000 Lucas-Lehmer iterations of M262143 using 16K FFT length.
Test 15, 1000 Lucas-Lehmer iterations of M266241 using 16K FFT length.
Self-test 16K passed!
Test 1, 1000 Lucas-Lehmer iterations of M417791 using 20K FFT length.
Test 2, 1000 Lucas-Lehmer iterations of M425985 using 20K FFT length.
Test 3, 1000 Lucas-Lehmer iterations of M430079 using 20K FFT length.
Test 4, 1000 Lucas-Lehmer iterations of M393217 using 20K FFT length.
Test 5, 1000 Lucas-Lehmer iterations of M401407 using 20K FFT length.
Test 6, 1000 Lucas-Lehmer iterations of M409601 using 20K FFT length.
Test 7, 1000 Lucas-Lehmer iterations of M372735 using 20K FFT length.
Test 8, 1000 Lucas-Lehmer iterations of M376833 using 20K FFT length.
Test 9, 1000 Lucas-Lehmer iterations of M389119 using 20K FFT length.
Test 10, 1000 Lucas-Lehmer iterations of M344065 using 20K FFT length.
Test 11, 1000 Lucas-Lehmer iterations of M360447 using 20K FFT length.
Self-test 20K passed!
Test 1, 400 Lucas-Lehmer iterations of M8716289 using 448K FFT length.
Self-test 448K passed!
Test 1, 400 Lucas-Lehmer iterations of M7471105 using 384K FFT length.
Test 2, 400 Lucas-Lehmer iterations of M7471103 using 384K FFT length.
Self-test 384K passed!
Test 1, 1000 Lucas-Lehmer iterations of M491521 using 24K FFT length.
Test 2, 1000 Lucas-Lehmer iterations of M466943 using 24K FFT length.
Test 3, 1000 Lucas-Lehmer iterations of M471041 using 24K FFT length.
Test 4, 1000 Lucas-Lehmer iterations of M487423 using 24K FFT length.
Test 5, 1000 Lucas-Lehmer iterations of M442369 using 24K FFT length.
Test 6, 1000 Lucas-Lehmer iterations of M450559 using 24K FFT length.
Test 7, 1000 Lucas-Lehmer iterations of M458753 using 24K FFT length.
Test 8, 1000 Lucas-Lehmer iterations of M417791 using 24K FFT length.
Test 9, 1000 Lucas-Lehmer iterations of M425985 using 24K FFT length.
Self-test 24K passed!
Test 1, 1000 Lucas-Lehmer iterations of M589823 using 28K FFT length.
Test 2, 1000 Lucas-Lehmer iterations of M557057 using 28K FFT length.
Test 3, 1000 Lucas-Lehmer iterations of M565247 using 28K FFT length.
Test 4, 1000 Lucas-Lehmer iterations of M573441 using 28K FFT length.
Test 5, 1000 Lucas-Lehmer iterations of M532479 using 28K FFT length.
Test 6, 1000 Lucas-Lehmer iterations of M540673 using 28K FFT length.
Test 7, 1000 Lucas-Lehmer iterations of M544767 using 28K FFT length.
Self-test 28K passed!
Test 1, 400 Lucas-Lehmer iterations of M6422529 using 320K FFT length.
Test 2, 400 Lucas-Lehmer iterations of M6422527 using 320K FFT length.
Self-test 320K passed!
Test 1, 400 Lucas-Lehmer iterations of M5242881 using 256K FFT length.
Torture Test ran 6 hours, 6 minutes - 0 errors, 0 warnings.


> Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
>
> arch/i386/kernel/traps.c | 5 +++--
> 1 files changed, 3 insertions(+), 2 deletions(-)
>
> --- 2.6.13a.orig/arch/i386/kernel/traps.c
> +++ 2.6.13a/arch/i386/kernel/traps.c
> @@ -804,8 +804,9 @@ void math_error(void __user *eip)
> cwd = get_fpu_cwd(task);
> swd = get_fpu_swd(task);
> switch (swd & ~cwd & 0x3f) {
> - case 0x000:
> - default:
> + case 0x000: /* No unmasked exception */
> + return;
> + default: /* Multiple exceptions */
> break;
> case 0x001: /* Invalid Op */
> /*
> __
> Chuck
>


--
Ondrej Zary
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-09-13 22:49    [W:0.036 / U:2.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site