summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Yamin <plasmaroo@gentoo.org>2004-06-15 16:54:18 +0000
committerTim Yamin <plasmaroo@gentoo.org>2004-06-15 16:54:18 +0000
commit83da7745d5b517059e1542fb8cd42273318aa4b2 (patch)
treec30759ef241a558ce0bcde2c187d05b40c8f6fed /sys-kernel/uclinux-sources/files
parentVersion bumped. Closes 52955. (Manifest recommit) (diff)
downloadgentoo-2-83da7745d5b517059e1542fb8cd42273318aa4b2.tar.gz
gentoo-2-83da7745d5b517059e1542fb8cd42273318aa4b2.tar.bz2
gentoo-2-83da7745d5b517059e1542fb8cd42273318aa4b2.zip
Added patches for the FPU-lockup issues; please see bug #58304 for details.
Diffstat (limited to 'sys-kernel/uclinux-sources/files')
-rw-r--r--sys-kernel/uclinux-sources/files/digest-uclinux-sources-2.4.26_p0-r1 (renamed from sys-kernel/uclinux-sources/files/digest-uclinux-sources-2.4.26_p0)0
-rw-r--r--sys-kernel/uclinux-sources/files/digest-uclinux-sources-2.6.6_p0-r1 (renamed from sys-kernel/uclinux-sources/files/digest-uclinux-sources-2.6.6_p0)0
-rw-r--r--sys-kernel/uclinux-sources/files/uclinux-sources-2.4.26_p0.FPULockup-53804.patch11
-rw-r--r--sys-kernel/uclinux-sources/files/uclinux-sources-2.6.5_p0.CAN-2004-0109.patch88
-rw-r--r--sys-kernel/uclinux-sources/files/uclinux-sources-2.6.6_p0.FPULockup-53804.patch24
5 files changed, 35 insertions, 88 deletions
diff --git a/sys-kernel/uclinux-sources/files/digest-uclinux-sources-2.4.26_p0 b/sys-kernel/uclinux-sources/files/digest-uclinux-sources-2.4.26_p0-r1
index 130b229c980e..130b229c980e 100644
--- a/sys-kernel/uclinux-sources/files/digest-uclinux-sources-2.4.26_p0
+++ b/sys-kernel/uclinux-sources/files/digest-uclinux-sources-2.4.26_p0-r1
diff --git a/sys-kernel/uclinux-sources/files/digest-uclinux-sources-2.6.6_p0 b/sys-kernel/uclinux-sources/files/digest-uclinux-sources-2.6.6_p0-r1
index 19f5d1d1ba26..19f5d1d1ba26 100644
--- a/sys-kernel/uclinux-sources/files/digest-uclinux-sources-2.6.6_p0
+++ b/sys-kernel/uclinux-sources/files/digest-uclinux-sources-2.6.6_p0-r1
diff --git a/sys-kernel/uclinux-sources/files/uclinux-sources-2.4.26_p0.FPULockup-53804.patch b/sys-kernel/uclinux-sources/files/uclinux-sources-2.4.26_p0.FPULockup-53804.patch
new file mode 100644
index 000000000000..1dd5ed87b520
--- /dev/null
+++ b/sys-kernel/uclinux-sources/files/uclinux-sources-2.4.26_p0.FPULockup-53804.patch
@@ -0,0 +1,11 @@
+--- linux-2.4/include/asm-i386/i387.h 2004-06-13 20:06:05.044881328 +0100
++++ linux-2.4/include/asm-i386/i387.h 2004-06-13 20:25:42.836829736 +0100
+@@ -34,7 +34,7 @@
+
+ #define clear_fpu( tsk ) do { \
+ if ( tsk->flags & PF_USEDFPU ) { \
+- asm volatile("fwait"); \
++ asm volatile("fnclex ; fwait"); \
+ tsk->flags &= ~PF_USEDFPU; \
+ stts(); \
+ } \
diff --git a/sys-kernel/uclinux-sources/files/uclinux-sources-2.6.5_p0.CAN-2004-0109.patch b/sys-kernel/uclinux-sources/files/uclinux-sources-2.6.5_p0.CAN-2004-0109.patch
deleted file mode 100644
index d7726c2e5aaf..000000000000
--- a/sys-kernel/uclinux-sources/files/uclinux-sources-2.6.5_p0.CAN-2004-0109.patch
+++ /dev/null
@@ -1,88 +0,0 @@
---- linux/fs/isofs/rock.c.orig
-+++ linux/fs/isofs/rock.c
-@@ -14,6 +14,7 @@
- #include <linux/slab.h>
- #include <linux/pagemap.h>
- #include <linux/smp_lock.h>
- #include <linux/buffer_head.h>
-+#include <asm/page.h>
-
- #include "rock.h"
-@@ -419,7 +420,7 @@ int parse_rock_ridge_inode_internal(stru
- return 0;
- }
-
--static char *get_symlink_chunk(char *rpnt, struct rock_ridge *rr)
-+static char *get_symlink_chunk(char *rpnt, struct rock_ridge *rr, char *plimit)
- {
- int slen;
- int rootflag;
-@@ -431,16 +432,25 @@ static char *get_symlink_chunk(char *rpn
- rootflag = 0;
- switch (slp->flags & ~1) {
- case 0:
-+ if (slp->len > plimit - rpnt)
-+ return NULL;
- memcpy(rpnt, slp->text, slp->len);
- rpnt+=slp->len;
- break;
-+ case 2:
-+ if (rpnt >= plimit)
-+ return NULL;
-+ *rpnt++='.';
-+ break;
- case 4:
-+ if (2 > plimit - rpnt)
-+ return NULL;
- *rpnt++='.';
-- /* fallthru */
-- case 2:
- *rpnt++='.';
- break;
- case 8:
-+ if (rpnt >= plimit)
-+ return NULL;
- rootflag = 1;
- *rpnt++='/';
- break;
-@@ -457,17 +467,23 @@ static char *get_symlink_chunk(char *rpn
- * If there is another SL record, and this component
- * record isn't continued, then add a slash.
- */
-- if ((!rootflag) && (rr->u.SL.flags & 1) && !(oldslp->flags & 1))
-+ if ((!rootflag) && (rr->u.SL.flags & 1) &&
-+ !(oldslp->flags & 1)) {
-+ if (rpnt >= plimit)
-+ return NULL;
- *rpnt++='/';
-+ }
- break;
- }
-
- /*
- * If this component record isn't continued, then append a '/'.
- */
-- if (!rootflag && !(oldslp->flags & 1))
-+ if (!rootflag && !(oldslp->flags & 1)) {
-+ if (rpnt >= plimit)
-+ return NULL;
- *rpnt++='/';
--
-+ }
- }
- return rpnt;
- }
-@@ -548,7 +564,10 @@ static int rock_ridge_symlink_readpage(s
- CHECK_SP(goto out);
- break;
- case SIG('S', 'L'):
-- rpnt = get_symlink_chunk(rpnt, rr);
-+ rpnt = get_symlink_chunk(rpnt, rr,
-+ link + (PAGE_SIZE - 1));
-+ if (rpnt == NULL)
-+ goto out;
- break;
- case SIG('C', 'E'):
- /* This tells is if there is a continuation record */
-
-
diff --git a/sys-kernel/uclinux-sources/files/uclinux-sources-2.6.6_p0.FPULockup-53804.patch b/sys-kernel/uclinux-sources/files/uclinux-sources-2.6.6_p0.FPULockup-53804.patch
new file mode 100644
index 000000000000..a813f48ec23b
--- /dev/null
+++ b/sys-kernel/uclinux-sources/files/uclinux-sources-2.6.6_p0.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(); \
+ } \