aboutsummaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAge
* [PATCH] x86_64 irq: Scream but don't die if we receive an unexpected irqEric W. Biederman2006-10-09
| | | | | | | | | | | | | | | | | | | | | | | Due to code bugs or misbehaving hardware it is possible that we can receive an interrupt that we have not mapped into a linux irq. Calling BUG when that happens is very rude, and if the problem is mild enough prevents anything else from getting done. So instead of calling BUG just scream loudly about the problem and continue running. We don't have enough knowledge to know which interrupt triggered this behavior so we don't acknowledge it. This will likely prevent a recurrence of the problem by jamming up the works with an unacknowledged interrupt. If the interrupt was something important it is quite possible that nothing productive will happen past this point. But it is now at least possible to keep working if the kernel can survive without the interrupt we dropped on the floor. Solutions like irqpoll should generally make dropped irqs non-fatal. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge git://git.infradead.org/~dhowells/irq-2.6Linus Torvalds2006-10-09
|\ | | | | | | | | * git://git.infradead.org/~dhowells/irq-2.6: IRQ: Use the new typedef for interrupt handler function pointers
| * IRQ: Use the new typedef for interrupt handler function pointersDavid Howells2006-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the new typedef for interrupt handler function pointers rather than actually spelling out the full thing each time. This was scripted with the following small shell script: #!/bin/sh egrep -nHrl -e 'irqreturn_t[ ]*[(][*]' $* | while read i do echo $i perl -pi -e 's/irqreturn_t\s*[(]\s*[*]\s*([_a-zA-Z0-9]*)\s*[)]\s*[(]\s*int\s*,\s*void\s*[*]\s*[)]/irq_handler_t \1/g' $i || exit $? done Signed-Off-By: David Howells <dhowells@redhat.com>
* | Merge branch 'irqclean-submit1' of ↵Linus Torvalds2006-10-09
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'irqclean-submit1' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6: drivers/isdn/act2000: kill irq2card_map drivers/net/eepro: kill dead code Various drivers' irq handlers: kill dead code, needless casts drivers/net: eliminate irq handler impossible checks, needless casts arch/i386/kernel/time: don't shadow 'irq' function arg
| * \ Merge branch 'submit1' of viper:/spare/repo/irq-remove-2.6 into irqcleanupsJeff Garzik2006-10-06
| |\ \
| | * | arch/i386/kernel/time: don't shadow 'irq' function argJeff Garzik2006-10-06
| | | | | | | | | | | | | | | | Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | | [PATCH] s390 traps.c __user annotationsAl Viro2006-10-09
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | | [PATCH] mv64630_pic NULL noise removalAl Viro2006-10-09
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | | [PATCH] trivial iomem annotations (arch/powerpc/platfroms/parsemi/pci.c)Al Viro2006-10-09
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Acked-by: Olof Johansson <olof@lixom.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | | [PATCH] extern doesn't make sense on a definition of function...Al Viro2006-10-09
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | | [PATCH] more ia64 irq handlersAl Viro2006-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cast to (void *) in request_irq() argument is stupid and only hides problems... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | | [PATCH] fallout from alpha pt_regs patchesAl Viro2006-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | missed irq handler in sys_titan and forgotten prototype update. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | | [PATCH] sparc64 irq pt_regs falloutAl Viro2006-10-09
| |_|/ |/| | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] m68k/kernel/dma.c assumes !MMU_SUN3Al Viro2006-10-08
| | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] arm: it's OK to pass pointer to volatile as iounmap() argument...Al Viro2006-10-08
| | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linusLinus Torvalds2006-10-08
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Cleanup unnecessary <asm/ptrace.h> inclusions. [MIPS] DEC: pt_regs fixes for buserror handlers [MIPS] Fix return type of gt64120_irq. [MIPS] Ocelot C: Build fix - ll_mv64340_irq takes no more regs argument. [MIPS] Jazz defconfig file. [MIPS] Jazz: build fix - include <linux/screen_info.h> [MIPS] Jazz: Remove warning. After 7 years probably somebody test this ;) [MIPS] Jazz: Fix I/O port resources. [MIPS] DEC: pt_regs fixes for dec_intr_halt. handle_sysrq lost its pt_regs * argument Manual conflict resolved in arch/um/drivers/mconsole_kern.c
| * | | [MIPS] Cleanup unnecessary <asm/ptrace.h> inclusions.Ralf Baechle2006-10-08
| | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | | [MIPS] DEC: pt_regs fixes for buserror handlersRalf Baechle2006-10-08
| | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | | [MIPS] Fix return type of gt64120_irq.Ralf Baechle2006-10-08
| | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | | [MIPS] Ocelot C: Build fix - ll_mv64340_irq takes no more regs argument.Ralf Baechle2006-10-08
| | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | | [MIPS] Jazz defconfig file.Ralf Baechle2006-10-08
| | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | | [MIPS] Jazz: build fix - include <linux/screen_info.h>Ralf Baechle2006-10-08
| | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | | [MIPS] Jazz: Remove warning. After 7 years probably somebody test this ;)Ralf Baechle2006-10-08
| | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | | [MIPS] Jazz: Fix I/O port resources.Ralf Baechle2006-10-08
| | | | | | | | | | | | | | | | | | | | | | | | struct resource members were shuffeled a while ago. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | | [MIPS] DEC: pt_regs fixes for dec_intr_halt.Ralf Baechle2006-10-08
| | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| * | | handle_sysrq lost its pt_regs * argumentRalf Baechle2006-10-08
| | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* | | | [PATCH] uml pt_regs fixesAl Viro2006-10-08
|/ / / | | | | | | | | | | | | | | | | | | Real fix for UML pt_regs stuff. Note set_irq_regs() logics in there... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | Revert "[POWERPC] Don't get PCI IRQ from OF for devices with no IRQ"Linus Torvalds2006-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 41550c5128150175197257b6ceab2cd50dea7b51. Quoth Ben Herrenschmidt: "Please revert this one for now. It seems to break G5s :( Looks like PCI cells inside Apple IO ASICs don't have a PCI_INTERRUPT_LINE set. I need to figure out a better fix." Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] missed ia64 pt_regs fixesAl Viro2006-10-08
| | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] alpha pt_regs cleanups: collapse set_irq_regs() in titan_dispatch_irqs()Al Viro2006-10-08
| | | | | | | | | | | | | | | | | | | | | | | | titan_dispatch_irqs() always gets get_irq_regs() as argument; kill the argument and collapse set_irq_regs() in body. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] alpha pt_regs cleanups: machine_check()Al Viro2006-10-08
| | | | | | | | | | | | | | | | | | | | | do set_irq_regs() in caller, kill pt_regs argument. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] alpha pt_regs cleanups: handle_irq()Al Viro2006-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | isa_no_iack_sc_device_interrupt() always gets get_irq_regs() as argument; kill that argument. All but two callers of handle_irq() pass get_irq_regs() as argument; convert the remaining two, kill set_irq_regs() inside handle_irq(). Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] alpha pt_regs cleanups: device_interruptAl Viro2006-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | callers of ->device_interrupt() do set_irq_regs() now; pt_regs argument removed, remaining uses of regs in instances of ->device_interrupt() are switched to get_irq_regs() and will be gone in the next patch. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] m68k pt_regs fixes, part 2Al Viro2006-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fallout from previous patch: - actually add include/asm-m68k/irq_regs.h - missed the prototype of sun3_sched_init() NB: git diff without argumentgs sucks when you've added some files... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] sparc32 rwlock fixAl Viro2006-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | read_trylock() is broken on sparc32 (doesn't build and didn't work right, actually). Proposed fix: - make "writer holds lock" distinguishable from "reader tries to grab lock" - have __raw_read_trylock() try to acquire the mutex (in LSB of lock), terminating spin if we see that there's writer holding it. Then do the rest as we do in read_lock(). Thanks to Ingo for discussion... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] sparc64 pt_regs fixesAl Viro2006-10-08
| | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] sparc32 pt_regs fixesAl Viro2006-10-08
| | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | Merge branch 'irq-fixes' of git://git.parisc-linux.org/git/linux-2.6Linus Torvalds2006-10-08
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'irq-fixes' of git://git.parisc-linux.org/git/linux-2.6: [PARISC] More pt_regs removal [PARISC] pdc_init no longer exists [PARISC] Make firmware calls irqsafe-ish... [PA-RISC] Fix boot breakage [PARISC] Use set_irq_regs
| * | | [PARISC] More pt_regs removalMatthew Wilcox2006-10-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove pt_regs from ipi_interrupt and timer_interrupt. Inline smp_do_timer() into its only caller, and unify the SMP and non-SMP paths. Fixes a profiling bug. Signed-off-by: Matthew Wilcox <matthew@wil.cx>
| * | | [PARISC] Make firmware calls irqsafe-ish...Kyle McMartin2006-10-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no reason why we shouldn't be using _irqsave instead of _irq for any of these calls. fwiw, this fixes the "start_kernel(): bug: interrupts were enabled early" message displayed on bootup recently. Signed-off-by: Kyle McMartin <kyle@parisc-linux.org> Signed-off-by: Matthew Wilcox <matthew@wil.cx>
| * | | [PA-RISC] Fix boot breakageMatthew Wilcox2006-10-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conditionals were the wrong way around. Turns out I was booting the wrong kernel when testing the original fix. Signed-off-by: Matthew Wilcox <matthew@wil.cx>
| * | | [PARISC] Use set_irq_regsMatthew Wilcox2006-10-07
| | | | | | | | | | | | | | | | | | | | | | | | Actually set the irq_regs pointer. Signed-off-by: Matthew Wilcox <matthew@wil.cx>
* | | | [PATCH] x86_64 irq: Allocate a vector across all cpus for genapic_flat.Eric W. Biederman2006-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem we can't take advantage of lowest priority delivery mode if the vectors are allocated for only one cpu at a time. Nor can we work around hardware that assumes lowest priority delivery mode is always used with several cpus. So this patch introduces the concept of a vector_allocation_domain. A set of cpus that will receive an irq on the same vector. Currently the code for implementing this is placed in the genapic structure so we can vary this depending on how we are using the io_apics. This allows us to restore the previous behaviour of genapic_flat without removing the benefits of having separate vector allocation for large machines. This should also fix the problem report where a hyperthreaded cpu was receving the irq on the wrong hyperthread when in logical delivery mode because the previous behaviour is restored. This patch properly records our allocation of the first 16 irqs to the first 16 available vectors on all cpus. This should be fine but it may run into problems with multiple interrupts at the same interrupt level. Except for some badly maintained comments in the code and the behaviour of the interrupt allocator I have no real understanding of that problem. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Acked-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | | [PATCH] i386/x86_64: Remove global IO_APIC_VECTOREric W. Biederman2006-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Which vector an irq is assigned to now varies dynamically and is not needed outside of io_apic.c. So remove the possibility of accessing the information outside of io_apic.c and remove the silly macro that makes looking for users of irq_vector difficult. The fact this compiles ensures there aren't any more pieces of the old CONFIG_PCI_MSI weirdness that I failed to remove. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | | [PATCH] i386/x86_64: FIX pci_enable_irq to set dev->irq to the irq numberEric W. Biederman2006-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit ace80ab796ae30d2c9ee8a84ab6f608a61f8b87b I removed the weird logic that used the vector number as the irq number when MSI was defined. However pci_enable_irq was using a different test in the io_apic_assign_irqs path and I missed it :( This patch removes the wrong code so no one hits this problem. This code is only active when a specific set of boot command line parameters is specified which likely explains why no one has notices this earlier. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | | [MIPS] Complete fixes after removal of pt_regs argument to int handlers.Ralf Baechle2006-10-07
| | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* | | | [MIPS] Show actual CPU information in /proc/cpuinfoKarl-Johan Karlsson2006-10-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | [MIPS] Cobalt: Time runs too quicklyScott Ashcroft2006-10-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | [MIPS] Update Malta config.Ralf Baechle2006-10-07
| | | | | | | | | | | | | | | | Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
* | | | Merge branch 'merge' of ↵Linus Torvalds2006-10-07
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] PReP fixup after irq changes [POWERPC] SPU fixup after irq changes [POWERPC] Fix up after irq changes [POWERPC] Fix iseries/smp.c for irq breakage [POWERPC] Fix viocons for irq breakage [POWERPC] Update iseries_defconfig [POWERPC] Fix fsl_soc build breaks [POWERPC] Minor fix for bootargs property [POWERPC] Update MTFSF_L() comment [POWERPC] Update pSeries defconfig for SATA [POWERPC] Don't get PCI IRQ from OF for devices with no IRQ [POWERPC] Fix zImage decompress location [POWERPC] linux,tce-size property is 32 bits [POWERPC] Add DTS for MPC8349E-mITX board [POWERPC] Fix harmless typo [PPC] Fix some irq breakage with ARCH=ppc