summaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/cpu/sh5
Commit message (Collapse)AuthorAgeFilesLines
* sh: switch to generic kernel_thread()/kernel_execve()Al Viro2012-10-231-0/+19
| | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
* sh: Fix up TIF_NOTIFY_RESUME sans TIF_SIGPENDING handling.Al Viro2012-09-181-1/+1
| | | | | | | | | | | | | | | | | | | As Al notes, we missed a TIF_NOTIFY_RESUME check which caused any handlers without TIF_SIGPENDING also set to skip the notification: Looks like while it is in the relevant masks *and* checked in do_notify_resume() both on 32bit and 64bit variants since commit ab99c733ae73cce31f2a2434f7099564e5a73d95 ("sh: Make syscall tracer use tracehook notifiers, add TIF_NOTIFY_RESUME.") they are actually *not* reached without simulataneous SIGPENDING, since the actual glue in the callers had not been updated back then and still checks for _TIF_SIGPENDING alone when deciding whether to hit do_notify_resume() or not. Reported-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Tested-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'sh/multi-unwinders' into sh-latestPaul Mundt2012-06-131-22/+41
|\
| * sh64: Convert to unwinder API.Paul Mundt2012-05-241-22/+41
| | | | | | | | | | | | | | | | This switches over to use the sh unwinder API which brings it all in line with the general sh routines (which we shuffle around at the same time), and lets us kill off more sh64-specific cruft. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: use the new generic strnlen_user() functionPaul Mundt2012-06-131-41/+0Star
| | | | | | | | | | | | | | This discards both the _32 and _64 versions in favour of the consolidated generic one. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: switch to generic strncpy_from_user().Paul Mundt2012-06-131-41/+0Star
|/ | | | | | | | This kills off the special sh32/64 versions and adopts the generic version. It should be possible to optimize this for SH-4A unaligned loads, but this is a corner case that can be supported incrementally. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh64: Invert page fault fast-path error path values.Paul Mundt2012-05-141-1/+1
| | | | | | | | This brings the sh64 version in line with the sh32 one with regards to how errors are handled. Base work for further unification of the implementations. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh64: Utilize thread fault code encoding.Paul Mundt2012-05-141-11/+9Star
| | | | | | This plugs in fault code encoding for the sh64 page fault, too. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh64: Kill off unused trap_no/error_code from thread_struct.Paul Mundt2012-04-191-3/+0Star
| | | | | | | | | While the trap number and error code are passed around for debugging purposes, this occurs wholly independently of the thread struct values. These values were never part of the sigcontext ABI and are thus never passed anywhere, so we can just kill them off across the board. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: sh5 sh_clk_ops renameMagnus Damm2012-03-121-6/+6
| | | | | | | Convert sh5 to use sh_clk_ops. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
* Merge branch 'master' of ↵Paul Mundt2011-01-135-96/+30Star
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 into common/serial-rework Conflicts: arch/sh/kernel/cpu/sh2/setup-sh7619.c arch/sh/kernel/cpu/sh2a/setup-mxg.c arch/sh/kernel/cpu/sh2a/setup-sh7201.c arch/sh/kernel/cpu/sh2a/setup-sh7203.c arch/sh/kernel/cpu/sh2a/setup-sh7206.c arch/sh/kernel/cpu/sh3/setup-sh7705.c arch/sh/kernel/cpu/sh3/setup-sh770x.c arch/sh/kernel/cpu/sh3/setup-sh7710.c arch/sh/kernel/cpu/sh3/setup-sh7720.c arch/sh/kernel/cpu/sh4/setup-sh4-202.c arch/sh/kernel/cpu/sh4/setup-sh7750.c arch/sh/kernel/cpu/sh4/setup-sh7760.c arch/sh/kernel/cpu/sh4a/setup-sh7343.c arch/sh/kernel/cpu/sh4a/setup-sh7366.c arch/sh/kernel/cpu/sh4a/setup-sh7722.c arch/sh/kernel/cpu/sh4a/setup-sh7723.c arch/sh/kernel/cpu/sh4a/setup-sh7724.c arch/sh/kernel/cpu/sh4a/setup-sh7763.c arch/sh/kernel/cpu/sh4a/setup-sh7770.c arch/sh/kernel/cpu/sh4a/setup-sh7780.c arch/sh/kernel/cpu/sh4a/setup-sh7785.c arch/sh/kernel/cpu/sh4a/setup-sh7786.c arch/sh/kernel/cpu/sh4a/setup-shx3.c arch/sh/kernel/cpu/sh5/setup-sh5.c drivers/serial/sh-sci.c drivers/serial/sh-sci.h include/linux/serial_sci.h
| * sh: Tidy CPU probing and fixup section annotations.Paul Mundt2010-04-211-3/+1Star
| | | | | | | | | | | | | | | | This does a detect_cpu_and_cache_system() -> cpu_probe() rename, tidies up the unused return value, and stuffs it under __cpuinit in preparation for CPU hotplug. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Kill off timer clock strings for legacy CPG parts.Paul Mundt2010-03-291-3/+0Star
| | | | | | | | | | | | | | Now with the lookup aliases in place there is no longer any need to provide the clock string, kill it off for all legacy CPG CPUs. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Kill off all timer name clobbering.Paul Mundt2010-03-101-6/+0Star
| | | | | | | | | | | | | | Now that dev_name() can be used early, we no longer require a static string. Kill off all of the superfluous timer names. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Mass ctrl_in/outX to __raw_read/writeX conversion.Paul Mundt2010-01-261-4/+4
| | | | | | | | | | | | | | | | | | | | | | The old ctrl in/out routines are non-portable and unsuitable for cross-platform use. While drivers/sh has already been sanitized, there is still quite a lot of code that is not. This converts the arch/sh/ bits over, which permits us to flag the routines as deprecated whilst still building with -Werror for the architecture code, and to ensure that future users are not added. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh64: Fixup build breakage from breakpoint handler rename.Paul Mundt2010-01-191-1/+1
| | | | | | | | | | | | | | The breakpoint handler was renamed on sh32, but sh64 was overlooked in the conversion. Fix it up now. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh64: Use the shared FPU state restorer.Paul Mundt2010-01-192-60/+7Star
| | | | | | | | | | | | | | This kills off the sh64-specific state restorer and switches over to the generic one. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh64: Fix up the build for the thread_xstate changes.Paul Mundt2010-01-191-6/+6
| | | | | | | | | | | | | | This updates the sh64 processor info with the sh32 changes in order to tie in to the generic task_xstate management code. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Fix up FPU build for SH5Matt Fleming2009-12-151-2/+2
| | | | | | | | | | | | | | | | After the recent FPU optimisation commit the signature of save_fpu() changed. "regs" wasn't used in the implementation of save_fpu() anyway. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: sh5 scif pdata (sh5-101/sh5-103)Magnus Damm2009-12-151-13/+9Star
| | | | | | | | | | | | | | | | | | | | This patch breaks out the sh5 scif serial port platform data from a shared platform device to one platform device per port. Also, move the serial port to the list of early platform devices. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: TS_RESTORE_SIGMASK conversion.Paul Mundt2009-10-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | Replace TIF_RESTORE_SIGMASK with TS_RESTORE_SIGMASK and define our own set_restore_sigmask() function. This saves the costly SMP-safe set_bit operation, which we do not need for the sigmask flag since TIF_SIGPENDING always has to be set too. Based on the x86 and powerpc change. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Track the CPU family in sh_cpuinfo.Paul Mundt2009-08-151-0/+2
| | | | | | | | | | | | | | | | | | | | This adds a family member to struct sh_cpuinfo, which allows us to fall back more on the probe routines to work out what sort of subtype we are running on. This will be used by the CPU cache initialization code in order to first do family-level initialization, followed by subtype-level optimizations. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: convert processor device setup functions to arch_initcall()Magnus Damm2009-07-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert the processor platform device setup functions from __initcall() and sometimes device_initcall() to arch_initcall(). This makes sure that the platform devices are registered a bit earlier so the devices are available when drivers register using initcall levels earlier than device_initcall(). A good example is platform devices needed by i2c-sh_mobile.c which registers a bit earlier using subsys_initcall(). Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | serial: sh-sci: Move SCBRR calculation algo in to platform data.Paul Mundt2009-06-241-0/+1
| | | | | | | | | | | | | | | | This permits each port to select its own SCBRR calculation algorithm, rather than having it all ifdef'ed in the header. There are presently only 5 different variations that all parts fall under. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | serial: sh-sci: Move SCSCR_INIT in to platform data.Paul Mundt2009-06-241-0/+1
|/ | | | | | | This moves all of the SCSCR_INIT definitions in to the platform data, for future consolidation. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: clkfwk: module_clk -> peripheral_clk rename.Paul Mundt2009-05-131-3/+3
| | | | | | | For consistenct naming, and to allow us to fix up some confusion in the SH-Mobile clock framework, amongst other places. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: clkfwk: Make recalc return an unsigned long.Paul Mundt2009-05-111-6/+6
| | | | | | | This is prep work for cleaning up some of the rate propagation bits. Trivial conversion. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off sh64's hand-rolled syscall tracer.Paul Mundt2009-05-081-57/+0Star
| | | | | | | This is no longer necessary, as there are now sufficient generic alternatives available. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Finish the sh64 migration off of ARCH_USES_GETTIMEOFFSET.Paul Mundt2009-05-081-0/+118
| | | | | | | | This adds sh_tmu support to the SH-5 subtypes, which subsequently allows us to kill off time_64.c and use the now generic time_32.c. As a bonus, SH-5 now supports highres timers and tickless for the first time. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Move out rtc-sh registration from time_64.c to setup-sh5.cPaul Mundt2009-05-081-0/+31
| | | | | | | Now that the onchip_remap() mess is sorted out, the rtc-sh support code for SH-5 can follow the same approach as the other CPUs. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Integrate the SH-5 onchip_remap() more coherently.Paul Mundt2009-05-074-5/+54
| | | | | | | | | | | Presently this is special-cased for early initialization. While there are situations where these static early initializations are still necessary, with minor changes it is possible to use this for the regular ioremap implementation as well. This allows us to kill off the special-casing for the remap completely and to start tidying up all of the SH-5 special-casing in drivers. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Use __INIT macro instead of .text.init.Tim Abbott2009-04-281-2/+3
| | | | | | | | | | | | | The sh architecture has some code in the .text.init section, but it does not reference that section in its linker scripts. This change moves this code from the .text.init section to the .init.text section, which is presumably where it belongs. Signed-off-by: Tim Abbott <tabbott@mit.edu> Acked-by: Sam Ravnborg <sam@ravnborg.org> Acked-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* sh: SH-5 clk fwk support.Paul Mundt2008-09-292-0/+84
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh64: resume_kernel fix for kernel oops built with CONFIG_BKL_PREEMPT=y.Paul Mundt2008-09-051-10/+4Star
| | | | | | Follows the SH change. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Make syscall tracer use tracehook notifiers, add TIF_NOTIFY_RESUME.Paul Mundt2008-08-011-8/+9
| | | | | | | | | | | | | | This follows the changes in commits: 7d6d637dac2050f30a1b57b0a3dc5de4a10616ba 4f72c4279eab1e5f3ed1ac4e55d4527617582392 on powerpc. Adding in TIF_NOTIFY_RESUME, and cleaning up the syscall tracing to be more generic. This is an incremental step to turning on tracehook, as well as unifying more of the ptrace and signal code across the 32/64 split. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Tidy up the _TIF work masks, and fix syscall trace bug on singlestep.Paul Mundt2008-08-011-1/+1
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: migrate to arch/sh/include/Paul Mundt2008-07-291-1/+1
| | | | | | | | | | | | | This follows the sparc changes a439fe51a1f8eb087c22dd24d69cebae4a3addac. Most of the moving about was done with Sam's directions at: http://marc.info/?l=linux-sh&m=121724823706062&w=2 with subsequent hacking and fixups entirely my fault. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh64: Setup I/D-TLB defaults in SH-5 probe path.Paul Mundt2008-05-081-0/+4
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh64: Fixup the nommu build.Paul Mundt2008-05-081-0/+28
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix occasional FPU register corruption under preempt.Paul Mundt2008-03-261-0/+1
| | | | | | | | | | | Presently with preempt enabled there's the possibility to be preempted after the TIF_USEDFPU test and the register save, leading to bogus state post-__switch_to(). Use an explicit preempt_disable()/enable() pair around unlazy_fpu()/clear_fpu() to avoid this. Follows the x86 change. Reported-by: Takuo Koguchi <takuo.koguchi.sw@hitachi.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: replace remaining __FUNCTION__ occurrencesHarvey Harrison2008-03-061-1/+1
| | | | | | | | __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Get SH-5 caches working again post-unification.Paul Mundt2008-02-141-33/+28Star
| | | | | | | A number of cleanups to get the SH-5 cache management code in line with the rest of the SH backend. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: comment tidying for sh64->sh migration.Paul Mundt2008-01-284-15/+12Star
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: syscall auditing for sh5, too.Paul Mundt2008-01-281-4/+6
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Bring the SH-5 FPU in line with the SH-4 FPU API.Paul Mundt2008-01-281-9/+7Star
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Get the mach-cayman IRQ support building.Paul Mundt2008-01-282-19/+0Star
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Switch SH-5 to use CONFIG_PAGE_OFFSET.Paul Mundt2008-01-281-11/+11
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Stub in CPU subtype setup code for SH5-101/103.Paul Mundt2008-01-282-0/+22
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Plug in simple SH-5 subtype probing.Paul Mundt2008-01-282-2/+78
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off do_NMI stub in SH-5 ex table.Paul Mundt2008-01-281-1/+1
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>