add more patches from linux-mips' linux-2.6.18-stable GIT tree

svn path=/dists/trunk/linux-2.6/; revision=7617
This commit is contained in:
Martin Michlmayr 2006-10-16 15:11:19 +00:00
parent 251ede742c
commit 1645bd5bec
5 changed files with 108 additions and 0 deletions

3
debian/changelog vendored
View File

@ -100,6 +100,9 @@ linux-2.6 (2.6.18-3) UNRELEASED; urgency=low
- BCM1480: Mask pending interrupts against c0_status.im.
- Cobalt: Time runs too quickly
- Show actual CPU information in /proc/cpuinfo
- Workaround for bug in gcc -EB / -EL options
- Do not use -msym32 option for modules
- Fix O32 personality(2) call with 0xffffffff argument
[ dann frazier ]
* [ia64]: Fix booting on HP cell systems, thanks to Troy Heber

View File

@ -0,0 +1,31 @@
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date: Tue, 10 Oct 2006 13:13:55 +0000 (+0900)
Subject: [MIPS] Do not use -msym32 option for modules.
X-Git-Url: http://www.linux-mips.org/git?p=linux.git;a=commitdiff_plain;h=c3a0eb881338608c32ff01da824da63e84aa6c8b;hp=ac5c84216a96351e2083f45e86295d934856873c
[MIPS] Do not use -msym32 option for modules.
On 64-bit kernel, modules are loaded into XKSEG for now. While XKSEG
address is not a sign-extended 32-bit address, we can not use -msym32
option.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
(cherry picked from ca78b1a5c6a6e70e052d3ea253828e49b5d07c8a commit)
---
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 7b3a4fc..6aba9d4 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -63,7 +63,9 @@ cflags-y += -mabi=64
ifdef CONFIG_BUILD_ELF64
cflags-y += $(call cc-option,-mno-explicit-relocs)
else
-cflags-y += $(call cc-option,-msym32)
+# -msym32 can not be used for modules since they are loaded into XKSEG
+CFLAGS_MODULE += $(call cc-option,-mno-explicit-relocs)
+CFLAGS_KERNEL += $(call cc-option,-msym32)
endif
endif

View File

@ -0,0 +1,31 @@
From: Thiemo Seufer <ths@networkno.de>
Date: Sat, 12 Aug 2006 23:53:29 +0000 (+0100)
Subject: [MIPS] Fix O32 personality(2) call with 0xffffffff argument.
X-Git-Url: http://www.linux-mips.org/git?p=linux.git;a=commitdiff_plain;h=55ceaed731ab2d60d855ebec59586fa3a327eebb;hp=005f7e56e5e4b7cb3e7b1df4b5ab950c5fc293bb
[MIPS] Fix O32 personality(2) call with 0xffffffff argument.
A sign extension bug did result in sys_personality being invoked with a
0xffffffffffffffffUL argument, so querying the current personality didn't
work.
Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
(cherry picked from 8a43b10e297799553ff13793a84d1369c2af97b8 commit)
---
diff --git a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c
index dc500e2..4b8cdc3 100644
--- a/arch/mips/kernel/linux32.c
+++ b/arch/mips/kernel/linux32.c
@@ -1053,7 +1053,9 @@ asmlinkage long sys32_newuname(struct ne
asmlinkage int sys32_personality(unsigned long personality)
{
int ret;
- if (current->personality == PER_LINUX32 && personality == PER_LINUX)
+ personality &= 0xffffffff;
+ if (personality(current->personality) == PER_LINUX32 &&
+ personality == PER_LINUX)
personality = PER_LINUX32;
ret = sys_personality(personality);
if (ret == PER_LINUX32)

View File

@ -0,0 +1,40 @@
From: Ralf Baechle <ralf@linux-mips.org>
Date: Tue, 10 Oct 2006 14:44:10 +0000 (+0100)
Subject: [MIPS] Workaround for bug in gcc -EB / -EL options.
X-Git-Url: http://www.linux-mips.org/git?p=linux.git;a=commitdiff_plain;h=ac5c84216a96351e2083f45e86295d934856873c;hp=df58f5ceeb135ebbc502e62d94c73b3c8f126bdb
[MIPS] Workaround for bug in gcc -EB / -EL options.
Certain gcc versions upto gcc 4.1.1 (probably 4.2-subversion as of
2006-10-10 don't properly change the the predefined symbols if -EB / -EL
are used, so we kludge that here. A bug has been filed at
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29413.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
(cherry picked from c996701ba987f44aca1982360dc6407f140229ef commit)
---
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index f4227d2..7b3a4fc 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -91,8 +91,17 @@ # to compile kernels with a toolchain fo
# carefully avoid to add it redundantly because gcc 3.3/3.4 complains
# when fed the toolchain default!
#
-cflags-$(CONFIG_CPU_BIG_ENDIAN) += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' && echo -EB -D__MIPSEB__)
-cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' || echo -EL -D__MIPSEL__)
+# Certain gcc versions upto gcc 4.1.1 (probably 4.2-subversion as of
+# 2006-10-10 don't properly change the the predefined symbols if -EB / -EL
+# are used, so we kludge that here. A bug has been filed at
+# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29413.
+#
+undef-all += -UMIPSEB -U_MIPSEB -U__MIPSEB -U__MIPSEB__
+undef-all += -UMIPSEL -U_MIPSEL -U__MIPSEL -U__MIPSEL__
+predef-be += -DMIPSEB -D_MIPSEB -D__MIPSEB -D__MIPSEB__
+predef-le += -DMIPSEL -D_MIPSEL -D__MIPSEL -D__MIPSEL__
+cflags-$(CONFIG_CPU_BIG_ENDIAN) += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' && echo -EB $(undef-all) $(predef-be))
+cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += $(shell $(CC) -dumpmachine |grep -q 'mips.*el-.*' || echo -EL $(undef-all) $(predef-le))
cflags-$(CONFIG_SB1XXX_CORELIS) += $(call cc-option,-mno-sched-prolog) \
-fno-omit-frame-pointer

View File

@ -4,6 +4,9 @@
+ bugfix/mips/sb1480_interrupt_fixes.patch
+ bugfix/mips/cobalt_hz.patch
+ bugfix/mips/real-cpu-cpuinfo.patch
+ bugfix/mips/modules_msym32.patch
+ bugfix/mips/workaround_gcc_options.patch
+ bugfix/mips/o32_personality.patch
+ bugfix/sky2-receive-FIFO-fix.patch
+ features/all/drivers/scsi-ahci-cleanup-1.patch
+ features/all/drivers/scsi-ahci-cleanup-2.patch