diff options
Diffstat (limited to 'sys-kernel/rsbac-dev-sources/files/rsbac-dev-sources.FPULockup-53804.patch')
-rw-r--r-- | sys-kernel/rsbac-dev-sources/files/rsbac-dev-sources.FPULockup-53804.patch | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/sys-kernel/rsbac-dev-sources/files/rsbac-dev-sources.FPULockup-53804.patch b/sys-kernel/rsbac-dev-sources/files/rsbac-dev-sources.FPULockup-53804.patch new file mode 100644 index 000000000000..a813f48ec23b --- /dev/null +++ b/sys-kernel/rsbac-dev-sources/files/rsbac-dev-sources.FPULockup-53804.patch @@ -0,0 +1,24 @@ +diff -Nru a/include/asm-i386/i387.h b/include/asm-i386/i387.h +--- a/include/asm-i386/i387.h 2004-05-06 12:26:10 -07:00 ++++ b/include/asm-i386/i387.h 2004-06-12 19:12:23 -07:00 +@@ -51,7 +51,7 @@ + #define __clear_fpu( tsk ) \ + do { \ + if ((tsk)->thread_info->status & TS_USEDFPU) { \ +- asm volatile("fwait"); \ ++ asm volatile("fnclex ; fwait"); \ + (tsk)->thread_info->status &= ~TS_USEDFPU; \ + stts(); \ + } \ +diff -Nru a/include/asm-x86_64/i387.h b/include/asm-x86_64/i387.h +--- a/include/asm-x86_64/i387.h 2004-06-13 20:43:56.742530792 +0100 ++++ a/include/asm-x86_64/i387.h 2004-06-13 20:42:59.200278544 +0100 +@@ -46,7 +46,7 @@ + + #define clear_fpu(tsk) do { \ + if ((tsk)->thread_info->status & TS_USEDFPU) { \ +- asm volatile("fwait"); \ ++ asm volatile("fnclex; fwait"); \ + (tsk)->thread_info->status &= ~TS_USEDFPU; \ + stts(); \ + } \ |