Author: fireball
Date: Sun Oct 14 16:20:48 2007
New Revision: 29558
URL: http://svn.reactos.org/svn/reactos?rev=29558&view=rev
Log:
- Fixed a typo in the line which lead to actual zeroing of mxcsr, instead of zeroing only reserved bits (spotted by Kamil Hornicek aka "Pigglesworth").
- Improved the fix by actually applying the mask prepared earlier during kernel init (this is a more proper way to clear reserved bits of mxcsr).
- SSE/SSE2/etc is not broken anymore.
See issue #2748 for more details.
Modified:
trunk/reactos/ntoskrnl/ke/i386/exp.c
Modified: trunk/reactos/ntoskrnl/ke/i386/exp.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/i386/exp.c?rev…
==============================================================================
--- trunk/reactos/ntoskrnl/ke/i386/exp.c (original)
+++ trunk/reactos/ntoskrnl/ke/i386/exp.c Sun Oct 14 16:20:48 2007
@@ -460,7 +460,7 @@
MAXIMUM_SUPPORTED_EXTENSION);
/* Remove reserved bits from MXCSR */
- FxSaveArea->U.FxArea.MXCsr &= ~0xFFBF;
+ FxSaveArea->U.FxArea.MXCsr &= KiMXCsrMask;
/* Mask out any invalid flags */
FxSaveArea->Cr0NpxState &= ~(CR0_EM | CR0_MP | CR0_TS);