aboutsummaryrefslogtreecommitdiff
path: root/arch/sh/kernel
AgeCommit message (Collapse)Author
2008-10-20sh: GPIO and pinmux base codeMagnus Damm
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>
2008-10-04sh: More I/O routine overhauling.Paul Mundt
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>
2008-10-01sh: Move the shared INTC code out to drivers/sh/Paul Mundt
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>
2008-10-01sh: Use __raw_xxx() I/O accessors for INTC and IPR.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-29sh: SH-5 clk fwk support.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-29sh: Fix up signal_64 cast warnings.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-24sh: Force pending restarted system calls to return -EINTR.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21sh: Add FPU registers to regset interface.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21sh: ftrace support.Paul Mundt
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>
2008-09-21sh: Trivial trace_mark() instrumentation for core events.Paul Mundt
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>
2008-09-21sh: Move lookup_exception_vector() out to asm/system_32.h.Paul Mundt
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>
2008-09-17sh: Fix up signal_64 conflicting handle_signal() definition.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-17sh: Fix up fpu emu build.Paul Mundt
The addition of the kprobes code pushed down a variable declaration, clean it up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-13sh: latencytop support.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12sh: Tidy up ELF core dumps.Paul Mundt
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>
2008-09-12sh: Check SR.DSP bit for DSP regset validity.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12sh: Add missing task_user_regset_view() definition.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12sh: Add DSP registers to regset interface.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12sh: Flag T-bit for syscall restart.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-12sh: ptrace: Introduce user_regset interface for gp regs.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-10sh: intc_prio_data() test before subtraction on unsignedroel kluin
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>
2008-09-09sh: kprobes: kretprobe_trampoline needs to be global.Paul Mundt
Needed by CONFIG_TRACING. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08sh: Derive calibrate_delay lpj from clk fwk.Paul Mundt
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>
2008-09-08sh: kprobes: __kprobes annotations and formatting cleanups.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08sh: kprobes: Fix up race against probe point removal.Paul Mundt
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>
2008-09-08sh: kprobes: Fix up a preemption imbalance on jprobe return.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08sh: kprobes: Default to NOTIFY_DONE for unhandled debug traps.Paul Mundt
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>
2008-09-08sh: kprobes: Use trapa #0x3a for breakpoint trap.Paul Mundt
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>
2008-09-08sh: kprobes: Hook up kprobe_fault_handler() in the page fault path.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08sh: Mark kretprobe_trampoline_holder static and __used.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08sh: Enable IRLM mode for SH7760 IRQ_MODE_IRQ.Luca Santini
Follows the same setting as SH7750. Signed-off-by: Luca Santini <luca.santini@spesonline.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08sh: Add kprobes support.Chris Smith
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>
2008-09-08sh: fix the TMU code to allow a fully running NO_HZ systemFrancesco Virlinzi
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>
2008-09-08sh: Subnormal double to float conversionCarl Shaw
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>
2008-09-08sh: Fix an unusual memory initialisation error.Stuart Menefy
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>
2008-09-08sh: Fix up broken 32-bit initrd support.Stuart Menefy
Signed-off-by: Stuart Menefy <stuart.menefy@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08sh: fixup many sparse errors.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08sh: Display CPU information in show_regs().Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08sh: Early dummy clockevent registration on boot CPU.Paul Mundt
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>
2008-09-08sh: smp: shove a cpu_relax() in the plat_start_cpu() busy loop.Paul Mundt
Without this, certain versions of GCC will happily optimize the entire loop out. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08sh: generic clockevent broadcast support.Paul Mundt
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>
2008-09-08sh: smp: Hook up a timer IPI stub.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08sh: smp: Hook in to the generic IPI handler for SH-X3 SMP.Paul Mundt
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08sh: smp: Provide a generic IPI handler.Paul Mundt
This provides a generic smp_message_recv() routine (based on the PPC one), that IPI IRQs can wrap in to. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-05sh64: resume_kernel fix for kernel oops built with CONFIG_BKL_PREEMPT=y.Paul Mundt
Follows the SH change. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-05sh: resume_kernel fix for kernel oops built with CONFIG_BKL_PREEMPT=y.Carmelo Amoroso
This patch fixes a problem within the SH implementation of resume_kernel code, that implements in assembly the bulk of preempt_schedule_irq function without taking care of the extra code needed to handle the BKL preemptible. The patch basically consists of removing this asm code and calling the common C implementation (see kernel/sched.c) as other archs do. Another change is the missing 'cli' macro invocation at the beginning of the resume_kernel. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-08-28sh: fix semtimedop syscallYoshihiro Shimoda
fix the problem that cannot work semtimedop system call. Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-08-28sh: fix kexec entry point for crash kernelsMagnus Damm
The crash kernel entry point is currently checked by the kexec kernel code and only physical addresses in the reserved memory window are accepted. This means that we can't pass P2 or P1 addresses as entry points in the case of crash kernels. This patch makes sure we can start crash kernels by adding support for physical address entry points. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-08-28sh: crash kernel resource fixMagnus Damm
The reserved crash kernel memory range is currently missing from /proc/iomem. crashk_res is mistakenly setup after __add_active_range(). Reorder things to make sure the resource shows up in /proc/iomem. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-08-25sh: fix ptrace_64.c:user_disable_single_step()Adrian Bunk
This patch fixes the following compile error caused by commit c459dbf294b4a3d70490a468a7ca3907fb2c2f57 (sh: ptrace single stepping cleanups.): <-- snip --> ... CC arch/sh/kernel/ptrace_64.o arch/sh/kernel/ptrace_64.c: In function 'user_disable_single_step': arch/sh/kernel/ptrace_64.c:134: error: 'regs' undeclared (first use in this function) arch/sh/kernel/ptrace_64.c:134: error: (Each undeclared identifier is reported only once arch/sh/kernel/ptrace_64.c:134: error: for each function it appears in.) ... make[2]: *** [arch/sh/kernel/ptrace_64.o] Error 1 <-- snip --> Reported-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>