summaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' of ↵Paul Mundt2008-10-201-0/+2
|\ | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: Documentation/kernel-parameters.txt arch/sh/include/asm/elf.h
| * kernel/cpu.c: create a CPU_STARTING cpu_chain notifierManfred Spraul2008-09-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now, there is no notifier that is called on a new cpu, before the new cpu begins processing interrupts/softirqs. Various kernel function would need that notification, e.g. kvm works around by calling smp_call_function_single(), rcu polls cpu_online_map. The patch adds a CPU_STARTING notification. It also adds a helper function that sends the message to all cpu_chain handlers. Tested on x86-64. All other archs are untested. Especially on sparc, I'm not sure if I got it right. Signed-off-by: Manfred Spraul <manfred@colorfullife.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | Merge branch 'sh/gpiolib'Paul Mundt2008-10-2010-2/+7047
|\ \
| * | sh: Add sh7720 pinmux codeMagnus Damm2008-10-202-0/+1246
| | | | | | | | | | | | | | | | | | | | | This patch adds pinmux and gpio support for the sh7720 processor. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Add sh7203 pinmux codeMagnus Damm2008-10-202-0/+1604
| | | | | | | | | | | | | | | | | | | | | This patch adds pinmux and gpio support for the sh7203 processor. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Add sh7723 pinmux codeMagnus Damm2008-10-202-0/+1910
| | | | | | | | | | | | | | | | | | | | | This patch adds pinmux and gpio support for the sh7723 processor. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Add sh7722 pinmux codeMagnus Damm2008-10-202-0/+1787
| | | | | | | | | | | | | | | | | | | | | This patch adds pinmux and gpio support for the sh7722 processor. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: GPIO and pinmux base codeMagnus Damm2008-10-203-2/+500
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds gpio code together with the pinmux table parser. In the future we should optimize this and switch back to gpiolib. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | Fix debugfs_create_dir's error checking method for arch/sh/kernel/Zhaolei2008-10-201-0/+2
|/ / | | | | | | | | | | | | | | debugfs_create_dir() returns NULL if an error occurs, returns -ENODEV when debugfs is not enabled in the kernel. Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: More I/O routine overhauling.Paul Mundt2008-10-043-57/+19
| | | | | | | | | | | | | | | | | | | | This tidies up a lot of the PIO/MMIO split. No in-tree platforms were making use of the MMIO overloading through the machvec (nor have any of them been in some time), so we just kill all of that off. The ISA I/O routine wrapping remains unaffected, which remains the only special casing outside of the iomap API that boards need to think about. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Move the shared INTC code out to drivers/sh/Paul Mundt2008-10-012-714/+0
| | | | | | | | | | | | | | The INTC code will be re-used across different architectures, so move this out to drivers/sh/ and include/linux/sh_intc.h respectively. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Use __raw_xxx() I/O accessors for INTC and IPR.Paul Mundt2008-10-012-14/+14
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: SH-5 clk fwk support.Paul Mundt2008-09-293-161/+91
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Fix up signal_64 cast warnings.Paul Mundt2008-09-291-2/+2
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Force pending restarted system calls to return -EINTR.Paul Mundt2008-09-242-6/+18
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Add FPU registers to regset interface.Paul Mundt2008-09-212-5/+85
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: ftrace support.Paul Mundt2008-09-212-0/+48
| | | | | | | | | | | | | | This adds support for ftrace to SH. This only includes CONFIG_FTRACE, and does not handle dynamic ftrace presently. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Trivial trace_mark() instrumentation for core events.Paul Mundt2008-09-213-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements a few trace points across events that are deemed interesting. This implements a number of trace points: - The page fault handler / TLB miss - IPC calls - Kernel thread creation The original LTTng patch had the slow-path instrumented, which fails to account for the vast majority of events. In general placing this in the fast-path is not a huge performance hit, as we don't take page faults for kernel addresses. The other bits of interest are some of the other trap handlers, as well as the syscall entry/exit (which is better off being handled through the tracehook API). Most of the other trap handlers are corner cases where alternate means of notification exist, so there is little value in placing extra trace points in these locations. Based on top of the points provided both by the LTTng instrumentation patch as well as the patch shipping in the ST-Linux tree, albeit in a stripped down form. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Move lookup_exception_vector() out to asm/system_32.h.Paul Mundt2008-09-211-12/+4
| | | | | | | | | | | | | | | | There are other places where we want to have access to the trap/exception number, so move out the lookup_exception_vector() helper. While we're at it, refactor it slightly to return the vector instead. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Fix up signal_64 conflicting handle_signal() definition.Paul Mundt2008-09-171-0/+4
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Fix up fpu emu build.Paul Mundt2008-09-171-5/+3
| | | | | | | | | | | | | | The addition of the kprobes code pushed down a variable declaration, clean it up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: latencytop support.Paul Mundt2008-09-131-1/+22
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Tidy up ELF core dumps.Paul Mundt2008-09-123-34/+0
| | | | | | | | | | | | | | | | | | | | These have been using overrides for ELF_CORE_COPY_TASK_REGS and ELF_CORE_COPY_FPREGS while the generic versions can be used instead. Presently the pt_regs are also duplicated across elf_core_copy_regs() and elf_core_copy_task_regs(), this switches to simply copying out through elf_core_copy_regs() instead. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Check SR.DSP bit for DSP regset validity.Paul Mundt2008-09-121-0/+9
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Add missing task_user_regset_view() definition.Paul Mundt2008-09-121-0/+5
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Add DSP registers to regset interface.Paul Mundt2008-09-121-27/+59
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Flag T-bit for syscall restart.Paul Mundt2008-09-121-22/+31
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: ptrace: Introduce user_regset interface for gp regs.Paul Mundt2008-09-121-17/+99
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: intc_prio_data() test before subtraction on unsignedroel kluin2008-09-101-4/+6
| | | | | | | | | | | | | | bit is unsigned, so test before subtraction Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: kprobes: kretprobe_trampoline needs to be global.Paul Mundt2008-09-091-1/+3
| | | | | | | | | | | | Needed by CONFIG_TRACING. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Derive calibrate_delay lpj from clk fwk.Paul Mundt2008-09-081-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | All CPUs must have a sensible cpu_clk definition these days, which we can safely use for deriving the preset loops_per_jiffy. The only odd one out is SH-5, which hasn't been hammered in to the framework yet. Based on the ST patch. Signed-off-by: Francesco Virlinzi <francesco.virlinzi@st.com> Signed-off-by: Carl Shaw <carl.shaw@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: kprobes: __kprobes annotations and formatting cleanups.Paul Mundt2008-09-081-17/+20
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: kprobes: Fix up race against probe point removal.Paul Mundt2008-09-081-0/+11
| | | | | | | | | | | | | | Handle a corner case where another CPU or debugger removes the probe point from underneath us. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: kprobes: Fix up a preemption imbalance on jprobe return.Paul Mundt2008-09-081-0/+1
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: kprobes: Default to NOTIFY_DONE for unhandled debug traps.Paul Mundt2008-09-081-1/+1
| | | | | | | | | | | | | | | | | | Presently this is doing a force_sig() SIGTRAP, which is already taken care of in the generic code if no one asserts NOTIFY_STOP. Switch the default return to NOTIFY_DONE in the case of unhandled traps, so that the same trap may pass through to other users on the same die chain. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: kprobes: Use trapa #0x3a for breakpoint trap.Paul Mundt2008-09-081-2/+1
| | | | | | | | | | | | | | Not all parts support trapa #0xff, so use something within the debug trap range that's accessible on all parts. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: kprobes: Hook up kprobe_fault_handler() in the page fault path.Paul Mundt2008-09-081-1/+1
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Mark kretprobe_trampoline_holder static and __used.Paul Mundt2008-09-081-1/+1
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Enable IRLM mode for SH7760 IRQ_MODE_IRQ.Luca Santini2008-09-081-0/+5
| | | | | | | | | | | | | | Follows the same setting as SH7750. Signed-off-by: Luca Santini <luca.santini@spesonline.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Add kprobes support.Chris Smith2008-09-083-0/+574
| | | | | | | | | | | | | | | | | | Initial support for kprobes/kretprobes for 32-bit SH platforms. [ General cleanup and some rework for the kretprobe hash lock. -- PFM ] Signed-off-by: Chris Smith <chris.smith@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: fix the TMU code to allow a fully running NO_HZ systemFrancesco Virlinzi2008-09-081-58/+119
| | | | | | | | | | | | | | This patch fixes the TMU code to allow NO_HZ to work on sh Signed-off-by: Francesco Virlinzi <francesco.virlinzi@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Subnormal double to float conversionCarl Shaw2008-09-082-1/+53
| | | | | | | | | | | | | | | | | | This patch adds support for the SH4 to convert a subnormal double into a float by catching the FPE and implementing the FCNVDS instruction in software. Signed-off-by: Carl Shaw <carl.shaw@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Fix an unusual memory initialisation error.Stuart Menefy2008-09-081-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a problems with the set up of Linux memory: - When reserving memory at boot time, the code previously reserved the bottom page of memory, and then from one page up to the end of the bootmap. This had the desired effect, but was strictly speaking wrong, as the one page was actually whatever CONFIG_ZERO_PAGE_OFFSET had been set to. Signed-off-by: Stuart Menefy <stuart.menefy@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Fix up broken 32-bit initrd support.Stuart Menefy2008-09-081-8/+9
| | | | | | | | | | Signed-off-by: Stuart Menefy <stuart.menefy@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: fixup many sparse errors.Paul Mundt2008-09-0814-52/+63
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Display CPU information in show_regs().Paul Mundt2008-09-081-3/+9
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Early dummy clockevent registration on boot CPU.Paul Mundt2008-09-081-3/+4
| | | | | | | | | | | | | | | | The dummy timer needs to be registered on the boot CPU before the system timer clockevent is registered, or broadcasting doesn't work as advertized. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: smp: shove a cpu_relax() in the plat_start_cpu() busy loop.Paul Mundt2008-09-081-1/+1
| | | | | | | | | | | | | | Without this, certain versions of GCC will happily optimize the entire loop out. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: generic clockevent broadcast support.Paul Mundt2008-09-084-4/+70
| | | | | | | | | | | | | | | | This hooks up GENERIC_CLOCKEVENTS_BROADCAST and a dummy local timer, which we call in to from the timer IPI when no other local timer is provided. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: smp: Hook up a timer IPI stub.Paul Mundt2008-09-081-0/+18
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>