[kernel] r7585 - in dists/trunk/linux-2.6/debian: . patches/bugfix/mips patches/series

Martin Michlmayr tbm at costa.debian.org
Mon Oct 9 10:04:56 UTC 2006


Author: tbm
Date: Mon Oct  9 10:04:54 2006
New Revision: 7585

Added:
   dists/trunk/linux-2.6/debian/patches/bugfix/mips/
   dists/trunk/linux-2.6/debian/patches/bugfix/mips/cobalt_hz.patch
   dists/trunk/linux-2.6/debian/patches/bugfix/mips/fstatat_syscall_names.patch
   dists/trunk/linux-2.6/debian/patches/bugfix/mips/headers_install-add.patch
   dists/trunk/linux-2.6/debian/patches/bugfix/mips/o32_fstatat_syscall.patch
   dists/trunk/linux-2.6/debian/patches/bugfix/mips/real-cpu-cpuinfo.patch
   dists/trunk/linux-2.6/debian/patches/bugfix/mips/sb1250_interrupt_fixes.patch
   dists/trunk/linux-2.6/debian/patches/bugfix/mips/sb1480_interrupt_fixes.patch
Modified:
   dists/trunk/linux-2.6/debian/changelog
   dists/trunk/linux-2.6/debian/patches/series/3

Log:
Apply some patches from linux-mips' linux-2.6.18-stable GIT tree


Modified: dists/trunk/linux-2.6/debian/changelog
==============================================================================
--- dists/trunk/linux-2.6/debian/changelog	(original)
+++ dists/trunk/linux-2.6/debian/changelog	Mon Oct  9 10:04:54 2006
@@ -15,6 +15,16 @@
   [ maximilian attems ]
   * [mipsel] Disable CONFIG_SECURITY_SECLVL on DECstations too.
 
+  [ Martin Michlmayr ]
+  * [mips] Apply some patches from linux-mips' linux-2.6.18-stable GIT tree:
+    - The o32 fstatat syscall behaves differently on 32 and 64 bit kernels
+    - fstatat syscall names
+    - Have headers_install install <asm/cachectl.h> and <asm/sysmips.h>.
+    - SB1250: Interrupt handler fixes
+    - BCM1480: Mask pending interrupts against c0_status.im.
+    - Cobalt: Time runs too quickly
+    - Show actual CPU information in /proc/cpuinfo
+
  -- maximilian attems <maks at sternwelten.at>  Thu,  5 Oct 2006 17:10:46 +0200
 
 linux-2.6 (2.6.18-2) unstable; urgency=low

Added: dists/trunk/linux-2.6/debian/patches/bugfix/mips/cobalt_hz.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/mips/cobalt_hz.patch	Mon Oct  9 10:04:54 2006
@@ -0,0 +1,29 @@
+From: Scott Ashcroft <scott.ashcroft at talk21.com>
+Date: Fri, 6 Oct 2006 15:54:54 +0000 (+0100)
+Subject: [MIPS] Cobalt: Time runs too quickly
+X-Git-Tag: linux-1.1.68
+X-Git-Url: http://www.linux-mips.org/git?p=linux.git;a=commitdiff;h=57d3404f99d0b3848131e1467d7d2467f2415e4a
+
+[MIPS] Cobalt: Time runs too quickly
+
+A kernel built with HZ==250 runs about 4 four times too quickly on a
+Cobalt RaQ2.
+
+Signed-off-by: Scott Ashcroft <scott.ashcroft at talk21.com>
+Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
+(cherry picked from a49ead7800722591d9862c1d7f075fed9c767bc5 commit)
+---
+
+--- a/arch/mips/cobalt/setup.c
++++ b/arch/mips/cobalt/setup.c
+@@ -51,8 +51,8 @@ const char *get_system_type(void)
+ 
+ void __init plat_timer_setup(struct irqaction *irq)
+ {
+-	/* Load timer value for 1KHz (TCLK is 50MHz) */
+-	GALILEO_OUTL(50*1000*1000 / 1000, GT_TC0_OFS);
++	/* Load timer value for HZ (TCLK is 50MHz) */
++	GALILEO_OUTL(50*1000*1000 / HZ, GT_TC0_OFS);
+ 
+ 	/* Enable timer */
+ 	GALILEO_OUTL(GALILEO_ENTC0 | GALILEO_SELTC0, GT_TC_CONTROL_OFS);

Added: dists/trunk/linux-2.6/debian/patches/bugfix/mips/fstatat_syscall_names.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/mips/fstatat_syscall_names.patch	Mon Oct  9 10:04:54 2006
@@ -0,0 +1,57 @@
+From: Richard Sandiford <richard at codesourcery.com>
+Date: Sun, 17 Sep 2006 19:38:39 +0000 (+0100)
+Subject: [MIPS] fstatat syscall names
+X-Git-Tag: linux-1.1.68
+X-Git-Url: http://www.linux-mips.org/git?p=linux.git;a=commitdiff;h=7b2b78a2e0960138002f01a2e5d63a961180dd5c
+
+[MIPS] fstatat syscall names
+
+MIPS is the only port to call its fstatat()-related syscalls
+"__NR_fstatat".  Now I can see why that might be seen as every
+other port being wrong, but I think for o32, it is at best confusing.
+__NR_fstat provides a plain (32-bit) stat while __NR_fstatat provides a
+64-bit stat.  Changing the name to __NR_fstatat64 would make things more
+explicit, match x86, and make the glibc port slightly easier.
+
+The current name is more appropriate for n32 and n64, but it would be
+appropriate for other 64-bit targets too, and those targets have chosen
+to call it __NR_newfstatat instead.  Using the same name for MIPS would
+again be more consistent and make the glibc port slightly easier.
+
+I'm not wedded to this idea if the current names are preferred,
+but FWIW...
+
+Signed-off-by: Richard Sandiford <richard at codesourcery.com>
+Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
+(cherry picked from 3e60ebf8d477c95168708c64ed60823a08f559f0 commit)
+---
+
+--- a/include/asm-mips/unistd.h
++++ b/include/asm-mips/unistd.h
+@@ -313,7 +313,7 @@
+ #define __NR_mknodat			(__NR_Linux + 290)
+ #define __NR_fchownat			(__NR_Linux + 291)
+ #define __NR_futimesat			(__NR_Linux + 292)
+-#define __NR_fstatat			(__NR_Linux + 293)
++#define __NR_fstatat64			(__NR_Linux + 293)
+ #define __NR_unlinkat			(__NR_Linux + 294)
+ #define __NR_renameat			(__NR_Linux + 295)
+ #define __NR_linkat			(__NR_Linux + 296)
+@@ -600,7 +600,7 @@
+ #define __NR_mknodat			(__NR_Linux + 249)
+ #define __NR_fchownat			(__NR_Linux + 250)
+ #define __NR_futimesat			(__NR_Linux + 251)
+-#define __NR_fstatat			(__NR_Linux + 252)
++#define __NR_newfstatat			(__NR_Linux + 252)
+ #define __NR_unlinkat			(__NR_Linux + 253)
+ #define __NR_renameat			(__NR_Linux + 254)
+ #define __NR_linkat			(__NR_Linux + 255)
+@@ -891,7 +891,7 @@
+ #define __NR_mknodat			(__NR_Linux + 253)
+ #define __NR_fchownat			(__NR_Linux + 254)
+ #define __NR_futimesat			(__NR_Linux + 255)
+-#define __NR_fstatat			(__NR_Linux + 256)
++#define __NR_newfstatat			(__NR_Linux + 256)
+ #define __NR_unlinkat			(__NR_Linux + 257)
+ #define __NR_renameat			(__NR_Linux + 258)
+ #define __NR_linkat			(__NR_Linux + 259)

Added: dists/trunk/linux-2.6/debian/patches/bugfix/mips/headers_install-add.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/mips/headers_install-add.patch	Mon Oct  9 10:04:54 2006
@@ -0,0 +1,19 @@
+From: Ralf Baechle <ralf at linux-mips.org>
+Date: Sat, 23 Sep 2006 17:08:36 +0000 (+0100)
+Subject: [MIPS] Have headers_install install <asm/cachectl.h> and <asm/sysmips.h>.
+X-Git-Tag: linux-1.1.68
+X-Git-Url: http://www.linux-mips.org/git?p=linux.git;a=commitdiff;h=e70d9b79a35ac822ec5913278d2472aa728d1476
+
+[MIPS] Have headers_install install <asm/cachectl.h> and <asm/sysmips.h>.
+
+Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
+(cherry picked from 2ff556ab120549346660fd7e0cd25782ebe5381d commit)
+---
+
+--- a/include/asm-mips/Kbuild
++++ b/include/asm-mips/Kbuild
+@@ -1,3 +1,3 @@
+ include include/asm-generic/Kbuild.asm
+ 
+-header-y += sgidefs.h
++header-y += cachectl.h sgidefs.h sysmips.h

Added: dists/trunk/linux-2.6/debian/patches/bugfix/mips/o32_fstatat_syscall.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/mips/o32_fstatat_syscall.patch	Mon Oct  9 10:04:54 2006
@@ -0,0 +1,34 @@
+From: Richard Sandiford <richard at codesourcery.com>
+Date: Sun, 17 Sep 2006 19:30:46 +0000 (+0100)
+Subject: [MIPS] The o32 fstatat syscall behaves differently on 32 and 64 bit kernels
+X-Git-Tag: linux-1.1.68
+X-Git-Url: http://www.linux-mips.org/git?p=linux.git;a=commitdiff;h=ee0e97c8177cdc1362f34ac64445671c8ba3a813
+
+[MIPS] The o32 fstatat syscall behaves differently on 32 and 64 bit kernels
+
+While working on a glibc patch to support the fstatat() functions[1],
+I noticed that the o32 implementation behaves differently on 32-bit and
+64-bit kernels; the former provides a stat64 while the latter provides
+a plain (o32) stat.  I think the former is what's intended, as there is
+no separate fstatat64.  It's also what x86 does.
+
+I think this is just a case of a compat too far.
+
+[1] I've seen Khem's patch, but I don't think it's right.
+
+Signed-off-by: Richard Sandiford <richard at codesourcery.com>
+Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
+(cherry picked from c38c8f19bd7566743fd80c1d42f54c9a5a5d1443 commit)
+---
+
+--- a/arch/mips/kernel/scall64-o32.S
++++ b/arch/mips/kernel/scall64-o32.S
+@@ -498,7 +498,7 @@ sys_call_table:
+ 	PTR	sys_mknodat			/* 4290 */
+ 	PTR	sys_fchownat
+ 	PTR	compat_sys_futimesat
+-	PTR	compat_sys_newfstatat
++	PTR	sys_newfstatat
+ 	PTR	sys_unlinkat
+ 	PTR	sys_renameat			/* 4295 */
+ 	PTR	sys_linkat

Added: dists/trunk/linux-2.6/debian/patches/bugfix/mips/real-cpu-cpuinfo.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/mips/real-cpu-cpuinfo.patch	Mon Oct  9 10:04:54 2006
@@ -0,0 +1,52 @@
+From: Karl-Johan Karlsson <creideiki+linux-mips at ferretporn.se>
+Date: Sat, 7 Oct 2006 23:15:02 +0000 (+0200)
+Subject: [MIPS] Show actual CPU information in /proc/cpuinfo
+X-Git-Tag: linux-1.1.68
+X-Git-Url: http://www.linux-mips.org/git?p=linux.git;a=commitdiff;h=fc3dee0744865746ad02824e241442edc6ce7a07
+
+[MIPS] Show actual CPU information in /proc/cpuinfo
+
+Currently, /proc/cpuinfo contains several copies of the information for
+whatever processor we happen to be scheduled on. This patch makes it contain
+the proper information for each CPU, which is particularly useful on mixed
+R12k/R10k IP27 machines.
+
+Signed-off-by: Karl-Johan Karlsson <creideiki at lysator.liu.se>
+Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
+(cherry picked from fa91b67b68a484c0cd69f29ef9acb3683bc82928 commit)
+---
+
+--- a/arch/mips/kernel/proc.c
++++ b/arch/mips/kernel/proc.c
+@@ -89,9 +89,9 @@ static const char *cpu_name[] = {
+ 
+ static int show_cpuinfo(struct seq_file *m, void *v)
+ {
+-	unsigned int version = current_cpu_data.processor_id;
+-	unsigned int fp_vers = current_cpu_data.fpu_id;
+ 	unsigned long n = (unsigned long) v - 1;
++	unsigned int version = cpu_data[n].processor_id;
++	unsigned int fp_vers = cpu_data[n].fpu_id;
+ 	char fmt [64];
+ 
+ #ifdef CONFIG_SMP
+@@ -108,8 +108,8 @@ static int show_cpuinfo(struct seq_file 
+ 	seq_printf(m, "processor\t\t: %ld\n", n);
+ 	sprintf(fmt, "cpu model\t\t: %%s V%%d.%%d%s\n",
+ 	        cpu_has_fpu ? "  FPU V%d.%d" : "");
+-	seq_printf(m, fmt, cpu_name[current_cpu_data.cputype <= CPU_LAST ?
+-	                            current_cpu_data.cputype : CPU_UNKNOWN],
++	seq_printf(m, fmt, cpu_name[cpu_data[n].cputype <= CPU_LAST ?
++	                            cpu_data[n].cputype : CPU_UNKNOWN],
+ 	                           (version >> 4) & 0x0f, version & 0x0f,
+ 	                           (fp_vers >> 4) & 0x0f, fp_vers & 0x0f);
+ 	seq_printf(m, "BogoMIPS\t\t: %lu.%02lu\n",
+@@ -118,7 +118,7 @@ static int show_cpuinfo(struct seq_file 
+ 	seq_printf(m, "wait instruction\t: %s\n", cpu_wait ? "yes" : "no");
+ 	seq_printf(m, "microsecond timers\t: %s\n",
+ 	              cpu_has_counter ? "yes" : "no");
+-	seq_printf(m, "tlb_entries\t\t: %d\n", current_cpu_data.tlbsize);
++	seq_printf(m, "tlb_entries\t\t: %d\n", cpu_data[n].tlbsize);
+ 	seq_printf(m, "extra interrupt vector\t: %s\n",
+ 	              cpu_has_divec ? "yes" : "no");
+ 	seq_printf(m, "hardware watchpoint\t: %s\n",

Added: dists/trunk/linux-2.6/debian/patches/bugfix/mips/sb1250_interrupt_fixes.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/mips/sb1250_interrupt_fixes.patch	Mon Oct  9 10:04:54 2006
@@ -0,0 +1,37 @@
+From: Maciej W. Rozycki <macro at linux-mips.org>
+Date: Tue, 3 Oct 2006 11:42:02 +0000 (+0100)
+Subject: [MIPS] SB1250: Interrupt handler fixes
+X-Git-Tag: linux-1.1.68
+X-Git-Url: http://www.linux-mips.org/git?p=linux.git;a=commitdiff;h=c9477be2bb9e9a1885630627f439d19d7df6d33a
+
+[MIPS] SB1250: Interrupt handler fixes
+
+Mask cp0.status against cp0.cause.  Additionally, spurious interrupts are
+not recorded.
+
+Signed-off-by: Maciej W. Rozycki <macro at linux-mips.org>
+Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
+(cherry picked from 0196782e2ac607a19cfc88d9d2bd3f3f03e5908b commit)
+---
+
+--- a/arch/mips/sibyte/sb1250/irq.c
++++ b/arch/mips/sibyte/sb1250/irq.c
+@@ -442,7 +442,7 @@ asmlinkage void plat_irq_dispatch(struct
+ 	 * blasting the high 32 bits.
+ 	 */
+ 
+-	pending = read_c0_cause();
++	pending = read_c0_cause() & read_c0_status();
+ 
+ #ifdef CONFIG_SIBYTE_SB1250_PROF
+ 	if (pending & CAUSEF_IP7) /* Cpu performance counter interrupt */
+@@ -476,5 +476,8 @@ asmlinkage void plat_irq_dispatch(struct
+ 		                              R_IMR_INTERRUPT_STATUS_BASE)));
+ 		if (mask)
+ 			do_IRQ(fls64(mask) - 1, regs);
+-	}
++		else
++			spurious_interrupt(regs);
++	} else
++		spurious_interrupt(regs);
+ }

Added: dists/trunk/linux-2.6/debian/patches/bugfix/mips/sb1480_interrupt_fixes.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/bugfix/mips/sb1480_interrupt_fixes.patch	Mon Oct  9 10:04:54 2006
@@ -0,0 +1,23 @@
+From: Ralf Baechle <ralf at linux-mips.org>
+Date: Tue, 3 Oct 2006 13:42:02 +0000 (+0100)
+Subject: [MIPS] BCM1480: Mask pending interrupts against c0_status.im.
+X-Git-Tag: linux-1.1.68
+X-Git-Url: http://www.linux-mips.org/git?p=linux.git;a=commitdiff;h=b1f4fee6a18b48da275920df71b312e01ba973b9
+
+[MIPS] BCM1480: Mask pending interrupts against c0_status.im.
+
+Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
+(cherry picked from f2268c74623b9d82e4fe9b1e0951706c2360109e commit)
+---
+
+--- a/arch/mips/sibyte/bcm1480/irq.c
++++ b/arch/mips/sibyte/bcm1480/irq.c
+@@ -482,7 +482,7 @@ asmlinkage void plat_irq_dispatch(struct
+ 	write_c0_compare(read_c0_count());
+ #endif
+ 
+-	pending = read_c0_cause();
++	pending = read_c0_cause() & read_c0_status();
+ 
+ #ifdef CONFIG_SIBYTE_BCM1480_PROF
+ 	if (pending & CAUSEF_IP7)	/* Cpu performance counter interrupt */

Modified: dists/trunk/linux-2.6/debian/patches/series/3
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/3	(original)
+++ dists/trunk/linux-2.6/debian/patches/series/3	Mon Oct  9 10:04:54 2006
@@ -1 +1,8 @@
 + alpha-prctl.patch
++ bugfix/mips/o32_fstatat_syscall.patch
++ bugfix/mips/fstatat_syscall_names.patch
++ bugfix/mips/headers_install-add.patch
++ bugfix/mips/sb1250_interrupt_fixes.patch
++ bugfix/mips/sb1480_interrupt_fixes.patch
++ bugfix/mips/cobalt_hz.patch
++ bugfix/mips/real-cpu-cpuinfo.patch



More information about the Kernel-svn-changes mailing list