aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm
Commit message (Collapse)AuthorAge
* sh: Generic kgdb stub support.Paul Mundt2008-12-22
| | | | | | | | This migrates from the old bitrotted kgdb stub implementation and moves to the generic stub. In the process support for SH-2/SH-2A is also added, which the old stub never provided. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Enable HAVE_ARCH_TRACEHOOK for all SH, now that SH-5 supports it too.Paul Mundt2008-12-22
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Provide linux/regset.h interface for SH-5.Paul Mundt2008-12-22
| | | | | | Plugs in general and FPU regsets. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Provide asm/syscall.h for SH-5.Paul Mundt2008-12-22
| | | | | | This provides the asm/syscall.h implementation for sh64 parts. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up syscall_get_nr() comment in syscall_32.h.Paul Mundt2008-12-22
| | | | | | Residual copy-and-paste damage, fix it up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up the cpu_asid() return value on nommu.Paul Mundt2008-12-22
| | | | | | This ought to be unsigned long, rather than defaulting to int. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix an off-by-1 check in __mutex_fastpath_unlock().Paul Mundt2008-12-22
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up the SH-4A mutex fastpath semantics.Paul Mundt2008-12-22
| | | | | | | | | This fixes up the __mutex_fastpath_xxx() routines to match the semantics noted in the comment. Previously these were looping rather than doing a single-pass, which is counter-intuitive, as the slow path takes care of the looping for us in the event of contention. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: move the hp6xx pm codeMagnus Damm2008-12-22
| | | | | | | | | | Move the not-so-generic pm code from arch/sh/kernel/pm.c to the platform directory together with the rest of the hp6xx pm code. This is done to let non-hp6xx platforms enable CONFIG_PM. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add support for SH7201 CPU subtype.Peter Griffin2008-12-22
| | | | | | | This patch adds support for the SH-2A FPU based SH7201 processor subtype. Signed-off-by: Peter Griffin <pgriffin@mpc-data.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Provide a dyn_arch_ftrace struct definition.Paul Mundt2008-12-22
| | | | | | Needed for dynamic ftrace API changes. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Consolidate cpu_relax()/cpu_sleep() definitions across _32/_64.Paul Mundt2008-12-22
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add a simple code dumper for SUPERH32 show_regs().Paul Mundt2008-12-22
| | | | | | | | | | This implements a simple show_code() that is in turn plugged in to show_regs() to provide minimal code dumping at the end of the trace. Built on top of a simple instruction disassembler derived from the binutils opcode table. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Provide optimized unaligned loads on SH-4A.Paul Mundt2008-12-22
| | | | | | | | | | This adds support for unaligned loads on SH-4A, using the SH-4A's neutered movua.l instruction. As movua.l is r0-inspired, stores are still handled through the packed struct. Based on asm-generic/unaligned.h by Harvey Harrison. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: P4 ioremap pass-throughMagnus Damm2008-12-22
| | | | | | | | | | | | | | | | | | | | This patch adds a pass-through case when ioremapping P4 addresses. Addresses passed to ioremap() should be physical addresses, so the best option is usually to convert the virtual address to a physical address before calling ioremap. This will give you a virtual address in P2 which matches the physical address and this works well for most internal hardware blocks on the SuperH architecture. However, some hardware blocks must be accessed through P4. Converting the P4 address to a physical and then back to a P2 does not work. One example of this is the sh7722 TMU block, it must be accessed through P4. Without this patch P4 addresses will be mapped using PTEs which requires the page allocator to be up and running. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add SH-4A optimized fastpath mutex implementation.Michael Trimarchi2008-12-22
| | | | | | | Add fast mutex path implementation for the SH4A architecture Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Provide optimized non-atomic bitops for SH-2A.Paul Mundt2008-12-22
| | | | | | This ties in the new SH-2A 32-bit non-atomic bitops. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Convert to generic bitops for IRQ-toggling implementation.Paul Mundt2008-12-22
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: dynamic ftrace support.Matt Fleming2008-12-22
| | | | | | | First cut at dynamic ftrace support. Signed-off-by: Matt Fleming <mjf@gentoo.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Provide a sane valid_phys_addr_range() to prevent TLB reset with PMB.Paul Mundt2008-11-11
| | | | | | | | | | | | | | | With the PMB enabled, only P1SEG and up are covered by the PMB mappings, meaning that situations where out-of-bounds physical addresses are read from will lead to TLB reset after the PMB miss, allowing for use cases like dd if=/dev/mem to reset the TLB. Fix this up to make sure the reference is between __MEMORY_START (phys) and __pa(high_memory). This is coherent across all variants of sh/sh64 with and without MMU, though the PMB bug itself is only applicable to SH-4A parts. Reported-by: Hideo Saito <saito@densan.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Handle fixmap TLB eviction more coherently.Paul Mundt2008-11-10
| | | | | | | | | | | | | | | | | | There was a race in the kmap_coherent() implementation. While we guarded against preemption, there was nothing preventing eviction of the pre-faulted fixmap entry from the UTLB. Under certain workloads this would result in the fixmap entries used for cache colouring being evicted from the UTLB in the midst of a copy_page(). In addition to pre-faulting, we also make sure to preserve the PTEs in the kernel page table and introduce a cached PTE for kmap_coherent() usage. This follows a similar change on MIPS ("[MIPS] Fix aliasing bug in copy_to_user_page / copy_from_user_page"). Reported-by: Hideo Saito <saito@densan.co.jp> Reported-by: CHIKAMA Masaki <masaki.chikama@gmail.com> Tested-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: use the new byteorder headers.Harvey Harrison2008-10-31
| | | | | | 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: Kill off long-dead HD64465 cchip support.Paul Mundt2008-10-28
| | | | | | | | | | This code has been dead for many years. The last update it received was in 2003 in order to update it for the driver model changes, though it had already been in disarray and unused before that point. The only boards that ever used this chip have not had users in many years either, so it is finally safe to just kill it off and move on with life. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: asm/gpio.h needs linux/kernel.h for might_sleep()/WARN_ON().Paul Mundt2008-10-22
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: improve pinmux support for single direction pinsMagnus Damm2008-10-22
| | | | | | | | | | This patch improves the support for gpio pins that are hard wired to either input or output and lack control register association. A special force enum id is used to allow use without control register but still mark the gpio pin as input or output. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Wire up oops reporting in the die notifier chain.Paul Mundt2008-10-21
| | | | | | | | | | | Commit 3f5a54e371ca20b119b73704f6c01b71295c1714 ("ftrace: dump out ftrace buffers to console on panic") added an ftrace buffer dumper that hooks in to the die notifier chain and dumps out data in the oops path. Unfortunately SH supported ftrace but didn't support DIE_OOPS, so add that in and get it building again. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: gpio: Stub in dummy GPIO<->IRQ mapping routines.Paul Mundt2008-10-21
| | | | | | | IRQ modes are not presently supported, so stub in dummy definitions for now (taken from linux/gpio.h). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: gpio: Include asm-generic/gpio.h for non-gpiolib stubs.Paul Mundt2008-10-21
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Migrate common board headers to mach-common/.Paul Mundt2008-10-20
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Move the CPU definition headers from asm/ to cpu/.Paul Mundt2008-10-19
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: reduce Migo-R smc91x overrunsMagnus Damm2008-10-19
| | | | | | | | Improve Migo-R ethernet performance by reducing smc91x overruns. This is done by enabling SMC91X_NOWAIT and optimizing CS4 setup. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up some merge damage.Paul Mundt2008-10-19
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'master' of ↵Paul Mundt2008-10-19
|\ | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: Documentation/kernel-parameters.txt arch/sh/include/asm/elf.h
| * [PATCH] remove unused ibcs2/PER_SVR4 in SET_PERSONALITYMartin Schwidefsky2008-10-16
| | | | | | | | | | | | | | | | The SET_PERSONALITY macro is always called with a second argument of 0. Remove the ibcs argument and the various tests to set the PER_SVR4 personality. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
* | sh: Add sh7720 pinmux codeMagnus Damm2008-10-19
| | | | | | | | | | | | | | 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-19
| | | | | | | | | | | | | | 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-19
| | | | | | | | | | | | | | 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-19
| | | | | | | | | | | | | | 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-19
| | | | | | | | | | | | | | | | 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>
* | sh: More I/O routine overhauling.Paul Mundt2008-10-03
| | | | | | | | | | | | | | | | | | | | 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>
* | video: sh_mobile_lcdcfb: Support HAVE_CLK=n configurations.Paul Mundt2008-10-01
| | | | | | | | | | | | | | | | | | This provides a workaround for users of sh_mobile_lcdcfb that don't define HAVE_CLK and have otherwise sane clock initialization. At the same time, move the sh_mobile_lcdc.h header to include/video/. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Move the shared INTC code out to drivers/sh/Paul Mundt2008-10-01
| | | | | | | | | | | | | | 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: Fix up the __raw_read/writeX() definitions.Paul Mundt2008-10-01
| | | | | | | | | | | | | | These were doing largely bogus things and using the wrong typing for the address. Bring these in line with the ARM definitions. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: sh_ksyms_64 needs __strncpy_from_user() definition.Paul Mundt2008-09-29
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Fix up uaccess_64 put/get_user() cast warnings.Paul Mundt2008-09-29
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Add FPU registers to regset interface.Paul Mundt2008-09-21
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Add missing asm/ftrace.h.Paul Mundt2008-09-21
| | | | | | | | | | | | This was missed with the ftrace support commit.. check it in now. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Move lookup_exception_vector() out to asm/system_32.h.Paul Mundt2008-09-20
| | | | | | | | | | | | | | | | 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: Add a few more definitions to asm/sizes.h.Paul Mundt2008-09-20
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Copy in asm/sizes.h helper from ARM.Paul Mundt2008-09-20
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>