Mercurial > hg > aboriginal
changeset 308:386a43b33209
Move to a new dot release that integrates the unbreakmips patch.
author | Rob Landley <rob@landley.net> |
---|---|
date | Tue, 25 Mar 2008 21:38:09 -0500 |
parents | e6a201119439 |
children | 352b71189c93 |
files | download.sh sources/patches/linux-2.6.24-unbreakmips.patch |
diffstat | 2 files changed, 2 insertions(+), 205 deletions(-) [+] |
line wrap: on
line diff
--- a/download.sh Wed Feb 27 23:06:26 2008 -0600 +++ b/download.sh Tue Mar 25 21:38:09 2008 -0500 @@ -22,8 +22,8 @@ # then cut and paste the sha1 from the output and run it again to confirm. # Required for cross compile toolchain -URL=http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 \ -SHA1=351aebc784a5395fe4c92d1e514a89680482f7e2 \ +URL=http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.4.tar.bz2 \ +SHA1=bb63192d1ab7d7edbac78b716d7b8acb06ae5e72 \ download && URL=http://www.uclibc.org/downloads/uClibc-0.9.29.tar.bz2 \
--- a/sources/patches/linux-2.6.24-unbreakmips.patch Wed Feb 27 23:06:26 2008 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,203 +0,0 @@ -From ralf@linux-mips.org Tue Jan 29 05:20:48 2008 -Return-Path: <ralf@linux-mips.org> -X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on driftwood -X-Spam-Level: -X-Spam-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00 - autolearn=unavailable version=3.2.3 -X-Original-To: rob@landley.net -Delivered-To: landley@grelber.thyrsus.com -Received: from ftp.linux-mips.org (ftp.linux-mips.org [194.74.144.162]) - by grelber.thyrsus.com (Postfix) with ESMTP id 32C462C83DE - for <rob@landley.net>; Tue, 29 Jan 2008 06:26:02 -0500 (EST) -Received: from localhost.localdomain ([127.0.0.1]:62910 "EHLO - dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP - id S28577236AbYA2LUt (ORCPT <rfc822;rob@landley.net>); - Tue, 29 Jan 2008 11:20:49 +0000 -Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1]) - by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m0TBKme0008774; - Tue, 29 Jan 2008 11:20:48 GMT -Received: (from ralf@localhost) - by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m0TBKmns008773; - Tue, 29 Jan 2008 11:20:48 GMT -Date: Tue, 29 Jan 2008 11:20:48 +0000 -From: Ralf Baechle <ralf@linux-mips.org> -To: Rob Landley <rob@landley.net> -Cc: linux-kernel@vger.kernel.org, - linux-mips@vger.kernel.org -Subject: [PATCH 1/2] IRQ_NOPROBE helper functions -Message-ID: <20080129112048.GA8665@linux-mips.org> -References: <200801280217.38273.rob@landley.net> <20080129111622.GC7237@linux-mips.org> -MIME-Version: 1.0 -Content-Type: text/plain; - charset=us-ascii -Content-Disposition: inline -In-Reply-To: <20080129111622.GC7237@linux-mips.org> -User-Agent: Mutt/1.5.17 (2007-11-01) -Status: R -X-Status: NC -X-KMail-EncryptionState: -X-KMail-SignatureState: -X-KMail-MDN-Sent: - -Probing non-ISA interrupts using the handle_percpu_irq as their handle_irq -method may crash the system because handle_percpu_irq does not check -IRQ_WAITING. This for example hits the MIPS Qemu configuration. - -This patch provides two helper functions set_irq_noprobe and set_irq_probe -to set rsp. clear the IRQ_NOPROBE flag. The only current caller is MIPS -code but this really belongs into generic code. - -As an aside, interrupt probing these days has become a mostly obsolete if -not dangerous art. I think Linux interrupts should be changed to default -to non-probing but that's subject of this patch. - -Signed-off-by: Ralf Baechle <ralf@linux-mips.org> - - include/linux/irq.h | 3 +++ - kernel/irq/chip.c | 36 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 39 insertions(+) - -Index: linux-mips/include/linux/irq.h -=================================================================== ---- linux-mips.orig/include/linux/irq.h -+++ linux-mips/include/linux/irq.h -@@ -367,6 +367,9 @@ set_irq_chained_handler(unsigned int irq - __set_irq_handler(irq, handle, 1, NULL); - } - -+extern void set_irq_noprobe(unsigned int irq); -+extern void set_irq_probe(unsigned int irq); -+ - /* Handle dynamic irq creation and destruction */ - extern int create_irq(void); - extern void destroy_irq(unsigned int irq); -Index: linux-mips/kernel/irq/chip.c -=================================================================== ---- linux-mips.orig/kernel/irq/chip.c -+++ linux-mips/kernel/irq/chip.c -@@ -589,3 +589,39 @@ set_irq_chip_and_handler_name(unsigned i - set_irq_chip(irq, chip); - __set_irq_handler(irq, handle, 0, name); - } -+ -+void __init set_irq_noprobe(unsigned int irq) -+{ -+ struct irq_desc *desc; -+ unsigned long flags; -+ -+ if (irq >= NR_IRQS) { -+ printk(KERN_ERR "Trying to mark IRQ%d non-probeable\n", irq); -+ -+ return; -+ } -+ -+ desc = irq_desc + irq; -+ -+ spin_lock_irqsave(&desc->lock, flags); -+ desc->status |= IRQ_NOPROBE; -+ spin_unlock_irqrestore(&desc->lock, flags); -+} -+ -+void __init set_irq_probe(unsigned int irq) -+{ -+ struct irq_desc *desc; -+ unsigned long flags; -+ -+ if (irq >= NR_IRQS) { -+ printk(KERN_ERR "Trying to mark IRQ%d probeable\n", irq); -+ -+ return; -+ } -+ -+ desc = irq_desc + irq; -+ -+ spin_lock_irqsave(&desc->lock, flags); -+ desc->status &= ~IRQ_NOPROBE; -+ spin_unlock_irqrestore(&desc->lock, flags); -+} - - -From ralf@linux-mips.org Tue Jan 29 05:21:20 2008 -Return-Path: <ralf@linux-mips.org> -X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on driftwood -X-Spam-Level: -X-Spam-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00 autolearn=ham - version=3.2.3 -X-Original-To: rob@landley.net -Delivered-To: landley@grelber.thyrsus.com -Received: from ftp.linux-mips.org (ftp.linux-mips.org [194.74.144.162]) - by grelber.thyrsus.com (Postfix) with ESMTP id 8B6062C83DE - for <rob@landley.net>; Tue, 29 Jan 2008 06:26:33 -0500 (EST) -Received: from localhost.localdomain ([127.0.0.1]:447 "EHLO - dl5rb.ham-radio-op.net") by ftp.linux-mips.org with ESMTP - id S28577234AbYA2LVV (ORCPT <rfc822;rob@landley.net>); - Tue, 29 Jan 2008 11:21:21 +0000 -Received: from denk.linux-mips.net (denk.linux-mips.net [127.0.0.1]) - by dl5rb.ham-radio-op.net (8.14.1/8.13.8) with ESMTP id m0TBLKhV008793; - Tue, 29 Jan 2008 11:21:20 GMT -Received: (from ralf@localhost) - by denk.linux-mips.net (8.14.1/8.14.1/Submit) id m0TBLKas008792; - Tue, 29 Jan 2008 11:21:20 GMT -Date: Tue, 29 Jan 2008 11:21:20 +0000 -From: Ralf Baechle <ralf@linux-mips.org> -To: Rob Landley <rob@landley.net> -Cc: linux-kernel@vger.kernel.org, - linux-mips@vger.kernel.org -Subject: [PATCH 2/2] MIPS: Mark all but i8259 interrupts as no-probe. -Message-ID: <20080129112120.GB8665@linux-mips.org> -References: <200801280217.38273.rob@landley.net> <20080129111622.GC7237@linux-mips.org> <20080129112048.GA8665@linux-mips.org> -MIME-Version: 1.0 -Content-Type: text/plain; - charset=us-ascii -Content-Disposition: inline -In-Reply-To: <20080129112048.GA8665@linux-mips.org> -User-Agent: Mutt/1.5.17 (2007-11-01) -Status: R -X-Status: NC -X-KMail-EncryptionState: -X-KMail-SignatureState: -X-KMail-MDN-Sent: - -Use set_irq_noprobe() to mark all MIPS interrupts as non-probe. Override -that default for i8259 interrupts. - -Signed-off-by: Ralf Baechle <ralf@linux-mips.org> - - arch/mips/kernel/i8259.c | 4 +++- - arch/mips/kernel/irq.c | 5 +++++ - 2 files changed, 8 insertions(+), 1 deletion(-) - -Index: linux-mips/arch/mips/kernel/i8259.c -=================================================================== ---- linux-mips.orig/arch/mips/kernel/i8259.c -+++ linux-mips/arch/mips/kernel/i8259.c -@@ -338,8 +338,10 @@ void __init init_i8259_irqs(void) - - init_8259A(0); - -- for (i = I8259A_IRQ_BASE; i < I8259A_IRQ_BASE + 16; i++) -+ for (i = I8259A_IRQ_BASE; i < I8259A_IRQ_BASE + 16; i++) { - set_irq_chip_and_handler(i, &i8259A_chip, handle_level_irq); -+ set_irq_probe(i); -+ } - - setup_irq(I8259A_IRQ_BASE + PIC_CASCADE_IR, &irq2); - } -Index: linux-mips/arch/mips/kernel/irq.c -=================================================================== ---- linux-mips.orig/arch/mips/kernel/irq.c -+++ linux-mips/arch/mips/kernel/irq.c -@@ -145,6 +145,11 @@ __setup("nokgdb", nokgdb); - - void __init init_IRQ(void) - { -+ int i; -+ -+ for (i = 0; i < NR_IRQS; i++) -+ set_irq_noprobe(i); -+ - arch_init_irq(); - - #ifdef CONFIG_KGDB - -