aboutsummaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2006-10-07[POWERPC] Update iseries_defconfigStephen Rothwell1-17/+69
This make sure that an iseries_defconfig does not inlude other platforms. Signed-off-by: Stephen Rothwell <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-07[POWERPC] Fix fsl_soc build breaksOlof Johansson1-4/+5
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 <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-06[PATCH] x86_64 irq_regs fixAndrew Morton1-1/+4
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 <[email protected]> Cc: David Howells <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Acked-by: Andrew Vasquez <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-06ARM: fix up nested irq regs usageLinus Torvalds1-1/+2
This should fix up the per-cpu irq register pointer if we have nested hardware interrupts. Signed-off-by: Linus Torvalds <[email protected]>
2006-10-06Merge branch 'submit1' of viper:/spare/repo/irq-remove-2.6 into irqcleanupsJeff Garzik1-2/+2
2006-10-06[PATCH] ixp4xxdefconfig arm fixesFrederik Deweerdt1-1/+2
With the following patch, the ixp4xxdefconfig builds correctly. I'll test some more configs if I get some time. Signed-off-by: Frederik Deweerdt <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-06Merge branch 'release' of ↵Linus Torvalds3-4/+10
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 Torvalds90-309/+260
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 <[email protected]>
2006-10-06arch/i386/kernel/time: don't shadow 'irq' function argJeff Garzik1-2/+2
Signed-off-by: Jeff Garzik <[email protected]>
2006-10-06[IA64] Fix breakage from irq changeTony Luck3-4/+10
A few missed spots in ia64-land from this gigantic commit: 7d12e780e003f93433d49ce78cfedf4b4c52adc5 Signed-off-by: Tony Luck <[email protected]>
2006-10-06Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6Linus Torvalds8-82/+45
* '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 Enberg1-1/+1
Fixup broken UML build due to 7d12e780e003f93433d49ce78cfedf4b4c52adc5 "IRQ: Maintain regs pointer globally rather than passing to IRQ handlers". Cc: David Howells <[email protected]> Cc: Jeff Dike <[email protected]> Cc: Paolo "Blaisorblade" Giarrusso <[email protected]> Signed-off-by: Pekka Enberg <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-06[PATCH] m68k: dma_alloc_coherent() has gfp_t as the last argumentAl Viro1-2/+2
annotate, fix the bogus argument of vmap() in it. Signed-off-by: Al Viro <[email protected]> Cc: Roman Zippel <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-06[PATCH] m68k: fix typo in __generic_copy_to_userRoman Zippel1-1/+1
Jump to the correct exit label after exception Signed-off-by: Roman Zippel <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-06[PATCH] m68k: cleanup string functionsRoman Zippel2-5/+14
- cleanup asm of string functions - deinline strncat()/strncmp() - provide non-inlined strcpy() Signed-off-by: Roman Zippel <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-06[PATCH] i386: irqs build fixAndrew Morton1-1/+1
Cc: David Howells <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-06[S390] Use CONFIG_GENERIC_TIME and define TOD clock source.Martin Schwidefsky3-68/+24
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 <[email protected]>
2006-10-06[S390] irq change build fixes.Heiko Carstens6-14/+21
Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2006-10-06[POWERPC] Minor fix for bootargs propertyGeoff Levand1-1/+1
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 <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-06[POWERPC] Update pSeries defconfig for SATABrian King1-1/+1
Since the ipr driver now supports SATA and depends on libata, enable libata to get built. Signed-off-by: Brian King <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-06[POWERPC] Don't get PCI IRQ from OF for devices with no IRQBenjamin Herrenschmidt1-6/+11
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 <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-06[POWERPC] Fix zImage decompress locationBenjamin Herrenschmidt1-4/+1
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 <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-06[POWERPC] linux,tce-size property is 32 bitsNathan Lynch1-1/+2
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 <[email protected]> Acked-by: Olof Johansson <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-06[POWERPC] Add DTS for MPC8349E-mITX boardTimur Tabi1-0/+246
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 <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-06[POWERPC] Fix harmless typoNick Piggin1-1/+1
Fix a typo. Noticed by the unlikely profiler. Signed-off-by: Nick Piggin <[email protected]> Signed-off-by: Paul Mackerras <[email protected]>
2006-10-06[PPC] Fix some irq breakage with ARCH=ppcPaul Mackerras1-1/+1
Signed-off-by: Paul Mackerras <[email protected]>
2006-10-06sh: Convert IPR-IRQ to IRQ chip.Paul Mundt1-75/+27
One more initial conversion.. Signed-off-by: Paul Mundt <[email protected]>
2006-10-06sh: Convert INTC2 IRQ handler to irq_chip.Paul Mundt1-114/+24
More struct irq_chip conversions, this time the INTC2 handlers. Signed-off-by: Paul Mundt <[email protected]>
2006-10-06sh: Fix pr_debug statements for sh4Jamie Lenehan1-2/+2
Fix a problem uncovered by the recent change to always check the arguments to pr_debug. The sh7751 was using the wrong name for the PCI IO base address. Signed-off-by: Jamie Lenehan <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2006-10-06sh: Convert r7780rp IRQ handler to IRQ chip.Paul Mundt1-83/+22
Simple conversion of the R7780RP IRQ handler to struct irq_chip. Signed-off-by: Paul Mundt <[email protected]>
2006-10-06sh: Updates for IRQ handler changes.Paul Mundt15-30/+35
Trivial fixes for build breakage introduced by IRQ handler changes. Signed-off-by: Paul Mundt <[email protected]>
2006-10-06sh: Kill off timer_ops get_frequency().Paul Mundt1-56/+2
We're not using this anywhere these days, kill it off. Signed-off-by: Paul Mundt <[email protected]>
2006-10-06sh: First step at generic timeofday support.Paul Mundt2-0/+6
At the moment we wrap GENERIC_TIME around our existing timer API. As boards start providing their own clocksources, they're able to select GENERIC_TIME accordingly and optimize out most of the timer API. Once the current timers have been reworked as proper clocksource drivers, the rest of the place holders for the timer API can go away and we can flip on GENERIC_TIME unconditionally. Signed-off-by: Paul Mundt <[email protected]>
2006-10-05[PATCH] powerpc: irq change build breaksOlof Johansson8-9/+9
Fix up some of the buildbreaks from the irq handler changes. Signed-off-by: Olof Johansson <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-05Merge git://git.infradead.org/~dhowells/irq-2.6Linus Torvalds44-156/+178
* 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 Dunlap1-1/+1
Include linux/kallsyms.h unconditionally for print_symbol(). Signed-off-by: Randy Dunlap <[email protected]> Signed-off-by: Andi Kleen <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2006-10-05[PATCH] i386: fix rwsem build bug on CONFIG_M386=yIngo Molnar1-0/+3
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 <[email protected]> Triaged-by: Adrian Bunk <[email protected]> Signed-off-by: Ingo Molnar <[email protected]> Signed-off-by: Andi Kleen <[email protected]>
2006-10-05[PATCH] x86-64: Annotate interrupt frame backlink in interrupt handlersAndi Kleen1-0/+3
Add correct CFI annotation to the backlink on top of the interrupt stack. Signed-off-by: Andi Kleen <[email protected]>
2006-10-05[PATCH] x86-64: Fix FPU corruptionAndi Kleen1-4/+3
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: [email protected] Signed-off-by: Andi Kleen <[email protected]>
2006-10-05[PATCH] x86: Terminate the kernel stacks for the unwinderAndi Kleen2-1/+10
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 <[email protected]>
2006-10-05[PATCH] i386: Fix PCI BIOS config space accessAndi Kleen2-0/+6
Got broken by a earlier change. Also add a printk when no pci config method could be found. Cc: [email protected] Signed-off-by: Andi Kleen <[email protected]>
2006-10-05[PATCH] x86-64: Calgary IOMMU: print PCI bus numbers in hexJon Mason1-4/+4
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 <[email protected]> Signed-off-by: Muli Ben-Yehuda <[email protected]> Signed-off-by: Andi Kleen <[email protected]>
2006-10-05[PATCH] x86-64: Calgary IOMMU: Update Jon's contact infoJon Mason1-1/+2
Also add copyright for work done after leaving IBM. Signed-off-by: Jon Mason <[email protected]> Signed-off-by: Muli Ben-Yehuda <[email protected]> Signed-off-by: Andi Kleen <[email protected]>
2006-10-05[PATCH] x86-64: Calgary IOMMU: Fix off by one when calculating register ↵Jon Mason1-2/+11
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 <[email protected]> Signed-off-bu: Muli Ben-Yehuda <[email protected]> Signed-off-by: Andi Kleen <[email protected]>
2006-10-05[PATCH] x86-64: Calgary IOMMU: deobfuscate calgary_initJon Mason1-5/+7
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 <[email protected]> Signed-off-by: Muli Ben-Yehuda <[email protected]> Signed-off-by: Andi Kleen <[email protected]>
2006-10-05[PATCH] i386: Update defconfigAndi Kleen1-8/+33
Signed-off-by: Andi Kleen <[email protected]>
2006-10-05[PATCH] x86-64: Update defconfigAndi Kleen1-8/+35
Signed-off-by: Andi Kleen <[email protected]>
2006-10-05IRQ: Maintain regs pointer globally rather than passing to IRQ handlersDavid Howells44-156/+178
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: David Howells <[email protected]> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
2006-10-04Merge master.kernel.org:/pub/scm/linux/kernel/git/willy/parisc-2.6Linus Torvalds6-54/+56
* master.kernel.org:/pub/scm/linux/kernel/git/willy/parisc-2.6: [PA-RISC] Fix time.c for new do_timer() calling convention [PA-RISC] Fix must_check warnings in drivers.c [PA-RISC] Fix parisc_newuname() [PA-RISC] Remove warning from pci.c [PA-RISC] Fix filldir warnings [PA-RISC] Fix sys32_sysctl [PA-RISC] Fix sba_iommu compilation
2006-10-05[PA-RISC] Fix time.c for new do_timer() calling conventionMatthew Wilcox1-14/+23
do_timer now wants to know how many ticks have elapsed. Now that we have to calculate that, we can eliminate some of the clever code that avoided having to calculate that. Also add some more documentation. I'd like to thank Grant Grundler for helping me with this. Signed-off-by: Matthew Wilcox <[email protected]>