aboutsummaryrefslogtreecommitdiff
path: root/arch/sh/include
AgeCommit message (Collapse)AuthorFilesLines
2008-12-22sh: Provide a dyn_arch_ftrace struct definition.Paul Mundt1-2/+7
Needed for dynamic ftrace API changes. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22sh: Consolidate cpu_relax()/cpu_sleep() definitions across _32/_64.Paul Mundt3-5/+3
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22sh: Add a simple code dumper for SUPERH32 show_regs().Paul Mundt1-0/+1
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>
2008-12-22sh: Provide optimized unaligned loads on SH-4A.Paul Mundt2-1/+264
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>
2008-12-22sh: P4 ioremap pass-throughMagnus Damm2-0/+15
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>
2008-12-22sh: Add SH-4A optimized fastpath mutex implementation.Michael Trimarchi2-1/+111
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>
2008-12-22sh: Add platform-specific constants for SH7709Steve Glendinning2-0/+32
I'm using these constants in support of an in-house development board, and thought they may be useful to other users of SH7709. Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22sh: Provide optimized non-atomic bitops for SH-2A.Paul Mundt2-0/+145
This ties in the new SH-2A 32-bit non-atomic bitops. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22sh: Convert to generic bitops for IRQ-toggling implementation.Paul Mundt4-95/+7
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-22sh: dynamic ftrace support.Matt Fleming1-0/+21
First cut at dynamic ftrace support. Signed-off-by: Matt Fleming <mjf@gentoo.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-12-13Merge ../linux-2.6-x86Rusty Russell1-1/+0
Conflicts: arch/x86/kernel/io_apic.c kernel/sched.c kernel/sched_stats.h
2008-12-13cpumask: convert struct clock_event_device to cpumask pointers.Rusty Russell1-1/+1
Impact: change calling convention of existing clock_event APIs struct clock_event_timer's cpumask field gets changed to take pointer, as does the ->broadcast function. Another single-patch change. For safety, we BUG_ON() in clockevents_register_device() if it's not set. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Cc: Ingo Molnar <mingo@elte.hu>
2008-11-26sched: convert struct root_domain to cpumask_var_t, fixIngo Molnar1-1/+0
Mathieu Desnoyers reported this build failure on powerpc: kernel/sched.c: In function 'sd_init_NODE': kernel/sched.c:7319: error: non-static initialization of a flexible array member kernel/sched.c:7319: error: (near initialization for '(anonymous)') this happens because .span changed to cpumask_var_t, hence the static CPU_MASK_NONE initializers in the SD_*_INIT templates are not type-correct anymore. Remove them, as they default to empty anyway. Also remove them from IA64, MIPS and SH. Reported-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-11-12sh: Provide a sane valid_phys_addr_range() to prevent TLB reset with PMB.Paul Mundt1-0/+4
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>
2008-11-10sh: Handle fixmap TLB eviction more coherently.Paul Mundt1-0/+6
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>
2008-10-31sh: use the new byteorder headers.Harvey Harrison1-19/+17
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>
2008-10-28sh: Kill off long-dead HD64465 cchip support.Paul Mundt4-363/+0
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>
2008-10-28sh: Add on-chip RTC support for SH7722.Paul Mundt1-1/+1
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-10-23sh: asm/gpio.h needs linux/kernel.h for might_sleep()/WARN_ON().Paul Mundt1-0/+1
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-10-23sh: mach-highlander: Handle SCIF pinmuxing on R7785RP.Paul Mundt1-0/+6
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-10-23sh: sh7785 pinmux supportMagnus Damm1-0/+234
This patch implements pinmux tables for the sh7785 processor. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-10-22sh: improve pinmux support for single direction pinsMagnus Damm1-0/+1
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>
2008-10-21sh: Wire up oops reporting in the die notifier chain.Paul Mundt1-0/+1
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>
2008-10-21sh: gpio: Stub in dummy GPIO<->IRQ mapping routines.Paul Mundt1-0/+15
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>
2008-10-21sh: gpio: Include asm-generic/gpio.h for non-gpiolib stubs.Paul Mundt1-4/+2
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-10-20sh: Move SH-4 CPU headers down one more level.Paul Mundt2-0/+0
These accidentally got placed in to cpu-sh4 instead of cpu-sh4/cpu, push them down one more level. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-10-20sh: Migrate common board headers to mach-common/.Paul Mundt15-0/+0
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-10-20sh: Move the CPU definition headers from asm/ to cpu/.Paul Mundt4-0/+0
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-10-20sh: reduce Migo-R smc91x overrunsMagnus Damm1-0/+2
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>
2008-10-20sh: Fix up some merge damage.Paul Mundt1-0/+2
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-10-20Merge branch 'master' of ↵Paul Mundt1-2/+0
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: Documentation/kernel-parameters.txt arch/sh/include/asm/elf.h
2008-10-20sh: Add sh7720 pinmux codeMagnus Damm1-0/+174
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>
2008-10-20sh: Add sh7203 pinmux codeMagnus Damm1-0/+143
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>
2008-10-20sh: Add sh7723 pinmux codeMagnus Damm1-0/+254
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>
2008-10-20sh: Add sh7722 pinmux codeMagnus Damm1-0/+210
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>
2008-10-20sh: GPIO and pinmux base codeMagnus Damm1-2/+90
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-16[PATCH] remove unused ibcs2/PER_SVR4 in SET_PERSONALITYMartin Schwidefsky1-1/+1
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>
2008-10-04sh: More I/O routine overhauling.Paul Mundt3-175/+96
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-01video: sh_mobile_lcdcfb: Support HAVE_CLK=n configurations.Paul Mundt2-73/+1
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>
2008-10-01sh: Move the shared INTC code out to drivers/sh/Paul Mundt1-90/+2
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: Fix up the __raw_read/writeX() definitions.Paul Mundt1-41/+36
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>
2008-09-29sh: sh_ksyms_64 needs __strncpy_from_user() definition.Paul Mundt1-0/+2
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-29sh: Fix up uaccess_64 put/get_user() cast warnings.Paul Mundt1-8/+16
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21sh: Add FPU registers to regset interface.Paul Mundt2-3/+22
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21sh: Add missing asm/ftrace.h.Paul Mundt1-0/+8
This was missed with the ftrace support commit.. check it in now. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21sh: Move lookup_exception_vector() out to asm/system_32.h.Paul Mundt1-0/+25
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-21sh: Add a few more definitions to asm/sizes.h.Paul Mundt1-0/+5
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-21sh: Copy in asm/sizes.h helper from ARM.Paul Mundt1-0/+56
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-20sh: Support kernel stacks smaller than a page.Paul Mundt1-18/+14
This follows the powerpc commit f6a616800e68b61807d0f7bb0d5dc70665ef8046 '[POWERPC] Fix kernel stack allocation alignment'. SH has traditionally forced the thread order to be relative to the page size, so there were never any situations where the same bug was triggered by slub. Regardless, the usage of > 8kB stacks for the larger page sizes is overkill, so we switch to using slab allocations there, as per the powerpc change. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-17sh: Fix up headers_check regression.Paul Mundt1-3/+0
linux/mmzone.h isn't exported, kill it off from asm/setup.h and simply deal with it in the places that have a dependency instead. Signed-off-by: Paul Mundt <lethal@linux-sh.org>