summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2006-10-07[PATCH] m68k pt_regs fixesAl Viro
m68k_handle_int() split in two functions: __m68k_handle_int() takes pt_regs * and does set_irq_regs(); m68k_handle_int() doesn't get pt_regs *. Places where we used to call m68k_handle_int() recursively with the same pt_regs have simply lost the second argument, the rest is switched to __m68k_handle_int(). The rest of patch is just dropping pt_regs * where needed. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-07[POWERPC] PReP fixup after irq changesOlaf Hering
Compile fixes for PReP in ARCH=ppc. Signed-off-by: Olaf Hering <olaf@aepfle.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-07[POWERPC] SPU fixup after irq changesOlaf Hering
Remove struct pt_regs * from remaining spu irq functions. Signed-off-by: Olaf Hering <olaf@aepfle.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-07[POWERPC] Fix up after irq changesOlaf Hering
Remove struct pt_regs * from all handlers. Also remove the regs argument from get_irq() functions. Compile tested with arch/powerpc/config/* and arch/ppc/configs/prep_defconfig Signed-off-by: Olaf Hering <olaf@aepfle.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-07[PARISC] More pt_regs removalMatthew Wilcox
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>
2006-10-07[PARISC] Make firmware calls irqsafe-ish...Kyle McMartin
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>
2006-10-07[PA-RISC] Fix boot breakageMatthew Wilcox
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>
2006-10-07[PARISC] Use set_irq_regsMatthew Wilcox
Actually set the irq_regs pointer. Signed-off-by: Matthew Wilcox <matthew@wil.cx>
2006-10-07Merge branch 'irq-fixes' of git://git.parisc-linux.org/git/linux-2.6Linus Torvalds
* 'irq-fixes' of git://git.parisc-linux.org/git/linux-2.6: Build fixes for struct pt_regs removal
2006-10-07Build fixes for struct pt_regs removalMatthew Wilcox
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
2006-10-07[POWERPC] Fix iseries/smp.c for irq breakageStephen Rothwell
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-07[POWERPC] Update iseries_defconfigStephen Rothwell
This make sure that an iseries_defconfig does not inlude other platforms. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-07[POWERPC] Fix fsl_soc build breaksOlof Johansson
Hrm, there's no way this ever built at time of merge. There's a missing } and the wrong type on phy_irq. Also, another const for get_property(). CC arch/powerpc/sysdev/fsl_soc.o arch/powerpc/sysdev/fsl_soc.c: In function 'fs_enet_of_init': arch/powerpc/sysdev/fsl_soc.c:625: error: assignment of read-only variable 'phy_irq' arch/powerpc/sysdev/fsl_soc.c:625: warning: assignment makes integer from pointer without a cast arch/powerpc/sysdev/fsl_soc.c:661: warning: assignment discards qualifiers from pointer target type arch/powerpc/sysdev/fsl_soc.c:684: error: subscripted value is neither array nor pointer arch/powerpc/sysdev/fsl_soc.c:687: error: subscripted value is neither array nor pointer arch/powerpc/sysdev/fsl_soc.c:722: warning: ISO C90 forbids mixed declarations and code arch/powerpc/sysdev/fsl_soc.c:728: error: invalid storage class for function 'cpm_uart_of_init' arch/powerpc/sysdev/fsl_soc.c:798: error: initializer element is not constant arch/powerpc/sysdev/fsl_soc.c:798: error: expected declaration or statement at end of input make[1]: *** [arch/powerpc/sysdev/fsl_soc.o] Error 1 Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-06[PATCH] x86_64 irq_regs fixAndrew Morton
smp_apic_timer_interrupt() needs to stack the pt_regs* for profile_tick. If any other of those APIC interrupt handlers want to run get_irq_regs() then their C entrypoint handlers will need the same treatment. Cc: Andi Kleen <ak@muc.de> Cc: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Acked-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-06ARM: fix up nested irq regs usageLinus Torvalds
This should fix up the per-cpu irq register pointer if we have nested hardware interrupts. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-06Merge branch 'submit1' of viper:/spare/repo/irq-remove-2.6 into irqcleanupsJeff Garzik
2006-10-06[PATCH] ixp4xxdefconfig arm fixesFrederik Deweerdt
With the following patch, the ixp4xxdefconfig builds correctly. I'll test some more configs if I get some time. Signed-off-by: Frederik Deweerdt <frederik.deweerdt@gmail.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-06Merge branch 'release' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Fix breakage from irq change
2006-10-06Initial blind fixup for arm for irq changesLinus Torvalds
Untested, but this should fix up the bulk of the totally mechanical issues, and should make the actual detail fixing easier. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-06arch/i386/kernel/time: don't shadow 'irq' function argJeff Garzik
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-10-06[IA64] Fix breakage from irq changeTony Luck
A few missed spots in ia64-land from this gigantic commit: 7d12e780e003f93433d49ce78cfedf4b4c52adc5 Signed-off-by: Tony Luck <tony.luck@intel.com>
2006-10-06Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6Linus Torvalds
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] Use CONFIG_GENERIC_TIME and define TOD clock source. [PATCH] sysrq: irq change build fix. [S390] irq change build fixes. [S390] cio: 0 is a valid chpid. [S390] monwriter buffer limit. [S390] ap bus poll thread priority.
2006-10-06[PATCH] um: irq changes break buildPekka Enberg
Fixup broken UML build due to 7d12e780e003f93433d49ce78cfedf4b4c52adc5 "IRQ: Maintain regs pointer globally rather than passing to IRQ handlers". Cc: David Howells <dhowells@redhat.com> Cc: Jeff Dike <jdike@addtoit.com> Cc: Paolo "Blaisorblade" Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-06[PATCH] m68k: dma_alloc_coherent() has gfp_t as the last argumentAl Viro
annotate, fix the bogus argument of vmap() in it. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-06[PATCH] m68k: fix typo in __generic_copy_to_userRoman Zippel
Jump to the correct exit label after exception Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-06[PATCH] m68k: cleanup string functionsRoman Zippel
- cleanup asm of string functions - deinline strncat()/strncmp() - provide non-inlined strcpy() Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-06[PATCH] i386: irqs build fixAndrew Morton
Cc: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-06[S390] Use CONFIG_GENERIC_TIME and define TOD clock source.Martin Schwidefsky
Fix too slow clock by using CONFIG_GENERIC_TIME and adding a clock source for the s390 time-of-day clock. As added benefit we get rid of the s390 specific definition of do_gettimeofday and do_settimeofday. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2006-10-06[S390] irq change build fixes.Heiko Carstens
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2006-10-06[POWERPC] Minor fix for bootargs propertyGeoff Levand
Avoid the use of an uninitialized stack variable when the powerpc device tree bootargs property is either missing or incorrectly defined. This also makes CONFIG_CMDLINE work properly under these conditions. This change adds a test for the existence of the bootargs property. early_init_dt_scan_chosen() tests for a zero length bootargs property in its CONFIG_CMDLINE processing, but the current implementation of of_get_flat_dt_prop() doesn't assign a value to the length when no property is found. Since an automatic variable is used, a stale value from the stack will be used in the test. Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-06[POWERPC] Update pSeries defconfig for SATABrian King
Since the ipr driver now supports SATA and depends on libata, enable libata to get built. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-06[POWERPC] Don't get PCI IRQ from OF for devices with no IRQBenjamin Herrenschmidt
This patch adds checking of the PCI_INTERRUPT_PIN register before using standard OF parsing to retreive PCI interrupts. The reason is that some PCI devices may have no PCI interrupt, though they may have interrupts attached via other means. In this case, we shall not use irq->pdev, but device-specific code can later retreive those interrupts instead. Without that patch, Maple and derivatives don't get the right interrupt for the second IDE channel as the linux IDE code fallsback to the PCI irq instead of trying to use the legacy ones for the on-board controller (which has no PCI_INTERRUPT_PIN). Having no PCI IRQ assign to it (as it doesn't request any) fixes it. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-06[POWERPC] Fix zImage decompress locationBenjamin Herrenschmidt
The zImage wrapper has a "hack" that force the decompression to happen above 20Mb for 64 bits kernels, to work around issues with some firmwares on the field. However, the new wrapper has a bug which makes that hack not work properly. This fixes it. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-06[POWERPC] linux,tce-size property is 32 bitsNathan Lynch
The "linux,tce-size" property is only 32 bits (see prom_initialize_tce_table() in arch/powerpc/kernel/prom_init.c). Treating it as an unsigned long in iommu_table_setparms() leads to access beyond the end of the property's buffer, so we pass garbage to the memset() in that function. [boot]0020 XICS Init i8259 legacy interrupt controller initialized [boot]0021 XICS Done PID hash table entries: 4096 (order: 12, 32768 bytes) cpu 0x0: Vector: 300 (Data Access) at [c0000000fe783850] pc: c000000000035e90: .memset+0x60/0xfc lr: c000000000044fa4: .iommu_table_setparms+0xb0/0x158 sp: c0000000fe783ad0 msr: 9000000000009032 dar: c000000100000000 dsisr: 42010000 current = 0xc00000000450e810 paca = 0xc000000000411580 pid = 1, comm = swapper enter ? for help [link register ] c000000000044fa4 .iommu_table_setparms+0xb0/0x158 [c0000000fe783ad0] c000000000044f4c .iommu_table_setparms+0x58/0x158 (unreliable) [c0000000fe783b70] c00000000004529c .iommu_bus_setup_pSeries+0x1c4/0x254 [c0000000fe783c00] c00000000002b8ac .do_bus_setup+0x3c/0xe4 [c0000000fe783c80] c00000000002c924 .pcibios_fixup_bus+0x64/0xd8 [c0000000fe783d00] c0000000001a2d5c .pci_scan_child_bus+0x6c/0x10c [c0000000fe783da0] c00000000002be28 .scan_phb+0x17c/0x1b4 [c0000000fe783e40] c0000000003cfa00 .pcibios_init+0x58/0x19c [c0000000fe783ec0] c0000000000094b4 .init+0x1e8/0x3d8 [c0000000fe783f90] c000000000026e54 .kernel_thread+0x4c/0x68 Signed-off-by: Nathan Lynch <ntl@pobox.com> Acked-by: Olof Johansson <olof@lixom.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-06[POWERPC] Add DTS for MPC8349E-mITX boardTimur Tabi
Add the DTS for the Freescale MPC 8349E-mITX reference board. Contact Vitesse for the driver for the VSC 7385. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-06[POWERPC] Fix harmless typoNick Piggin
Fix a typo. Noticed by the unlikely profiler. Signed-off-by: Nick Piggin <npiggin@suse.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-06[PPC] Fix some irq breakage with ARCH=ppcPaul Mackerras
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-06[PATCH] powerpc: irq change build breaksOlof Johansson
Fix up some of the buildbreaks from the irq handler changes. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-05Merge git://git.infradead.org/~dhowells/irq-2.6Linus Torvalds
* git://git.infradead.org/~dhowells/irq-2.6: IRQ: Maintain regs pointer globally rather than passing to IRQ handlers IRQ: Typedef the IRQ handler function type IRQ: Typedef the IRQ flow handler function type
2006-10-05[PATCH] x86-64: Fix compilation without CONFIG_KALLSYMSRandy Dunlap
Include linux/kallsyms.h unconditionally for print_symbol(). Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-05[PATCH] i386: fix rwsem build bug on CONFIG_M386=yIngo Molnar
CONFIG_M386 turns on spinlock-based generic rwsems - which surprises the semaphore.S rwsem stubs. Tested both with and without CONFIG_M386. Reported-by: Klaus Knopper <knopper@knopper.net> Triaged-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andi Kleen <ak@suse.de>
2006-10-05[PATCH] x86-64: Annotate interrupt frame backlink in interrupt handlersAndi Kleen
Add correct CFI annotation to the backlink on top of the interrupt stack. Signed-off-by: Andi Kleen <ak@suse.de>
2006-10-05[PATCH] x86-64: Fix FPU corruptionAndi Kleen
This reverts an earlier patch that was found to cause FPU state corruption. I think the corruption happens because unlazy_fpu() can cause FPU exceptions and when it happens after the current switch some processing would affect the state in the wrong process. Thanks to Douglas Crosher and Tom Hughes for testing. Cc: jbeulich@novell.com Signed-off-by: Andi Kleen <ak@suse.de>
2006-10-05[PATCH] x86: Terminate the kernel stacks for the unwinderAndi Kleen
Always make sure RIP/EIP is 0 in the registers stored on the top of the stack of a kernel thread. This makes sure the unwinder code won't try a fallback but knows the stack has ended. AK: this patch is a bit mysterious. in theory they should be terminated anyways, but it seems to fix at least one crash. Anyways double termination probably doesn't hurt. Signed-off-by: Andi Kleen <ak@suse.de>
2006-10-05[PATCH] i386: Fix PCI BIOS config space accessAndi Kleen
Got broken by a earlier change. Also add a printk when no pci config method could be found. Cc: gregkh@suse.de Signed-off-by: Andi Kleen <ak@suse.de>
2006-10-05[PATCH] x86-64: Calgary IOMMU: print PCI bus numbers in hexJon Mason
Make the references to the bus number in hex instead of decimal, as that is the way that lspci prints out the bus numbers. Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de>
2006-10-05[PATCH] x86-64: Calgary IOMMU: Update Jon's contact infoJon Mason
Also add copyright for work done after leaving IBM. Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de>
2006-10-05[PATCH] x86-64: Calgary IOMMU: Fix off by one when calculating register ↵Jon Mason
space location The purpose of the code being modified is to determine the location of the calgary chip address space. This is done by a magical formula of FE0MB-8MB*OneBasedChassisNumber+1MB*(RioNodeId-ChassisBase) to find the offset where BIOS puts it. In this formula, OneBasedChassisNumber corresponds to the NUMA node, and rionodeid is always 2 or 3 depending on which chip in the system it is. The problem was that we had an off by one error that caused us to account some busses to the wrong chip and thus give them the wrong address space. Fixes RH bugzilla #203971. Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-bu: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de>
2006-10-05[PATCH] x86-64: Calgary IOMMU: deobfuscate calgary_initJon Mason
calgary_init's for loop does not correspond to the actual device being checked, which makes its upperbound check for array overflow useless. Changing this to a do-while loop is the correct way of doing this. There should be no possibility of spinning forever in this loop, as pci_get_device states that it will go through all iterations, then return NULL (thus breaking the loop). Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de>
2006-10-05[PATCH] i386: Update defconfigAndi Kleen
Signed-off-by: Andi Kleen <ak@suse.de>