[kernel] r7672 - in dists/trunk/linux-2.6/debian: .
patches/bugfix/powerpc patches/series
Sven Luther
luther at alioth.debian.org
Wed Nov 1 09:00:32 CET 2006
Author: luther
Date: Wed Nov 1 09:00:32 2006
New Revision: 7672
Added:
dists/trunk/linux-2.6/debian/patches/bugfix/powerpc/interrupt-alignement.patch
Modified:
dists/trunk/linux-2.6/debian/changelog
dists/trunk/linux-2.6/debian/patches/series/4
Log:
Added interrupt alignement patch from Benjamin Herrenschmidt.
Modified: dists/trunk/linux-2.6/debian/changelog
==============================================================================
--- dists/trunk/linux-2.6/debian/changelog (original)
+++ dists/trunk/linux-2.6/debian/changelog Wed Nov 1 09:00:32 2006
@@ -38,7 +38,10 @@
* r8169: pull revert mac address change support.
* [amd64]: Add upstream fix C3 timer test for dual core laptops.
- -- maximilian attems <maks at sternwelten.at> Mon, 30 Oct 2006 16:54:29 +0100
+ [ Sven Luther ]
+ * [powerpc] Added exception alignement patch from Benjamin Herrenschmidt.
+
+ -- Sven Luther <sven at tael.powerlinux.fr> Wed, 1 Nov 2006 08:57:13 +0100
linux-2.6 (2.6.18-3) unstable; urgency=low
Added: dists/trunk/linux-2.6/debian/patches/bugfix/powerpc/interrupt-alignement.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/powerpc/interrupt-alignement.patch Wed Nov 1 09:00:32 2006
@@ -0,0 +1,39 @@
+# Fixes exceptions alignement.
+# Author: Benjamin Herrenschmidt benh at kernel.crashing.org
+# Reference: http://ozlabs.org/pipermail/linuxppc-dev/2006-October/027374.html
+# Upstream: will be pushed upstream.
+
+Index: linux-work/arch/powerpc/kernel/traps.c
+===================================================================
+--- linux-work.orig/arch/powerpc/kernel/traps.c 2006-10-23 14:41:37.000000000 +1000
++++ linux-work/arch/powerpc/kernel/traps.c 2006-10-30 13:59:41.000000000 +1100
+@@ -843,7 +843,7 @@ void __kprobes program_check_exception(s
+
+ void alignment_exception(struct pt_regs *regs)
+ {
+- int fixed = 0;
++ int sig, fixed = 0;
+
+ /* we don't implement logging of alignment exceptions */
+ if (!(current->thread.align_ctl & PR_UNALIGN_SIGBUS))
+@@ -856,15 +856,11 @@ void alignment_exception(struct pt_regs
+ }
+
+ /* Operand address was bad */
+- if (fixed == -EFAULT) {
+- if (user_mode(regs))
+- _exception(SIGSEGV, regs, SEGV_ACCERR, regs->dar);
+- else
+- /* Search exception table */
+- bad_page_fault(regs, regs->dar, SIGSEGV);
+- return;
+- }
+- _exception(SIGBUS, regs, BUS_ADRALN, regs->dar);
++ sig = fixed == -EFAULT ? SIGSEGV : SIGBUS;
++ if (user_mode(regs))
++ _exception(sig, regs, SEGV_ACCERR, regs->dar);
++ else
++ bad_page_fault(regs, regs->dar, sig);
+ }
+
+ void StackOverflow(struct pt_regs *regs)
Modified: dists/trunk/linux-2.6/debian/patches/series/4
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/4 (original)
+++ dists/trunk/linux-2.6/debian/patches/series/4 Wed Nov 1 09:00:32 2006
@@ -20,3 +20,4 @@
+ features/arm/ixp4xx-0.2.1-driver.patch
+ features/arm/ixp4xx-net-driver-fix-qmgr.patch
+ features/arm/ixp4xx-net-driver-improve-mac-handling.patch
++ bugfix/powerpc/interrupt-alignement.patch
More information about the Kernel-svn-changes
mailing list