aboutsummaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2009-09-30sh: Build fix: export __movmemLubomir Rintel1-0/+1
ERROR: "__movmem" [net/irda/irda.ko] undefined! ERROR: "__movmem" [fs/nfsd/nfsd.ko] undefined! ERROR: "__movmem" [fs/lockd/lockd.ko] undefined! ERROR: "__movmem" [crypto/sha1_generic.ko] undefined! Signed-off-by: Lubomir Rintel <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-09-30sh: Disable unaligned kernel access printks by default.Paul Mundt1-2/+2
Certain networking and USB workloads generate floods of these accesses, so just disable it by default (thereby restoring the old behaviour). The option remains configurable from userspace, and can still be used as a debugging aid. Signed-off-by: Paul Mundt <[email protected]>
2009-09-29sparc64: Cache per-cpu %pcr register value in perf code.David S. Miller1-17/+42
Signed-off-by: David S. Miller <[email protected]>
2009-09-30sh: mach-ecovec24: modify 1st MTD area to read onlyKuninori Morimoto1-1/+1
Tested-by: Yusuke Goda <[email protected]> Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-09-30sh: mach-ecovec24: Add TouchScreen supportKuninori Morimoto1-0/+42
Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-09-30m68knommu: fix rename of pt_regs offset defines breakageGreg Ungerer5-51/+51
Commit f159ee782990aacb5494738c98f13a2aa61dbb4a ("locking, m68k/asm-offsets: Rename pt_regs offset defines") breaks the m68knommu entry code that relies on these define names. Fix the files to match the new define names. Signed-off-by: Greg Ungerer <[email protected]>
2009-09-30m68knommu: remove duplicated #includeHuang Weiyi1-1/+0
Signed-off-by: Huang Weiyi <[email protected]> Signed-off-by: Greg Ungerer <[email protected]>
2009-09-30m68knommu: show KiB rather than pages in "Freeing initrd memory:" messageLennart Sorensen1-1/+1
Fix "Freeing initrd memory:" message m68knommu to show kilobytes as claimed rather than number of pages. Signed-off-by: Lennart Sorensen <[email protected]> Signed-off-by: Greg Ungerer <[email protected]>
2009-09-29sparc64: Fix comment typo in perf_event.cDavid S. Miller1-1/+1
Signed-off-by: David S. Miller <[email protected]>
2009-09-28sparc64: Minor coding style fixups in perf code.David S. Miller1-7/+5
These got introduced during the counter --> event tree-wide renaming. Signed-off-by: David S. Miller <[email protected]>
2009-09-28sparc64: Add a basic conflict engine in preparation for multi-counter support.David S. Miller1-5/+64
The hardware counter ->event_base state records and encoding of the "struct perf_event_map" entry used for the event. We use this to make sure that when we have more than 1 event, both can be scheduled into the hardware at the same time. As usual, structure of code is largely cribbed from powerpc. Signed-off-by: David S. Miller <[email protected]>
2009-09-29sparc64: implement page mapping percpu first chunk allocatorTejun Heo2-9/+47
Implement page mapping percpu first chunk allocator as a fallback to the embedding allocator. The next patch will make the embedding allocator check distances between units to determine whether it fits within the vmalloc area so that this fallback can be used on such cases. sparc64 currently has relatively small vmalloc area which makes it impossible to create any dynamic chunks on certain configurations leading to percpu allocation failures. This and the next patch should allow those configurations to keep working until proper solution is found. While at it, mark pcpu_cpu_distance() with __init. Signed-off-by: Tejun Heo <[email protected]> Acked-by: David S. Miller <[email protected]>
2009-09-28sparc64: Increase vmalloc size to fix percpu regressions.David S. Miller2-6/+6
Since we now use the embedding percpu allocator we have to make the vmalloc area at least as large as the stretch can be between nodes. Besides some minor asm adjustments, this turned out to be pretty trivial. Signed-off-by: David S. Miller <[email protected]>
2009-09-28ARM: Ensure do_cache_op takes mmap_semRussell King1-1/+4
do_cache_op() uses find_vma() to validate its arguments without holding any locking. This means that the VMA could vanish beneath us. Fix this by taking a read lock on mmap_sem. Signed-off-by: Russell King <[email protected]>
2009-09-28ARM: Fix __cpuexit section mismatch warningsRussell King2-4/+6
Fix: WARNING: vmlinux.o(.text+0x247c): Section mismatch in reference from the function cpu_idle() to the function .cpuexit.text:cpu_die() The function cpu_idle() references a function in an exit section. Often the function cpu_die() has valid usage outside the exit section and the fix is to remove the __cpuexit annotation of cpu_die. WARNING: vmlinux.o(.cpuexit.text+0x3c): Section mismatch in reference from the function cpu_die() to the function .cpuinit.text:secondary_start_kernel() The function __cpuexit cpu_die() references a function __cpuinit secondary_start_kernel(). This is often seen when error handling in the exit function uses functionality in the init path. The fix is often to remove the __cpuinit annotation of secondary_start_kernel() so it may be used outside an init section. Sam says: > The annotation of cpu_die() is wrong. > To be annotated __cpuexit the function shall: > - be used in exit context and only in exit context with HOTPLUG_CPU=n > - be used outside exit context with HOTPLUG_CPU=y So, this also means __cpu_disable(), __cpu_die() and twd_timer_stop() are also wrong. However, removing __cpuexit from cpu_die() creates: WARNING: vmlinux.o(.text+0x6834): Section mismatch in reference from the function cpu_die() to the function .cpuinit.text:secondary_start_kernel() The function cpu_die() references the function __cpuinit secondary_start_kernel(). This is often because cpu_die lacks a __cpuinit annotation or the annotation of secondary_start_kernel is wrong. so fix this using __ref. Signed-off-by: Russell King <[email protected]> Acked-by: Sam Ravnborg <[email protected]>
2009-09-28ARM: Don't allow highmem on SMP platforms without h/w TLB ops broadcastRussell King3-10/+50
We suffer an unfortunate combination of "features" which makes highmem support on platforms without hardware TLB maintainence broadcast difficult: - we need kmap_high_get() support for DMA cache coherence - this requires kmap_high() to take a spinlock with IRQs disabled - kmap_high() occasionally calls flush_all_zero_pkmaps() to clear out old mappings - flush_all_zero_pkmaps() calls flush_tlb_kernel_range(), which on s/w IPI'd systems eventually calls smp_call_function_many() - smp_call_function_many() must not be called with IRQs disabled: WARNING: at kernel/smp.c:380 smp_call_function_many+0xc4/0x240() Modules linked in: Backtrace: [<c00306f0>] (dump_backtrace+0x0/0x108) from [<c0286e6c>] (dump_stack+0x18/0x1c) r6:c007cd18 r5:c02ff228 r4:0000017c [<c0286e54>] (dump_stack+0x0/0x1c) from [<c0053e08>] (warn_slowpath_common+0x50/0x80) [<c0053db8>] (warn_slowpath_common+0x0/0x80) from [<c0053e50>] (warn_slowpath_null+0x18/0x1c) r7:00000003 r6:00000001 r5:c1ff4000 r4:c035fa34 [<c0053e38>] (warn_slowpath_null+0x0/0x1c) from [<c007cd18>] (smp_call_function_many+0xc4/0x240) [<c007cc54>] (smp_call_function_many+0x0/0x240) from [<c007cec0>] (smp_call_function+0x2c/0x38) [<c007ce94>] (smp_call_function+0x0/0x38) from [<c005980c>] (on_each_cpu+0x1c/0x38) [<c00597f0>] (on_each_cpu+0x0/0x38) from [<c0031788>] (flush_tlb_kernel_range+0x50/0x58) r6:00000001 r5:00000800 r4:c05f3590 [<c0031738>] (flush_tlb_kernel_range+0x0/0x58) from [<c009c600>] (flush_all_zero_pkmaps+0xc0/0xe8) [<c009c540>] (flush_all_zero_pkmaps+0x0/0xe8) from [<c009c6b4>] (kmap_high+0x8c/0x1e0) [<c009c628>] (kmap_high+0x0/0x1e0) from [<c00364a8>] (kmap+0x44/0x5c) [<c0036464>] (kmap+0x0/0x5c) from [<c0109dfc>] (cramfs_readpage+0x3c/0x194) [<c0109dc0>] (cramfs_readpage+0x0/0x194) from [<c0090c14>] (__do_page_cache_readahead+0x1f0/0x290) [<c0090a24>] (__do_page_cache_readahead+0x0/0x290) from [<c0090ce4>] (ra_submit+0x30/0x38) [<c0090cb4>] (ra_submit+0x0/0x38) from [<c0089384>] (filemap_fault+0x3dc/0x438) r4:c1819988 [<c0088fa8>] (filemap_fault+0x0/0x438) from [<c009d21c>] (__do_fault+0x58/0x43c) [<c009d1c4>] (__do_fault+0x0/0x43c) from [<c009e8cc>] (handle_mm_fault+0x104/0x318) [<c009e7c8>] (handle_mm_fault+0x0/0x318) from [<c0033c98>] (do_page_fault+0x188/0x1e4) [<c0033b10>] (do_page_fault+0x0/0x1e4) from [<c0033ddc>] (do_translation_fault+0x7c/0x84) [<c0033d60>] (do_translation_fault+0x0/0x84) from [<c002b474>] (do_DataAbort+0x40/0xa4) r8:c1ff5e20 r7:c0340120 r6:00000805 r5:c1ff5e54 r4:c03400d0 [<c002b434>] (do_DataAbort+0x0/0xa4) from [<c002bcac>] (__dabt_svc+0x4c/0x60) ... So we disable highmem support on these systems. Signed-off-by: Russell King <[email protected]>
2009-09-28ARM: includecheck fix: mach-davinci, board-dm365-evm.cJaswinder Singh Rajput1-1/+0
fix the following 'make includecheck' warning: arch/arm/mach-davinci/board-dm365-evm.c: mach/common.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <[email protected]> Acked-by: Kevin Hilman <[email protected]> Signed-off-by: Russell King <[email protected]>
2009-09-28ARM: Remove unused CONFIG SA1100_H3XXXJaswinder Singh Rajput2-6/+0
Removed unused CONFIG SA1100_H3XXX from Kconfig and defconfig Reported-by: Robert P. J. Day <[email protected]> Signed-off-by: Jaswinder Singh Rajput <[email protected]> Acked-by: Dmitry Artamonow <[email protected]> Cc: Philipp Zabel <[email protected]> Cc: Kristoffer Ericson <[email protected]> Signed-off-by: Russell King <[email protected]>
2009-09-28ARM: Fix warning: unused variable 'highmem'Russell King1-0/+2
Signed-off-by: Russell King <[email protected]>
2009-09-28ARM: Fix warning: #warning syscall migrate_pages not implementedRussell King1-0/+1
We're not implementing this syscall (we're not NUMA) so we might as well silence this warning. Signed-off-by: Russell King <[email protected]>
2009-09-28ARM: Fix SA11x0 clocksource warningRussell King1-1/+1
8e19608 missed updating SA11x0, and thus: arch/arm/mach-sa1100/time.c:88: warning: initialization from incompatible pointer type Signed-off-by: Russell King <[email protected]>
2009-09-28ARM: Fix section mismatch warning in Integrator pci_v3Russell King1-1/+1
WARNING: vmlinux.o(.text+0xc9d4): Section mismatch in reference from the function pci_v3_scan_bus() to the function .devinit.text:pci_scan_bus_parented() The function pci_v3_scan_bus() references the function __devinit pci_scan_bus_parented(). This is often because pci_v3_scan_bus lacks a __devinit annotation or the annotation of pci_scan_bus_parented is wrong. Signed-off-by: Russell King <[email protected]> Acked-by: Sam Ravnborg <[email protected]>
2009-09-28omap: Fix wrong condition check in while loop for mailbox and iommu2Hiroshi DOYU2-2/+2
It's worked fine so far since reset is done for the first time. Reported-by: Juha Leppanen <[email protected]> Signed-off-by: Hiroshi DOYU <[email protected]> Signed-off-by: Juha Leppanen <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2009-09-28sh: magicpanelr2 and dreamcast can use the generic I/O base.Paul Mundt2-4/+0
There is now no need for the magicpanelr2 and dreamcast platforms to set their own I/O port bas values, given that the generic machvec code now sets this to P2SEG for everyone. Signed-off-by: Paul Mundt <[email protected]>
2009-09-28sh: Don't enable interrupts in the page fault pathMatt Fleming1-2/+0
There's already code in do_page_fault() to conditionally enable interrupts, so we don't need to unconditonally enable them before calling it. This fixes a lockdep warning where we called trace_hardirqs_off() but with irqs still enabled. Signed-off-by: Matt Fleming <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2009-09-28sh: Set the default I/O port base to P2SEG.Paul Mundt1-0/+3
This bumps up the default I/O base to P2SEG, which allows legacy probing to bail out gracefully rather than oopsing. Platforms that have a real PIO offset still need to fix this up on their own, although most platforms are content with P2SEG already. The previous change to teach ioport_map() about >= P1SEG offsets in combination with this patch allows both the already remapped and the legacy address probing to pass through and succeed. Fixes up an oops with i8042 on the sh7785lcr board. Signed-off-by: Paul Mundt <[email protected]>
2009-09-28sh: Handle ioport_map() cases for >= P1SEG addresses.Paul Mundt1-0/+3
This fixes up the case where certain drivers already do their own remapping and subsequently attempt to use the PIO calls for I/O. In this case there is no additional remapping that needs to be done, and the address can be casted in to the cookie directly. Signed-off-by: Paul Mundt <[email protected]>
2009-09-28parisc: Fix linker script breakage.Helge Deller1-0/+10
Signed-off-by: Helge Deller <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2009-09-28parisc: convert to asm-generic/hardirq.hChristoph Hellwig2-24/+1
Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2009-09-27sparc64: Add initial perf event conflict resolution and checks.David S. Miller1-5/+77
Cribbed from powerpc code, as usual. :-) Currently it is only used to validate that all counters have the same user/kernel/hv attributes. Signed-off-by: David S. Miller <[email protected]>
2009-09-27parisc: Make THREAD_SIZE available to assembly files and linker scripts.Tim Abbott1-5/+5
Signed-off-by: Tim Abbott <[email protected]> Acked-by: Helge Deller <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2009-09-27parisc: correct use of SHF_ALLOCJulia Lawall1-1/+1
SHF_ALLOC is suitable for testing against the sh_flags field, not the sh_type field. Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2009-09-27parisc: rename parisc's vmalloc_start to parisc_vmalloc_startHelge Deller2-7/+8
building kernel 2.6.32(pre), gives this compiler warning: /linus-linux-2.6/mm/vmalloc.c: In function 'pcpu_get_vm_areas': /linus-linux-2.6/mm/vmalloc.c:2104: warning: 'vmalloc_start' is used uninitialized in this function The reason is, that the code in mm/vmalloc defines a local variable called vmalloc_start, which is already defined as global variable in parisc's code. To avoid this kind of problems in future, I suggest to rename the parisc variable to parisc_vmalloc_start. Signed-off-by: Helge Deller <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2009-09-27parisc: includecheck fix: signal.cJaswinder Singh Rajput1-1/+0
fix the following 'make includecheck' warning: arch/parisc/kernel/signal.c: linux/compat.h is included more than once. Signed-off-by: Jaswinder Singh Rajput <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2009-09-27parisc: HAVE_ARCH_TRACEHOOKKyle McMartin1-0/+1
Let 'er rip. Signed-off-by: Kyle McMartin <[email protected]>
2009-09-27parisc: add skeleton syscall.hKyle McMartin2-1/+44
Needed for lib/syscall.c when HAVE_ARCH_TRACEHOOK. Signed-off-by: Kyle McMartin <[email protected]>
2009-09-27parisc: stop using task->ptrace for {single,block}step flagsKyle McMartin4-18/+25
task->ptrace flags belong to generic code, so instead thief some TIF_ bits to use. Somewhat risky conversion of code to test TASK_FLAGS instead of TASK_PTRACE in assembly, but it looks alright in the end. Signed-off-by: Kyle McMartin <[email protected]>
2009-09-27parisc: split syscall_trace into two halvesKyle McMartin2-22/+25
Instead of fiddling with gr[20], restructure code to return whether or not to -ENOSYS. (Also do a bit of fiddling to let them take pt_regs directly instead of re-computing it.) Signed-off-by: Kyle McMartin <[email protected]>
2009-09-27parisc: add missing TI_TASK macro in syscall.SKyle McMartin1-1/+1
LDREG 0(%r1),%r1 really wants to be accessing thread_info.task, instead of hardcoding the 0. Signed-off-by: Kyle McMartin <[email protected]>
2009-09-27parisc: tracehook_signal_handlerKyle McMartin1-0/+4
This makes parisc call the standard tracehook_signal_handler hook in <linux/tracehook.h> after setting up a signal handler. Signed-off-by: Kyle McMartin <[email protected]>
2009-09-27parisc: tracehook_report_syscallKyle McMartin2-13/+14
This makes parisc use the standard tracehook_report_syscall_entry and tracehook_report_syscall_exit hooks in <linux/tracehook.h>. To do this, we need to access current->thread.regs, and to know whether we're entering or exiting the syscall, so add this to syscall_trace. Signed-off-by: Kyle McMartin <[email protected]>
2009-09-27alpha: Fix duplicate <asm/thread_info.h> includeLinus Torvalds1-1/+0
.. duplicated by merging the same fix twice, for details see commit 0d9df2515dbceb67d343c0f10fd3ff218380d524 ("Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes") Signed-off-by: Linus Torvalds <[email protected]>
2009-09-27const: mark struct vm_struct_operationsAlexey Dobriyan3-10/+10
* mark struct vm_area_struct::vm_ops as const * mark vm_ops in AGP code But leave TTM code alone, something is fishy there with global vm_ops being used. Signed-off-by: Alexey Dobriyan <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2009-09-27Merge branch 'release' of ↵Linus Torvalds2-1/+3
git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI: IA64=y ACPI=n build fix ACPI: Kill overly verbose "power state" log messages ACPI: fix Compaq Evo N800c (Pentium 4m) boot hang regression ACPI: Clarify resource conflict message thinkpad-acpi: fix CONFIG_THINKPAD_ACPI_HOTKEY_POLL build problem
2009-09-27Merge branch 'x86-fixes-for-linus' of ↵Linus Torvalds1-0/+11
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Fix hwpoison code related build failure on 32-bit NUMAQ
2009-09-27ACPI: IA64=y ACPI=n build fixLen Brown1-0/+2
ia64's sim_defconfig uses CONFIG_ACPI=n which now #define's acpi_disabled in <linux/acpi.h> So we shouldn't re-define it here in <asm/acpi.h> Signed-off-by: Len Brown <[email protected]>
2009-09-27x86: Fix hwpoison code related build failure on 32-bit NUMAQLinus Torvalds1-0/+11
This build failure triggers: In file included from include/linux/suspend.h:8, from arch/x86/kernel/asm-offsets_32.c:11, from arch/x86/kernel/asm-offsets.c:2: include/linux/mm.h:503:2: error: #error SECTIONS_WIDTH+NODES_WIDTH+ZONES_WIDTH > BITS_PER_LONG - NR_PAGEFLAGS Because due to the hwpoison page flag we ran out of page flags on 32-bit. Dont turn on hwpoison on 32-bit NUMA (it's rare in any case). Also clean up the Kconfig dependencies in the generic MM code by introducing ARCH_SUPPORTS_MEMORY_FAILURE. Signed-off-by: Linus Torvalds <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2009-09-27ACPI: fix Compaq Evo N800c (Pentium 4m) boot hang regressionZhao Yakui1-1/+1
Don't disable ARB_DISABLE when the familary ID is 0x0F. http://bugzilla.kernel.org/show_bug.cgi?id=14211 This was a 2.6.31 regression, and so this patch needs to be applied to 2.6.31.stable Signed-off-by: Zhao Yakui <[email protected]> Signed-off-by: Len Brown <[email protected]>
2009-09-26sparc: Niagara1 perf event support.David S. Miller1-0/+119
This chip is extremely limited, and many of the events supported are approximations at best. Signed-off-by: David S. Miller <[email protected]>
2009-09-26sparc: Add Niagara2 HW cache event support.David S. Miller1-0/+88
Signed-off-by: David S. Miller <[email protected]>