aboutsummaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2009-03-23Merge branch 'cpus4096' into irq/threadedThomas Gleixner401-18242/+15383
Conflicts: arch/parisc/kernel/irq.c kernel/irq/handle.c Signed-off-by: Thomas Gleixner <[email protected]>
2009-03-23Merge branches 'irq/sparseirq' and 'linus' into irq/coreIngo Molnar38-2056/+1528
2009-03-22Merge branch 'fix-includes' of ↵Linus Torvalds24-1907/+1209
git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'fix-includes' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68k: merge the non-MMU and MMU versions of siginfo.h m68k: use the MMU version of unistd.h for all m68k platforms m68k: merge the non-MMU and MMU versions of signal.h m68k: merge the non-MMU and MMU versions of ptrace.h m68k: use MMU version of setup.h for both MMU and non-MMU m68k: merge the non-MMU and MMU versions of sigcontext.h m68k: merge the non-MMU and MMU versions of swab.h m68k: merge the non-MMU and MMU versions of param.h
2009-03-19Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6Linus Torvalds8-40/+48
* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] make page table upgrade work again [S390] make page table walking more robust [S390] Dont check for pfn_valid() in uaccess_pt.c [S390] ftrace/mcount: fix kernel stack backchain [S390] topology: define SD_MC_INIT to fix performance regression [S390] __div64_31 broken for CONFIG_MARCH_G5
2009-03-19numa, cpumask: move numa_node_id default implementation to topology.h, fixStephen Rothwell2-0/+3
Impact: build fix for powerpc and sparc Today's linux-next build (powerpc allyesconfig) failed like this: > In file included from include/linux/mmzone.h:776, > from include/linux/gfp.h:5, > from include/linux/kmod.h:23, > from include/linux/module.h:14, > from init/version.c:11: > arch/powerpc/include/asm/mmzone.h:32: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'numa_cpumask_lookup_table' Caused by commit 082edb7bf443eb8eda15b482d16ad9dd8137ad24 ("numa, cpumask: move numa_node_id default implementation to topology.h") from the cpus4096 tree which removed the include of linux/topology.h from linux/mmzone.h. Same for sparc64 defconfig. Signed-off-by: Stephen Rothwell <[email protected]> Acked-b: Rusty Russell <[email protected]> Cc: ppc-dev <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2009-03-18Merge branch 'merge' of ↵Linus Torvalds4-64/+203
git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/ps3: ps3_defconfig updates powerpc/mm: Respect _PAGE_COHERENT on classic ppc32 SW powerpc/5200: Enable CPU_FTR_NEED_COHERENT for MPC52xx ps3/block: Replace mtd/ps3vram by block/ps3vram
2009-03-18x86: cpumask: x86 mmio-mod.c use cpumask_var_t for downed_cpusRusty Russell1-6/+13
Impact: cleanup, reduce memory usage for CONFIG_CPUMASK_OFFSTACK=y Part of the "getting rid of obsolete cpumask_t" patch: 1) Use cpumask_var_t: this is a pointer if CONFIG_CPUMASK_OFFSTACK=y 2) Call alloc_cpumask_var() on first entry into enter_uniprocessor() 3) Use modern cpumask_* functions. Signed-off-by: Rusty Russell <[email protected]> Cc: Pekka Paalanen <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2009-03-18x86: cpumask: update 32-bit APM not to mug current->cpus_allowedRusty Russell1-103/+145
Impact: cleanup, avoid cpumask games The APM code wants to run on CPU 0: we create an "on_cpu0" wrapper which uses work_on_cpu() if we're not already on cpu 0. This introduces a new failure mode: -ENOMEM, so we add an explicit err arg and handle Linux-style errnos in apm_err(). Signed-off-by: Rusty Russell <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Stephen Rothwell <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2009-03-18x86: microcode: cleanupIngo Molnar3-87/+97
Impact: cleanup Cc: Rusty Russell <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Dmitry Adamushko <[email protected]> Cc: Peter Oruba <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2009-03-18x86: cpumask: use work_on_cpu in arch/x86/kernel/microcode_core.cRusty Russell1-45/+61
Impact: don't play with current's cpumask Straightforward indirection through work_on_cpu(). One change is that the error code from microcode_update_cpu() is now actually plumbed back to microcode_init_cpu(), so now we printk if it fails on cpu hotplug. Signed-off-by: Rusty Russell <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Dmitry Adamushko <[email protected]> Cc: Peter Oruba <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2009-03-18[S390] make page table upgrade work againMartin Schwidefsky2-14/+35
After TASK_SIZE now gives the current size of the address space the upgrade of a 64 bit process from 3 to 4 levels of page table needs to use the arch_mmap_check hook to catch large mmap lengths. The get_unmapped_area* functions need to check for -ENOMEM from the arch_get_unmapped_area*, upgrade the page table and retry. Signed-off-by: Martin Schwidefsky <[email protected]>
2009-03-18[S390] make page table walking more robustMartin Schwidefsky3-5/+6
Make page table walking on s390 more robust. The current code requires that the pgd/pud/pmd/pte loop is only done for address ranges that are below the end address of the last vma of the address space. But this is not always true, e.g. the generic page table walker does not guarantee this. Change TASK_SIZE/TASK_SIZE_OF to reflect the current size of the address space. This makes the generic page table walker happy but it breaks the upgrade of a 3 level page table to a 4 level page table. To make the upgrade work again another fix is required. Signed-off-by: Martin Schwidefsky <[email protected]>
2009-03-18[S390] Dont check for pfn_valid() in uaccess_pt.cGerald Schaefer1-18/+0
pfn_valid() actually checks for a valid struct page and not for a valid pfn. Using xip mappings w/o struct pages, this will result in -EFAULT returned by the (page table walk) user copy functions, even though there is valid memory. Those user copy functions don't need a struct page, so this patch just removes the pfn_valid() check. Signed-off-by: Gerald Schaefer <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2009-03-18[S390] ftrace/mcount: fix kernel stack backchainHeiko Carstens1-2/+4
With packed stack the backchain is at a different location. Just use __SF_BACKCHAIN as an offset to store the backchain. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2009-03-18[S390] topology: define SD_MC_INIT to fix performance regressionHeiko Carstens1-0/+2
The default values for SD_MC_INIT cause an additional cpu usage of up to 40% on some network benchmarks compared to the plain SD_CPU_INIT values. So just define SD_MC_INIT to SD_CPU_INIT. More tuning needs to be done. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2009-03-18[S390] __div64_31 broken for CONFIG_MARCH_G5Martin Schwidefsky1-1/+1
The implementation of __div64_31 for G5 machines is broken. The comments in __div64_31 are correct, only the code does not do what the comments say. The part "If the remainder has overflown subtract base and increase the quotient" is only partially realized, the base is subtracted correctly but the quotient is only increased if the dividend had the last bit set. Using the correct instruction fixes the problem. Cc: [email protected] Reported-by: Frans Pop <[email protected]> Tested-by: Frans Pop <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2009-03-18cpumask: fix CONFIG_CPUMASK_OFFSTACK=y cpu hotunplug crashRusty Russell3-3/+13
Impact: Fix cpu offline when CONFIG_MAXSMP=y Changeset bc9b83dd1f66402b870301c3c7117b9c1484abb4 "cpumask: convert c1e_mask in arch/x86/kernel/process.c to cpumask_var_t" contained a bug: c1e_mask is manipulated even if C1E isn't detected (and hence not allocated). This is simply fixed by checking for NULL (which gcc optimizes out anyway of CONFIG_CPUMASK_OFFSTACK=n, since it knows ce1_mask can never be NULL). In addition, fix a leak where select_idle_routine re-allocates (and re-clears) c1e_mask on every cpu init. Reported-by: Ingo Molnar <[email protected]> Signed-off-by: Rusty Russell <[email protected]> Cc: Mike Travis <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2009-03-18powerpc/ps3: ps3_defconfig updatesGeoff Levand1-60/+190
Update ps3_defconfig. Sets these options: CONFIG_PS3_VRAM=m CONFIG_BLK_DEV_DM=m CONFIG_USB_HIDDEV=y CONFIG_EXT4_FS=y Signed-off-by: Geoff Levand <[email protected]> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
2009-03-18Merge commit 'gcl/merge' into mergeBenjamin Herrenschmidt54-1001/+2042
2009-03-17prevent boosting kprobes on exception addressMasami Hiramatsu1-0/+3
Don't boost at the addresses which are listed on exception tables, because major page fault will occur on those addresses. In that case, kprobes can not ensure that when instruction buffer can be freed since some processes will sleep on the buffer. kprobes-ia64 already has same check. Signed-off-by: Masami Hiramatsu <[email protected]> Cc: Ananth N Mavinakayanahalli <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-03-17powerpc/mm: Respect _PAGE_COHERENT on classic ppc32 SWKumar Gala1-3/+3
Since we now set _PAGE_COHERENT in the Linux PTE we shouldn't be clearing it out before we setup the SW TLB. Today all the SW TLB machines (603/e300) that we support are non-SMP, however there are some errata on some devices that cause us to set _PAGE_COHERENT via CPU_FTR_NEED_COHERENT. Signed-off-by: Kumar Gala <[email protected]> Signed-off-by: Grant Likely <[email protected]>
2009-03-17powerpc/5200: Enable CPU_FTR_NEED_COHERENT for MPC52xxPiotr Ziecik1-1/+3
BestComm, a DMA engine in MPC52xx SoC, requires snooping when CPU caches are enabled to work properly. Adding CPU_FTR_NEED_COHERENT fixes NFS problems on MPC52xx machines introduced by 'powerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup code' (sha1: 4c456a67f501b8b15542c7c21c28812bf88f484b). Signed-off-by: Piotr Ziecik <[email protected]> Signed-off-by: Grant Likely <[email protected]>
2009-03-17Fast TSC calibration: calculate proper frequency error boundsLinus Torvalds1-45/+56
In order for ntpd to correctly synchronize the clocks, the frequency of the system clock must not be off by more than 500 ppm (or, put another way, 1:2000), or ntpd will end up giving up on trying to synchronize properly, and ends up reseting the clock in jumps instead. The fast TSC PIT calibration sometimes failed this test - it was assuming that the PIT reads always took about one microsecond each (2us for the two reads to get a 16-bit timer), and that calibrating TSC to the PIT over 15ms should thus be sufficient to get much closer than 500ppm (max 2us error on both sides giving 4us over 15ms: a 270 ppm error value). However, that assumption does not always hold: apparently some hardware is either very much slower at reading the PIT registers, or there was other noise causing at least one machine to get 700+ ppm errors. So instead of using a fixed 15ms timing loop, this changes the fast PIT calibration to read the TSC delta over the individual PIT timer reads, and use the result to calculate the error bars on the PIT read timing properly. We then successfully calibrate the TSC only if the maximum error bars fall below 500ppm. In the process, we also relax the timing to allow up to 25ms for the calibration, although it can happen much faster depending on hardware. Reported-and-tested-by: Jesper Krogh <[email protected]> Cc: john stultz <[email protected]> Cc: Thomas Gleixner <[email protected]> Acked-by: Ingo Molnar <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-03-17Fix potential fast PIT TSC calibration startup glitchLinus Torvalds1-0/+9
During bootup, when we reprogram the PIT (programmable interval timer) to start counting down from 0xffff in order to use it for the fast TSC calibration, we should also make sure to delay a bit afterwards to allow the PIT hardware to actually start counting with the new value. That will happens at the next CLK pulse (1.193182 MHz), so the easiest way to do that is to just wait at least one microsecond after programming the new PIT counter value. We do that by just reading the counter value back once - which will take about 2us on PC hardware. Reported-and-tested-by: john stultz <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-03-17m68k: merge the non-MMU and MMU versions of siginfo.hGreg Ungerer3-101/+95
It is trivial to merge the non-MMU and MMU versions of siginfo.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of siginfo.h are not installed). Signed-off-by: Greg Ungerer <[email protected]>
2009-03-17m68k: use the MMU version of unistd.h for all m68k platformsGreg Ungerer3-749/+372
The MMU version of unistd.h can be use on non-MMU platrorms as well. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of unistd.h are not installed). Signed-off-by: Greg Ungerer <[email protected]>
2009-03-17m68k: merge the non-MMU and MMU versions of signal.hGreg Ungerer3-369/+212
It is trivial to merge the non-MMU and MMU versions of signal.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of signal.h are not installed). Signed-off-by: Greg Ungerer <[email protected]>
2009-03-17m68k: merge the non-MMU and MMU versions of ptrace.hGreg Ungerer3-170/+85
It is trivial to merge the non-MMU and MMU versions of ptrace.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of ptrace.h are not installed). Signed-off-by: Greg Ungerer <[email protected]>
2009-03-17m68k: use MMU version of setup.h for both MMU and non-MMUGreg Ungerer3-389/+374
The MMU version of setup.h can be used for all m68k platforms. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of setup.h are not installed). Signed-off-by: Greg Ungerer <[email protected]>
2009-03-16sparseirq, powerpc/cell: fix unused variable warning in interrupt.cStephen Rothwell1-2/+0
This new compiler warning: arch/powerpc/platforms/cell/interrupt.c: In function 'handle_iic_irq': arch/powerpc/platforms/cell/interrupt.c:240: warning: unused variable 'cpu' Triggers because the local variable 'cpu' became unused due to commit: dee4102: sparseirq: use kstat_irqs_cpu instead Remove the variable. Signed-off-by: Stephen Rothwell <[email protected]> Cc: Yinghai Lu <[email protected]> Cc: ppc-dev <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2009-03-16Merge branches 'irq/genirq' and 'linus' into irq/coreIngo Molnar301-3845/+5810
2009-03-16m68k: merge the non-MMU and MMU versions of sigcontext.hGreg Ungerer3-39/+22
It is trivial to merge the non-MMU and MMU versions of sigcontext.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of sigconext.h are not installed). Signed-off-by: Greg Ungerer <[email protected]>
2009-03-16m68k: merge the non-MMU and MMU versions of swab.hGreg Ungerer3-44/+26
It is trivial to merge the non-MMU and MMU versions of swab.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of swab.h are not installed). Signed-off-by: Greg Ungerer <[email protected]>
2009-03-16m68k: merge the non-MMU and MMU versions of param.hGreg Ungerer3-46/+23
It is trivial to merge the non-MMU and MMU versions of param.h. Without a single file "make headers_install" is broken for m68k (since each of the sub-varients of param.h are not installed). Signed-off-by: Greg Ungerer <[email protected]>
2009-03-15Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds29-53/+217
* master.kernel.org:/home/rmk/linux-2.6-arm: (23 commits) [ARM] Fix virtual to physical translation macro corner cases [ARM] update mach-types [ARM] 5421/1: ftrace: fix crash due to tracing of __naked functions MX1 fix include [ARM] 5419/1: ep93xx: fix build warnings about struct i2c_board_info [ARM] 5418/1: restore lr before leaving mcount ARM: OMAP: board-omap3beagle: set i2c-3 to 100kHz ARM: OMAP: Allow I2C bus driver to be compiled as a module ARM: OMAP: sched_clock() corrected ARM: OMAP: Fix compile error if pm.h is included [ARM] orion5x: pass dram mbus data to xor driver [ARM] S3C64XX: Fix s3c64xx_setrate_clksrc [ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/irq.c [ARM] S3C64XX: sparse warnings in arch/arm/plat-s3c64xx/s3c6400-clock.c [ARM] S3C64XX: Fix USB host clock mux list [ARM] S3C64XX: Fix name of USB host clock. [ARM] S3C64XX: Rename IRQ_UHOST to IRQ_USBH [ARM] S3C64XX: Do gpiolib configuration earlier [ARM] S3C64XX: Staticise s3c64xx_init_irq_eint() [ARM] SMDK6410: Declare iodesc table static ...
2009-03-14Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linusLinus Torvalds7-56/+60
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: MIPS: Mark Eins: Fix configuration. MIPS: Fix TIF_32BIT undefined problem when seccomp is disabled
2009-03-13MIPS: Mark Eins: Fix configuration.Ralf Baechle5-52/+54
Signed-off-by: Ralf Baechle <[email protected]>
2009-03-13MIPS: Fix TIF_32BIT undefined problem when seccomp is disabledZhang Le2-4/+6
Signed-off-by: Zhang Le <[email protected]> Signed-off-by: Ralf Baechle <[email protected]>
2009-03-13cpumask: convert node_to_cpumask_map[] to cpumask_var_tRusty Russell1-1/+1
Impact: fix (CONFIG_MAXSMP=y only) boot crash c032ef60d1aa9af33730b7a35bbea751b131adc1 "cpumask: convert node_to_cpumask_map[] to cpumask_var_t" didn't get this one conversion. There was a compile warning, but I missed it. Reported-by: Ingo Molnar <[email protected]> Signed-off-by: Rusty Russell <[email protected]> Cc: Mike Travis <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2009-03-13parisc: update defconfigsKyle McMartin5-831/+1681
Signed-off-by: Kyle McMartin <[email protected]>
2009-03-13parisc: define x->x mmio accessorsKyle McMartin1-0/+9
Bloody inconsiderate driver writers... Signed-off-by: Kyle McMartin <[email protected]>
2009-03-13parisc: convert cpu_check_affinity to new cpumask apiKyle McMartin2-6/+8
cpumask arg to the affinity function is now const, sort that out through the irq_desc implementations. Signed-off-by: Kyle McMartin <[email protected]>
2009-03-13parisc: convert (read|write)bwlq to inlinesKyle McMartin1-9/+33
Kills the 'value computed but not used' due to leX_to_cpu. Signed-off-by: Kyle McMartin <[email protected]>
2009-03-13parisc: fix use of new cpumask api in irq.cKyle McMartin1-4/+4
cpumask api needs to take a pointer to irq_desc[cpu].affinity Signed-off-by: Kyle McMartin <[email protected]>
2009-03-13parisc: update parisc for new irq_descMike Travis1-4/+4
Impact: cleanup, update to new cpumask API Irq_desc.affinity and irq_desc.pending_mask are now cpumask_var_t's so access to them should be using the new cpumask API. Signed-off-by: Mike Travis <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2009-03-13parisc: fix 64bit buildHelge Deller1-0/+1
Signed-off-by: Helge Deller <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2009-03-13parisc: add braces around arguments in assembler macrosHelge Deller2-8/+8
Add braces around the macro arguments, else for example "shl %r1, 5-3, %r2" would not expand to what you would assume. Signed-off-by: Helge Deller <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2009-03-13parisc: remove unused local out_putf labelHelge Deller1-1/+0
Signed-off-by: Helge Deller <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2009-03-13parisc: fix `struct pt_regs' declared inside parameter list warningHelge Deller1-0/+1
Fix those compile warnings: uaccess.h:244: warning: `struct pt_regs' declared inside parameter list uaccess.h:244: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Helge Deller <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2009-03-13parisc: fix section mismatch warningsHelge Deller1-6/+6
Signed-off-by: Helge Deller <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>