aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/kernel
AgeCommit message (Collapse)AuthorFilesLines
2010-08-15ARM: 6329/1: wire up sys_accept4() on ARMMikael Pettersson1-0/+1
sys_accept4() was added in kernel 2.6.28, but ARM was not updated to include it. The number and types of parameters is such that no ARM-specific processing is needed, so wiring up sys_accept4() just requires defining __NR_accept4 and adding a direct call in the syscall entry table. Tested with an EABI 2.6.35 kernel and Ulrich Drepper's original accept4() test program, modified to define __NR_accept4 for ARM. Using the updated unistd.h also eliminates a warning then building glibc (2.10.2 and newer) about accept4() being unimplemented. Signed-off-by: Mikael Pettersson <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-08-14ARM: 6326/1: kgdb: fix GDB_MAX_REGS no longer usederic miao1-1/+1
According to commit 22eeef4bb2a7fd225089c0044060ed1fbf091958 kgdb,arm: Individual register get/set for arm It's now replaced by DBG_MAX_REG_NUM. Cc: Jason Wessel <[email protected]> Signed-off-by: Eric Miao <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-08-13Mark arguments to certain syscalls as being constDavid Howells2-5/+5
Mark arguments to certain system calls as being const where they should be but aren't. The list includes: (*) The filename arguments of various stat syscalls, execve(), various utimes syscalls and some mount syscalls. (*) The filename arguments of some syscall helpers relating to the above. (*) The buffer argument of various write syscalls. Signed-off-by: David Howells <[email protected]> Acked-by: David S. Miller <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-08-10Merge branches 'master' and 'devel' into for-linusRussell King1-0/+34
Conflicts: arch/arm/Kconfig arch/arm/mm/Kconfig
2010-08-10ARM: 6294/1: etm: do a dummy read from OSSRR during initializationAlexander Shishkin1-1/+3
The first read from ETM OS save and restore register after the power down bit deassertion returns garbage. Cc: [email protected] Cc: [email protected] Signed-off-by: Alexander Shishkin <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-08-10ARM: 6292/1: coresight: add ETM management registersAlexander Shishkin1-1/+1
Add notion of ETM OS lock, save and restore registers. Cc: [email protected] Cc: [email protected] Signed-off-by: Alexander Shishkin <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-08-10ARM: 6288/1: ftrace: document mcount formatsRabin Vincent1-0/+36
Add a comment describing the mcount variants and how the callsites look like. Acked-by: Frederic Weisbecker <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-08-10ARM: 6287/1: ftrace: clean up mcount assembly indentationRabin Vincent1-44/+44
The mcount implementation currently uses a different indentation style from the rest of the file (and the rest of the ARM assembly in the kernel). Clean it up. Acked-by: Uwe Kleine-König <[email protected]> Acked-by: Frederic Weisbecker <[email protected]> Signed-off-by: Rabin Vincent <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-08-09Merge branch 'devel-stable' into develRussell King1-43/+81
2010-08-06Merge branch 'perf-core-for-linus' of ↵Linus Torvalds1-9/+9
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (162 commits) tracing/kprobes: unregister_trace_probe needs to be called under mutex perf: expose event__process function perf events: Fix mmap offset determination perf, powerpc: fsl_emb: Restore setting perf_sample_data.period perf, powerpc: Convert the FSL driver to use local64_t perf tools: Don't keep unreferenced maps when unmaps are detected perf session: Invalidate last_match when removing threads from rb_tree perf session: Free the ref_reloc_sym memory at the right place x86,mmiotrace: Add support for tracing STOS instruction perf, sched migration: Librarize task states and event headers helpers perf, sched migration: Librarize the GUI class perf, sched migration: Make the GUI class client agnostic perf, sched migration: Make it vertically scrollable perf, sched migration: Parameterize cpu height and spacing perf, sched migration: Fix key bindings perf, sched migration: Ignore unhandled task states perf, sched migration: Handle ignored migrate out events perf: New migration tool overview tracing: Drop cpparg() macro perf: Use tracepoint_synchronize_unregister() to flush any pending tracepoint call ... Fix up trivial conflicts in Makefile and drivers/cpufreq/cpufreq.c
2010-08-05Merge branch 'for_linus' of ↵Linus Torvalds1-43/+81
git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb: debug_core,kdb: fix crash when arch does not have single step kgdb,x86: use macro HBP_NUM to replace magic number 4 kgdb,mips: remove unused kgdb_cpu_doing_single_step operations mm,kdb,kgdb: Add a debug reference for the kdb kmap usage KGDB: Remove set but unused newPC ftrace,kdb: Allow dumping a specific cpu's buffer with ftdump ftrace,kdb: Extend kdb to be able to dump the ftrace buffer kgdb,powerpc: Replace hardcoded offset by BREAK_INSTR_SIZE arm,kgdb: Add ability to trap into debugger on notify_die gdbstub: do not directly use dbg_reg_def[] in gdb_cmd_reg_set() gdbstub: Implement gdbserial 'p' and 'P' packets kgdb,arm: Individual register get/set for arm kgdb,mips: Individual register get/set for mips kgdb,x86: Individual register get/set for x86 kgdb,kdb: individual register set and and get API gdbstub: Optimize kgdb's "thread:" response for the gdb serial protocol kgdb: remove custom hex_to_bin()implementation
2010-08-05arm,kgdb: Add ability to trap into debugger on notify_dieJason Wessel1-0/+34
Now that ARM implements the notify die handlers, add the ability for the kernel debugger to receive the notifications. Signed-off-by: Jason Wessel <[email protected]> CC: Russell King <[email protected]> CC: [email protected]
2010-08-05kgdb,arm: Individual register get/set for armJason Wessel1-43/+47
Implement the ability to individually get and set registers for kdb and kgdb for arm. Signed-off-by: Jason Wessel <[email protected]> CC: Russell King <[email protected]> CC: [email protected]
2010-08-05ARM: 6191/1: Do not compile the Thumb-2 module relocations on an ARM kernelCatalin Marinas1-0/+4
Kernels compiled to ARM do not need to handle Thumb-2 module relocations as interworking is not allowed. This patch #ifdef's out the handling of such relocations. Signed-off-by: Catalin Marinas <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-08-05ARM: 6190/1: Remove dummy loads from the original relocation addressCatalin Marinas1-2/+0
Reading back the upper and lower values in the R_ARM_THM_CALL and R_ARM_THM_JUMP24 case was introduced by a previous commit but they are not needed. Signed-off-by: Catalin Marinas <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-08-05ARM: 6189/1: Add support for the MOVW/MOVT relocations in Thumb-2Catalin Marinas1-0/+32
The patch adds handling case for the R_ARM_THM_MOVW_ABS_NC and R_ARM_THM_MOVT_ABS relocations in arch/arm/kernel/module.c. Such relocations may appear in Thumb-2 compiled kernel modules. Reported-by: Kyungmin Park <[email protected]> Signed-off-by: Catalin Marinas <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-31Merge branch 'devel-stable' into develRussell King7-10/+38
Conflicts: arch/arm/kernel/entry-armv.S arch/arm/kernel/setup.c arch/arm/mm/init.c
2010-07-31Merge branch 'misc' into develRussell King5-61/+116
Conflicts: arch/arm/mm/init.c
2010-07-31Merge branches 'at91', 'ep93xx', 'kexec', 'iop', 'lmb', 'nomadik', 'nuc', ↵Russell King9-43/+329
'pl', 'spear' and 'versatile' into devel
2010-07-29Merge branch 'arm/booting' of git://git.pengutronix.de/git/ukl/linux-2.6 ↵Russell King4-10/+14
into devel-stable Conflicts: arch/arm/Kconfig
2010-07-27ARM: call machine_shutdown() from machine_halt(), etcRussell King3-9/+18
x86 calls machine_shutdown() from the various machine_*() calls which take the machine down ready for halting, restarting, etc, and uses this to bring the system safely to a point where those actions can be performed. Such actions are stopping the secondary CPUs. So, change the ARM implementation of these to reflect what x86 does. This solves kexec problems on ARM SMP platforms, where the secondary CPUs were left running across the kexec call. Signed-off-by: Russell King <[email protected]>
2010-07-27ARM: SMP: Always enable clock event broadcast supportRussell King2-2/+7
The TWD local timers are unable to wake up the CPU when it is placed into a low power mode, eg. C3. Therefore, we need to adapt things such that the TWD code can cope with this. We do this by always providing a broadcast tick function, and marking the fact that the TWD local timer will stop in low power modes. This means that when the CPU is placed into a low power mode, the core timer code marks this fact, and allows an IPI to be given to the core. Tested-by: Santosh Shilimkar <[email protected]> Signed-off-by: Russell King <[email protected]> Cc: Catalin Marinas <[email protected]> Cc: Thomas Gleixner <[email protected]>
2010-07-27ARM: Factor out common code from cpu_proc_fin()Russell King2-5/+18
All implementations of cpu_proc_fin() start by disabling interrupts and then flush caches. Rather than have every processors proc_fin() implementation do this, move it out into generic code - and move the cache flush past setup_mm_for_reboot() (so it can benefit from having caches still enabled.) This allows cpu_proc_fin() to become independent of the L1/L2 cache types, and eventually move the L2 cache flushing into the L2 support code. Signed-off-by: Russell King <[email protected]>
2010-07-27Merge branch 'origin' into miscRussell King4-22/+24
2010-07-27ARM: 6225/1: make TCM allocation static and common for all archsLinus Walleij1-43/+48
This changes the TCM handling so that a fixed area is reserved at 0xfffe0000-0xfffeffff for TCM. This areas is used by XScale but XScale does not have TCM so the mechanisms are mutually exclusive. This change is needed to make TCM detection more dynamic while still being able to compile code into it, and is a must for the unified ARM goals: the current TCM allocation at different places in memory for each machine would be a nightmare if you want to compile a single image for more than one machine with TCM so it has to be nailed down in one place. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-27ARM: Convert platform reservations to use LMB rather than bootmemRussell King1-1/+1
Signed-off-by: Russell King <[email protected]>
2010-07-27ARM: initial LMB trialRussell King1-0/+3
Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-21Merge branch 'linus' into perf/coreIngo Molnar3-21/+23
Merge reason: Pick up the latest perf fixes. Signed-off-by: Ingo Molnar <[email protected]>
2010-07-21Merge git://git.kernel.org/pub/scm/linux/kernel/git/nico/orion into devel-stableRussell King4-22/+24
2010-07-18ARM: 6223/1: support multiple TCM banksLinus Walleij1-22/+46
CPUs v6 and up support multiple TCM banks, for example an ITCM of 8k is supplied in two 4k banks. This makes the TCM work on the 1176JZF-S devchip. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-18ARM: 6222/1: add memory types for the TCMsLinus Walleij1-3/+2
The earlier TCM memory regions were mapped as MT_MEMORY_UNCACHED which doesn't really work on platforms supporting the new v6 features like the NX bit. Add unique MT_MEMORY_[I|D]TCM types instead. Cc: Nicolas Pitre <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-16ARM: Remove DISCONTIGMEM supportRussell King1-2/+1
Everything should now be using sparsemem rather than discontigmem, so remove the code supporting discontigmem from ARM. Signed-off-by: Russell King <[email protected]>
2010-07-14ARM: 6226/1: fix kprobe bug in ldr instruction emulationNicolas Pitre1-2/+3
From: Bin Yang <[email protected]> Cc: [email protected] Signed-off-by: Bin Yang <[email protected]> Signed-off-by: Nicolas Pitre <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-10ARM: lockdep: fix unannotated irqs-onRussell King2-19/+20
CPU: Testing write buffer coherency: ok ------------[ cut here ]------------ WARNING: at kernel/lockdep.c:3145 check_flags+0xcc/0x1dc() Modules linked in: [<c0035120>] (unwind_backtrace+0x0/0xf8) from [<c0355374>] (dump_stack+0x20/0x24) [<c0355374>] (dump_stack+0x20/0x24) from [<c0060c04>] (warn_slowpath_common+0x58/0x70) [<c0060c04>] (warn_slowpath_common+0x58/0x70) from [<c0060c3c>] (warn_slowpath_null+0x20/0x24) [<c0060c3c>] (warn_slowpath_null+0x20/0x24) from [<c008f224>] (check_flags+0xcc/0x1dc) [<c008f224>] (check_flags+0xcc/0x1dc) from [<c00945dc>] (lock_acquire+0x50/0x140) [<c00945dc>] (lock_acquire+0x50/0x140) from [<c0358434>] (_raw_spin_lock+0x50/0x88) [<c0358434>] (_raw_spin_lock+0x50/0x88) from [<c00fd114>] (set_task_comm+0x2c/0x60) [<c00fd114>] (set_task_comm+0x2c/0x60) from [<c007e184>] (kthreadd+0x30/0x108) [<c007e184>] (kthreadd+0x30/0x108) from [<c0030104>] (kernel_thread_exit+0x0/0x8) ---[ end trace 1b75b31a2719ed1c ]--- possible reason: unannotated irqs-on. irq event stamp: 3 hardirqs last enabled at (2): [<c0059bb0>] finish_task_switch+0x48/0xb0 hardirqs last disabled at (3): [<c002f0b0>] ret_slow_syscall+0xc/0x1c softirqs last enabled at (0): [<c005f3e0>] copy_process+0x394/0xe5c softirqs last disabled at (0): [<(null)>] (null) Fix this by ensuring that the lockdep interrupt state is manipulated in the appropriate places. We essentially treat userspace as an entirely separate environment which isn't relevant to lockdep (lockdep doesn't monitor userspace.) We don't tell lockdep that IRQs will be enabled in that environment. Instead, when creating kernel threads (which is a rare event compared to entering/leaving userspace) we have to update the lockdep state. Do this by starting threads with IRQs disabled, and in the kthread helper, tell lockdep that IRQs are enabled, and enable them. This provides lockdep with a consistent view of the current IRQ state in kernel space. This also revert portions of 0d928b0b616d1c5c5fe76019a87cba171ca91633 which didn't fix the problem. Tested-by: Ming Lei <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-09ARM: 6122/1: kdump: add support for elfcorehdr parameterMika Westerberg1-0/+25
This parameter is used by primary kernel to pass address of vmcore header to the dump capture kernel. Signed-off-by: Mika Westerberg <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-09ARM: 6120/1: kdump: implement copy_oldmem_page()Mika Westerberg2-0/+61
This function is used by vmcore code to read a page from the old kernel memory. Signed-off-by: Mika Westerberg <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-09ARM: 6119/1: kdump: skip indirection page when crashingMika Westerberg1-0/+6
When we are crashing there is no indirection page in place. Only control page is present. Signed-off-by: Mika Westerberg <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-09ARM: 6118/1: kdump: implement machine_crash_shutdown()Mika Westerberg1-0/+4
Implement function machine_crash_shutdown() which disables IRQs and saves machine state to ELF notes structure. Signed-off-by: Mika Westerberg <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-09ARM: 6116/1: kdump: reserve memory for crashkernelMika Westerberg1-0/+51
Implemented ARM support for command line option "crashkernel=size@start" which allows user to reserve some memory for a dump capture kernel. Signed-off-by: Mika Westerberg <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-09ARM: 6207/1: Replace CONFIG_HAS_TLS_REG with HWCAP_TLS and check for it on V6Tony Lindgren3-27/+54
The TLS register is only available on ARM1136 r1p0 and later. Set HWCAP_TLS flags if hardware TLS is available and test for it if CONFIG_CPU_32v6K is not set for V6. Note that we set the TLS instruction in __kuser_get_tls dynamically as suggested by Jamie Lokier <[email protected]>. Also the __switch_to code is optimized out in most cases as suggested by Nicolas Pitre <[email protected]>. Reviewed-by: Nicolas Pitre <[email protected]> Signed-off-by: Tony Lindgren <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-09ARM: 6199/1: Add kprobe-based event tracerWill Deacon1-0/+96
This patch enables the HAVE_REGS_AND_STACK_ACCESS_API option for ARM which is required by the kprobe events tracer. Code based on the PowerPC port. Cc: Jean Pihet <[email protected]> Tested-by: Jamie Iles <[email protected]> Signed-off-by: Will Deacon <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-09ARM: 6197/2: preliminary support for sparse IRQeric miao2-14/+28
So to allow NR_IRQS to be dynamic and platforms to specify the number of IRQs really needed. Acked-by: Paul Mundt <[email protected]> Signed-off-by: Eric Miao <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-07-07ARM: deprecate support for old way to pass kernel parametersUwe Kleine-König4-10/+14
This was deprecated in 2001 and announced to live on for 5 years. For now provide a kernel parameter for those who still need it. Acked-by: Eric Miao <[email protected]> Signed-off-by: Uwe Kleine-König <[email protected]>
2010-07-05Merge commit 'v2.6.35-rc4' into perf/coreIngo Molnar1-1/+1
Merge reason: Pick up the latest perf fixes Signed-off-by: Ingo Molnar <[email protected]>
2010-07-04ARM: 6205/1: perf: ensure counter delta is treated as unsignedWill Deacon1-1/+1
Hardware performance counters on ARM are 32-bits wide but atomic64_t variables are used to represent counter data in the hw_perf_event structure. The armpmu_event_update function right-shifts a signed 64-bit delta variable and adds the result to the event count. This can lead to shifting in sign-bits if the MSB of the 32-bit counter value is set. This results in perf output such as: Performance counter stats for 'sleep 20': 18446744073460670464 cycles <-- 0xFFFFFFFFF12A6000 7783773 instructions # 0.000 IPC 465 context-switches 161 page-faults 1172393 branches 20.154242147 seconds time elapsed This patch ensures that the delta value is treated as unsigned so that the right shift sets the upper bits to zero. Cc: <[email protected]> Acked-by: Jamie Iles <[email protected]> Signed-off-by: Will Deacon <[email protected]> Signed-off-by: Russell King <[email protected]>
2010-06-14ARM: stack protector: change the canary value per taskNicolas Pitre2-0/+11
A new random value for the canary is stored in the task struct whenever a new task is forked. This is meant to allow for different canary values per task. On ARM, GCC expects the canary value to be found in a global variable called __stack_chk_guard. So this variable has to be updated with the value stored in the task struct whenever a task switch occurs. Because the variable GCC expects is global, this cannot work on SMP unfortunately. So, on SMP, the same initial canary value is kept throughout, making this feature a bit less effective although it is still useful. One way to overcome this GCC limitation would be to locate the __stack_chk_guard variable into a memory page of its own for each CPU, and then use TLB locking to have each CPU see its own page at the same virtual address for each of them. Signed-off-by: Nicolas Pitre <[email protected]>
2010-06-14ARM: initial stack protector (-fstack-protector) supportNicolas Pitre1-0/+6
This is the very basic stuff without the changing canary upon task switch yet. Just the Kconfig option and a constant canary value initialized at boot time. Signed-off-by: Nicolas Pitre <[email protected]>
2010-06-14[ARM] implement arch_randomize_brk()Nicolas Pitre1-0/+7
For this feature to take effect, CONFIG_COMPAT_BRK must be turned off. This can safely be turned off for any EABI user space versions. Signed-off-by: Nicolas Pitre <[email protected]>
2010-06-09perf: Convert perf_event to local_tPeter Zijlstra1-9/+9
Since now all modification to event->count (and ->prev_count and ->period_left) are local to a cpu, change then to local64_t so we avoid the LOCK'ed ops. Signed-off-by: Peter Zijlstra <[email protected]> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <[email protected]>
2010-05-25Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2-0/+4
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (103 commits) ARM: 6141/1: Add audio support part in arch/arm/mach-w90x900 ARM: 5939/1: ARM: Add option CMDLINE_FORCE to force usage of the in-kernel cmdline ARM: 6140/1: silence a bogus sparse warning in unwind.c ARM: mach-at91: duplicated include ARM: arch/arm/nwfpe/fpsr.h: Checkpatch cleanup ARM: arch/arm/mach-shark/pci.c: Checkpatch cleanup ARM: arch/arm/nwfpe/ChangeLog: Checkpatch cleanup ARM: arch/arm/mach-sa1100/leds.c: Checkpatch cleanup ARM: arch/arm/mach-h720x/common.h: Checkpatch cleanup ARM: arch/arm/mach-footbridge/ebsa285-pci.c: Checkpatch cleanup ARM: arch/arm/mach-clps711x/Makefile.boot: Checkpatch cleanup ARM: arch/arm/boot/bootp/bootp.lds: Checkpatch cleanup ARM: SPEAR6xx: remove duplicated #include ARM: s3c6400_defconfig: Add NAND driver ARM: s3c6400_defconfig: enable sound as modules ARM: s3c6400_defconfig: enable power management ARM: s5pv210_defconfig: Update s5pv210_defconfig to v2.6.34 ARM: s5pc110_defconfig: Update s5pc110_defconfig to v2.6.34 ARM: s5p6442_defconfig: Update s5p6442_defconfig to v2.6.34 ARM: s5p6440_defconfig: Update s5p6440_defconfig to v2.6.34 ...