Apply some patches from linux-mips' linux-2.6.18-stable GIT tree
svn path=/dists/trunk/linux-2.6/; revision=7585
This commit is contained in:
parent
7d6ad8bcfe
commit
1cde678513
|
@ -15,6 +15,16 @@ linux-2.6 (2.6.18-3) UNRELEASED; urgency=low
|
|||
[ 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@sternwelten.at> Thu, 5 Oct 2006 17:10:46 +0200
|
||||
|
||||
linux-2.6 (2.6.18-2) unstable; urgency=low
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
From: Scott Ashcroft <scott.ashcroft@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@talk21.com>
|
||||
Signed-off-by: Ralf Baechle <ralf@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);
|
|
@ -0,0 +1,57 @@
|
|||
From: Richard Sandiford <richard@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@codesourcery.com>
|
||||
Signed-off-by: Ralf Baechle <ralf@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)
|
|
@ -0,0 +1,19 @@
|
|||
From: Ralf Baechle <ralf@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@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
|
|
@ -0,0 +1,34 @@
|
|||
From: Richard Sandiford <richard@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@codesourcery.com>
|
||||
Signed-off-by: Ralf Baechle <ralf@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
|
|
@ -0,0 +1,52 @@
|
|||
From: Karl-Johan Karlsson <creideiki+linux-mips@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@lysator.liu.se>
|
||||
Signed-off-by: Ralf Baechle <ralf@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",
|
|
@ -0,0 +1,37 @@
|
|||
From: Maciej W. Rozycki <macro@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@linux-mips.org>
|
||||
Signed-off-by: Ralf Baechle <ralf@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);
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
From: Ralf Baechle <ralf@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@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 */
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue