[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#719531: linux: please apply another m68k patch



Source: linux
Version: 3.10.5-1
Severity: normal
Tags: patch

Hi again,

please apply the attached patch (made against 3.10.5-1) to

- begin updating the d-i config for m68k so Wouter can test them
  in ARAnyM and add the modules needed for each of the different
  bare-metal devices and in general work on it (although I think
  he'd certainly appreciate help with that ;-)

- fix IRQ setup for the atari subarchitecture which used to be
  taken care of by us building six single-platform flavours, but
  which needs special handling on our new one multi-platform kernel
  (taken from mailing list discussion, submitted upstream, will
  continue to prod Geert until it's pushed)

- fix an oops in btrfs caused by it misusing the do_div macro
  by ensuring the second argument is always 32 bits wide, taken
  from a submission by Andreas Schwab

The changelog entries I used when uploading this to debian-ports
unreleased distribution are included for your convenience. Since
I built this using “our normal channels”, the ABI files are also
already available on debian-ports.


-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable'), (100, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.10-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=C, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/lksh
--- linux-3.10.5.orig/debian/changelog	2013-08-07 22:38:46.000000000 +0200
+++ linux-3.10.5/debian/changelog	2013-08-09 22:36:41.000000000 +0200
@@ -1,3 +1,13 @@
+linux (3.10.5-1+m68k.2) unreleased; urgency=low
+
+  * debian/patches/bugfix/m68k/atari-irqs.patch: patch from mailing list
+    to silence IRQ problems on Atari platforms with multi-platform kernel
+  * debian/patches/bugfix/m68k/type-fix-div64.patch: patch from Andreas
+    Schwab to handle do_div being called with a nōn-u32 second argument
+  * m68k: begin working on d-i kernel configs (just enough to not FTBFS)
+
+ -- Thorsten Glaser <tg@mirbsd.de>  Fri, 09 Aug 2013 20:36:12 +0000
+
 linux (3.10.5-1) unstable; urgency=low
 
   * New upstream stable update:
--- linux-3.10.5.orig/debian/installer/m68k/kernel-versions	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/kernel-versions	2013-08-08 22:46:17.000000000 +0200
@@ -1,4 +1,2 @@
 # arch version flavour installedname suffix build-depends
-m68k   -       amiga   -             y      -
-m68k   -       atari   -             y      -
-m68k   -       mac     -             y      -
+m68k   -       m68k    -             -      -
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k/core-modules	1970-01-01 01:00:00.000000000 +0100
+++ linux-3.10.5/debian/installer/m68k/modules/m68k/core-modules	2013-05-19 01:36:34.000000000 +0200
@@ -0,0 +1 @@
+#include <core-modules>
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k/ext2-modules	1970-01-01 01:00:00.000000000 +0100
+++ linux-3.10.5/debian/installer/m68k/modules/m68k/ext2-modules	2013-05-19 01:36:34.000000000 +0200
@@ -0,0 +1 @@
+#include <ext2-modules>
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k/ext3-modules	1970-01-01 01:00:00.000000000 +0100
+++ linux-3.10.5/debian/installer/m68k/modules/m68k/ext3-modules	2013-05-19 01:36:34.000000000 +0200
@@ -0,0 +1,2 @@
+#include <ext3-modules>
+
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k/ext4-modules	1970-01-01 01:00:00.000000000 +0100
+++ linux-3.10.5/debian/installer/m68k/modules/m68k/ext4-modules	2013-05-19 01:36:34.000000000 +0200
@@ -0,0 +1 @@
+#include <ext4-modules>
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k/jfs-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k/jfs-modules	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include <jfs-modules>
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k/nic-shared-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k/nic-shared-modules	2013-08-08 22:39:42.000000000 +0200
@@ -1,11 +1,19 @@
+#include <nic-shared-modules>
+82596 ?
 8390 ?
+8390p ?
+7990 ?
 a2065 ?
 apne ?
 ariadne ?
 ariadne2 ?
+atarilance ?
 dummy
 hydra ?
+mac89x0 ?
+macsonic ?
 zorro8390 ?
 ne ?
 atari_ethernec ?
+smc91x ?
 libphy
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k-mac/btrfs-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k-mac/btrfs-modules	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include <btrfs-modules>
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k-mac/cdrom-core-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k-mac/cdrom-core-modules	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include <cdrom-core-modules>
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k-mac/crc-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k-mac/crc-modules	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include <crc-modules>
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k-mac/crypto-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k-mac/crypto-modules	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include <crypto-modules>
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k-mac/fat-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k-mac/fat-modules	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include <fat-modules>
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k-mac/fuse-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k-mac/fuse-modules	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include <fuse-modules>
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k-mac/isofs-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k-mac/isofs-modules	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include <isofs-modules>
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k-mac/jfs-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k-mac/jfs-modules	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include <jfs-modules>
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k-mac/kernel-image	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k-mac/kernel-image	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-# empty
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k-mac/md-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k-mac/md-modules	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include <md-modules>
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k-mac/nbd-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k-mac/nbd-modules	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include <nbd-modules>
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k-mac/nic-shared-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k-mac/nic-shared-modules	1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-#include "../m68k/nic-shared-modules"
-libphy
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k-mac/ppp-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k-mac/ppp-modules	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include <ppp-modules>
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k-mac/scsi-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k-mac/scsi-modules	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include "../m68k/scsi-modules"
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k-mac/squashfs-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k-mac/squashfs-modules	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include <squashfs-modules>
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k-mac/udf-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k-mac/udf-modules	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include <udf-modules>
--- linux-3.10.5.orig/debian/installer/m68k/modules/m68k-mac/zlib-modules	2013-05-19 01:36:34.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/modules/m68k-mac/zlib-modules	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#include <zlib-modules>
--- linux-3.10.5.orig/debian/installer/m68k/package-list	2013-07-15 01:47:09.000000000 +0200
+++ linux-3.10.5/debian/installer/m68k/package-list	2013-08-08 22:45:12.000000000 +0200
@@ -3,6 +3,7 @@
 # architecture, which is derived from the files in the modules directory.
 # It overwrites specifications from /usr/share/kernel-wedge/package-list.
 #
-Package: kernel-image
-Provides: loop-modules, ext2-modules, ext3-modules
-#Provides_mac: loop-modules, ext2-modules, ext3-modules, hfs-modules
+
+#Package: ide-modules
+# add kernel/drivers/* I think
+# also SCSI drivers are now modular…
--- linux-3.10.5.orig/debian/patches/bugfix/m68k/atari-irqs.patch	1970-01-01 01:00:00.000000000 +0100
+++ linux-3.10.5/debian/patches/bugfix/m68k/atari-irqs.patch	2013-08-12 22:22:01.788754917 +0200
@@ -0,0 +1,18 @@
+From: Thorsten Glaser <tg@debian.org>
+Description: m68k: handle Atari interrupts in multi-platform kernels
+Origin: http://thread.gmane.org/gmane.linux.debian.devel.kernel/91476/focus=5003
+Forwarded: http://thread.gmane.org/gmane.linux.ports.m68k/5009
+
+--- a/arch/m68k/include/asm/irqflags.h
++++ b/arch/m68k/include/asm/irqflags.h
+@@ -67,6 +67,10 @@ static inline void arch_local_irq_restor
+ 
+ static inline bool arch_irqs_disabled_flags(unsigned long flags)
+ {
++	if (MACH_IS_ATARI) {
++		/* Ignore HSYNC = ipl 2 on Atari */
++		return (flags & ~(ALLOWINT | 0x200)) != 0;
++	}
+ 	return (flags & ~ALLOWINT) != 0;
+ }
+ 
--- linux-3.10.5.orig/debian/patches/bugfix/m68k/ethernat-kconfig.patch	2013-07-28 00:47:54.000000000 +0200
+++ linux-3.10.5/debian/patches/bugfix/m68k/ethernat-kconfig.patch	2013-08-12 22:18:20.000000000 +0200
@@ -1,5 +1,6 @@
-# DP: cherry-picked from commit edee09224891c259071238d5a8d2be5e3ca7f09c
-# DP: make SMC91X selectible for ATARI_ETHERNAT
+Author: Michael Schmitz <schmitzmic@gmail.com>
+Description: Make SMC91X driver selectable for ATARI_ETHERNAT boards
+Origin: http://git.kernel.org/cgit/linux/kernel/git/geert/linux-m68k.git/commit/?id=edee09224891c259071238d5a8d2be5e3ca7f09c
 
 --- a/drivers/net/ethernet/smsc/Kconfig
 +++ b/drivers/net/ethernet/smsc/Kconfig
--- linux-3.10.5.orig/debian/patches/bugfix/m68k/type-fix-div64.patch	1970-01-01 01:00:00.000000000 +0100
+++ linux-3.10.5/debian/patches/bugfix/m68k/type-fix-div64.patch	2013-08-12 22:21:34.420847229 +0200
@@ -0,0 +1,38 @@
+From: Andreas Schwab <schwab@linux-m68k.org>
+Message-ID: <871u633t27.fsf@igel.home>
+Date: Fri, 09 Aug 2013 15:14:08 +0200
+Subject: [PATCH] m68k: truncate base in do_div
+Origin: http://thread.gmane.org/gmane.linux.ports.m68k/5008
+
+Explicitly truncate the second operand of do_div to 32 bits to guard
+against bogus code calling it with a 64bit divisor.
+
+Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
+---
+ arch/m68k/include/asm/div64.h | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+--- a/arch/m68k/include/asm/div64.h
++++ b/arch/m68k/include/asm/div64.h
+@@ -15,16 +15,17 @@
+ 		unsigned long long n64;				\
+ 	} __n;							\
+ 	unsigned long __rem, __upper;				\
++	unsigned long __base = (base);				\
+ 								\
+ 	__n.n64 = (n);						\
+ 	if ((__upper = __n.n32[0])) {				\
+ 		asm ("divul.l %2,%1:%0"				\
+-			: "=d" (__n.n32[0]), "=d" (__upper)	\
+-			: "d" (base), "0" (__n.n32[0]));	\
++		     : "=d" (__n.n32[0]), "=d" (__upper)	\
++		     : "d" (__base), "0" (__n.n32[0]));		\
+ 	}							\
+ 	asm ("divu.l %2,%1:%0"					\
+-		: "=d" (__n.n32[1]), "=d" (__rem)		\
+-		: "d" (base), "1" (__upper), "0" (__n.n32[1]));	\
++	     : "=d" (__n.n32[1]), "=d" (__rem)			\
++	     : "d" (__base), "1" (__upper), "0" (__n.n32[1]));	\
+ 	(n) = __n.n64;						\
+ 	__rem;							\
+ })
--- linux-3.10.5.orig/debian/patches/series	2013-08-07 22:33:13.000000000 +0200
+++ linux-3.10.5/debian/patches/series	2013-08-09 22:33:34.000000000 +0200
@@ -114,3 +114,9 @@ bugfix/all/nl80211-fix-another-nl80211_f
 bugfix/all/ext4-fix-retry-handling-in-ext4_ext_truncate.patch
 bugfix/all/atl1c-Fix-misuse-of-netdev_alloc_skb-in-refilling-rx.patch
 bugfix/all/SCSI-Don-t-attempt-to-send-extended-INQUIRY-command-.patch
+
+# m68k IRQ bugfix
+bugfix/m68k/atari-irqs.patch
+
+# m68k workaround for div64 called with wrong type args
+bugfix/m68k/type-fix-div64.patch

Reply to: