summaryrefslogtreecommitdiffstats
path: root/arch/sh
Commit message (Collapse)AuthorAgeFilesLines
* sh: Migrate from PG_mapped to PG_dcache_dirty.Paul Mundt2009-07-2211-142/+81
| | | | | | | | | | | | | | | | | This inverts the delayed dcache flush a bit to be more in line with other platforms. At the same time this also gives us the ability to do some more optimizations and cleanup. Now that the update_mmu_cache() callsite only tests for the bit, the implementation can gradually be split out and made generic, rather than relying on special implementations for each of the peculiar CPU types. SH7705 in 32kB mode and SH-4 still need slightly different handling, but this is something that can remain isolated in the varying page copy/clear routines. On top of that, SH-X3 is dcache coherent, so there is no need to bother with any of these tests in the PTEAEX version of update_mmu_cache(), so we kill that off too. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Provide _PAGE_SPECIAL for 32-bit.Paul Mundt2009-07-221-4/+10
| | | | | | | Allocate one of the unused PTE bits for _PAGE_SPECIAL directly. This is prep work for fast gup and the zero page revival. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
*-. Merge branches 'sh/compressors' and 'sh/stable-updates'Paul Mundt2009-07-214-23/+40
|\ \
| * | sh: bzip2/lzma uImage support.Paul Mundt2009-07-214-23/+40
| | | | | | | | | | | | | | | | | | | | | This builds on the bzip2/lzma zImage support change and wires it up for uImages. Based on the blackfin implementation. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: Clean up linker script using new BSS_SECTION macro.Tim Abbott2009-07-201-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updated to use the fixed BSS linker script macros from this thread: http://www.spinics.net/lists/kernel/msg913238.html Signed-off-by: Tim Abbott <tabbott@ksplice.com> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: linux-sh@vger.kernel.org Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | |
| \ \
*-. \ \ Merge branches 'sh/hwblk' and 'sh/platform-updates'Paul Mundt2009-07-2011-82/+256
|\ \ \ \
| | * | | usb: r8a66597-hcd platform data on_chip supportMagnus Damm2009-07-203-2/+3
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert the r8a66597-hcd driver to use the on_chip flag from platform data to enable on chip behaviour instead of relying on CONFIG_SUPERH_ON_CHIP_R8A66597 ugliness. This makes the code cleaner and also allows us to support both external and internal r8a66597 with the same kernel. It also makes the Kconfig part more future proof since we with this patch can add support for new processors with on-chip r8a66597 without modifying the Kconfig. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | headers: smp_lock.h reduxAlexey Dobriyan2009-07-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Remove smp_lock.h from files which don't need it (including some headers!) * Add smp_lock.h to files which do need it * Make smp_lock.h include conditional in hardirq.h It's needed only for one kernel_locked() usage which is under CONFIG_PREEMPT This will make hardirq.h inclusion cheaper for every PREEMPT=n config (which includes allmodconfig/allyesconfig, BTW) Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * | | sh: hwblk support for sh7723Magnus Damm2009-07-204-53/+193
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds hwblk 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 support for multiple hwblk countersMagnus Damm2009-07-203-26/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the SuperH hwblk code to support more than one counter. Contains ground work for the future Runtime PM implementation. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: Kill off zero-sized vmlinux_64.lds.SPaul Mundt2009-07-141-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | This seems to be some merge damage, kill it off. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: Restore previous behaviour on kernel faultMatt Fleming2009-07-131-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The last commit changed the behaviour on kernel faults when we were doing something other than syncing the page tables. vmalloc_sync_one() needs to return NULL if the page tables are up to date, because the reason for the fault was not a missing/inconsitent page table entry. By returning NULL if the page tables are sync'd we signal to the calling function that further work must be done to resolve this fault. Also, remove the superfluous __va() around the first argument to vmalloc_sync_one(). The value of pgd_k is already a virtual address and using it wth __va() causes a NULL dereference. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | Merge branches 'sh/compressors' and 'sh/ftrace'Paul Mundt2009-07-127-73/+60
|\ \ \ \ | |_|_|/ |/| | |
| * | | sh: Fix up stack overflow check with ftrace disabled.Paul Mundt2009-07-111-36/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Presently the STACK_CHECK() code is called in to multiple times, although it's only necessary from the mcount entry. The code still attempts to treat the nop case as an ftrace path resulting in superfluous code flow for the case where ftrace is disabled. And finally, this also fixes up references to a few undefined symbols when FUNCTION_TRACER=n. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Fix up ftrace build error when STACK_DEBUG=n.Paul Mundt2009-07-111-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Presently the closest reference to function_trace_stop is within a CONFIG_STACK_DEBUG block. When this is turned off, the build bails out with a pcrel too far error. Reorder things a bit to handle the various combinations. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Use DECLARE_EXPORT() for mcount symbol export.Paul Mundt2009-07-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The function prototype for mcount is not defined if we are not building with ftrace support enabled, so use DECLARE_EXPORT() to stub one in. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Replace DEBUG_STACKOVERFLOW with STACK_DEBUG.Paul Mundt2009-07-112-30/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | STACK_DEBUG ties in to mcount in order to do function-granular stack overflow checks as opposed to lazily checking from IRQ context. As the default is nohz, the frequency of overflow checking is too irregular to catch much useful information, and so the mcount approach employed by sparc64 is adopted instead. This kills off the old check entirely from the do_IRQ() path and now adopts CONFIG_MCOUNT instead. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Decouple mcount from ftrace.Paul Mundt2009-07-115-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a general CONFIG_MCOUNT in order to permit mcount generation without ftrace support. This is primarily for allowing platforms to enable aggressive stack overflow checking without having to enable ftrace support. Based on the sparc64 implementation. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh64: Don't use PHYSADDR() for output_addr calculation.Paul Mundt2009-07-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Opencode the MEMORY_START offset directly, sh64 uses a slightly different calculation. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: rename arch/sh/boot/compressed/misc_32.c -> misc.cPaul Mundt2009-07-113-111/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is now used by both sh64 and regular sh, kill off the old sh64 version now too. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: Consolidate the sh64 changes in arch/sh/boot/compressed/misc_32.cPaul Mundt2009-07-111-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes some minor changes to misc_32.c so that it can be used by sh64. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: bzip2/lzma zImage support.Paul Mundt2009-07-117-13/+55
| | | | | | | | | | | | | | | | | | | | | | | | This plugs in bzip2 and lzma support for zImages. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: Tidy up gzip-based zImage decompression.Paul Mundt2009-07-123-215/+19
|/ / / | | | | | | | | | | | | | | | | | | This brings the zImage handling in to the current century, in preparation for handling the other compression types. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | |
| \ \
*-. \ \ Merge branches 'sh/ftrace' and 'sh/stable-updates'Paul Mundt2009-07-1111-4/+345
|\ \ \ \ | | | |/ | | |/|
| | * | sched: INIT_PREEMPT_COUNTPeter Zijlstra2009-07-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull the initial preempt_count value into a single definition site. Maintainers for: alpha, ia64 and m68k, please have a look, your arch code is funny. The header magic is a bit odd, but similar to the KERNEL_DS one, CPP waits with expanding these macros until the INIT_THREAD_INFO macro itself is expanded, which is in arch/*/kernel/init_task.c where we've already included sched.h so we're good. Cc: tony.luck@intel.com Cc: rth@twiddle.net Cc: geert@linux-m68k.org Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Acked-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * | | sh: Mark __switch_to() as __notrace_funcgraphMatt Fleming2009-07-111-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Annotate __switch_to() so that the function graph tracer does not try to trace it. Use __notrace_funcgraph, as opposed to notrace, so that other tracers can continue to trace __switch_to(). The reason that we don't want to trace __switch_to() with the function graph tracer is because of how the return address stack in task_struct is implemented. When we enter __switch_to we store the real return address on prev's ret_stack. When we return from __switch_to() we've patched the return address on the kernel stack to be return_to_handler. Calling return_to_handler we do, -> ftrace_return_to_handler() -> ftrace_pop_return_ftrace() Which tries to pop the real return address from current->ret_stack. The problem being that we stored the return address on prev->ret_stack, but current now points to next, and next->ret_stack doesn't contain the correct return address (and is possibly even empty). Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Function graph tracer supportMatt Fleming2009-07-117-1/+244
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Add both dynamic and static function graph tracer support for sh. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Provide diagnostic kernel stack checksMatt Fleming2009-07-113-0/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable kernel stack checking code in both the dynamic ftrace and mcount code paths. Check the stack to see if it's overflowing and make sure that the stack pointer contains an address that's either in init_stack or after the bss. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: Clean up linker script using new linker script macros.Tim Abbott2009-07-101-76/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch converts the sh architecture to use the new linker script macros in include/asm-generic/vmlinux.lds.h. Signed-off-by: Tim Abbott <tabbott@ksplice.com> Cc: Paul Mundt <lethal@linux-sh.org> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: linux-sh@vger.kernel.org Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | Merge branches 'sh/ftrace' and 'sh/cachetlb'Paul Mundt2009-07-0619-134/+692
|\ \ \ \ | |/ / / |/| | |
| * | | sh: Tidy up vmalloc fault handling.Paul Mundt2009-07-051-56/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This rewrites the vmalloc fault handling as per x86, which subsequently allows for easy future tie-in for vmalloc_sync_all(). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: use kprobes_built_in() for notify_page_fault().Paul Mundt2009-07-051-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | Kill off the KPROBES ifdef, as per x86. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | | |
| | \ \
| *-. \ \ Merge branches 'sh/hwblk', 'sh/cpuidle' and 'sh/stable-updates'Paul Mundt2009-07-0513-43/+510
| |\ \ \ \ | | | |/ /
| | | * | sh: add r8a66597 usb0 host to the se7724 boardMagnus Damm2009-07-051-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add USB host support for port CN27 on the Solution Engine 7724 board. The r8a66597-hcd driver is hooked up as a platform device and some registers are configured to enable the USB host function. The hardware driving the USB port is the on-chip USB0 block in the sh7724 processor configured as USB host controller. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | | sh: cpuidle for SuperH Mobile using hwblkMagnus Damm2009-07-054-13/+125
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds cpuidle support for SuperH Mobile. The sleep mode selected by cpuidle is compared with the mode selected by the hwblk sleep code and the best allowed mode is entered. At this point "Sleep mode" and "Sleep mode + SF" are supported. This code can easily be extended to support "Software suspend mode", but the assembly code must first be updated to avoid loosing interrupts. Also, update the code to only copy the assembly snippet into internal memory once at bootup. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | sh: hwblk for sh7722Magnus Damm2009-07-054-29/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch contains the sh7722 specific hwblk implementation. Hwblk ids are added to the processor specific header file, module stop bits and areas are kept track of as hwblks, clocks are converted to make use of the shared hwblk code. Code to determine allowed sleep modes is also added. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | sh: hwblk base implementationMagnus Damm2009-07-054-1/+194
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is the hwblk base implementation, containing structures and shared functions dealing with hardware blocks. A each processor model should provide a list of hwblks and describe which module stop bit that is associated with each hwblck and how the hwblks are grouped together into areas. The shared code keeps track of the usage count for each hwblk and the areas. Fallback implementations for processor specific code are also kept as weak symbols. The clock framework, the runtime pm code and cpuidle will all tie into this hwblk implementation. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Use bootmem ontop of lmb for NUMAMatt Fleming2009-07-051-13/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Like the UP case, use lmb as the foundation of memory resource management on NUMA. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Use bootmem ontop of lmbMatt Fleming2009-07-033-19/+59
| | |/ | |/| | | | | | | | | | | | | | | | Rework the bootmem allocator to use the lmb framework. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: define PERF_COUNTER_INDEX_OFFSET.Paul Mundt2009-07-031-0/+2
| |/ | | | | | | | | | | Fixes up recent build breakage. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Add ftrace syscall tracing supportMatt Fleming2009-07-068-10/+100
| | | | | | | | | | | | | | | | | | Now that I've added TIF_SYSCALL_FTRACE the thread flags do not fit into a single byte any more. Code testing them now needs to be aware of the upper and lower bytes. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Define HAVE_FUNCTION_TRACE_MCOUNT_TESTMatt Fleming2009-07-062-1/+17
| | | | | | | | | | | | | | | | | | Enable HAVE_FUNCTION_TRACE_MCOUNT_TEST and test the value of function_trace_stop from our assembly code as opposed to using the generic C function. This should optimise our mcount/ftrace code path. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Fix the value of MCOUNT_INSN_OFFSETMatt Fleming2009-07-061-2/+2
|/ | | | | | | | | | It seems that MCOUNT_INSN_OFFSET was calculating the distance between the wrong functions. The value that should have actually been computed is the distance between ftrace_call and ftrace_stub. I discovered this when I added some code to ftrace_caller. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix compiler error and include the definition of IS_ERR_VALUEMatt Fleming2009-07-021-0/+1
| | | | | | | | | | | | | | | | When arch/sh/include/asm/syscall_32.h is included from a file that doesn't also include linux/err.h the following error is produced, In file included from /home/matt/src/kernels/sh-2.6/arch/sh/include/asm/syscall.h:5, from kernel/trace/trace_syscalls.c:3: /home/matt/src/kernels/sh-2.6/arch/sh/include/asm/syscall_32.h: In function 'syscall_get_error': /home/matt/src/kernels/sh-2.6/arch/sh/include/asm/syscall_32.h:28: error: implicit declaration of function 'IS_ERR_VALUE' make[2]: *** [kernel/trace/trace_syscalls.o] Error 1 make[1]: *** [kernel/trace] Error 2 make: *** [kernel] Error 2 Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: re-add LCDC fbdev support to the Migo-R defconfigMagnus Damm2009-07-011-2/+51
| | | | | | | Re-add LCDC fbdev support to the Migo-R defconfig. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: fix se7724 ceu namesMagnus Damm2009-07-011-2/+2
| | | | | | | | | | | | | Use "ceu0" and "ceu1" as CEU names instead of "ceu". This fixes "memchunk" kernel command line selection on the solution engine 7724 board. With this patch applied use "memchunk.ceu0=1m" or "memchunk.ceu1=1m" on kernel command line to override physically memory size to one meg for CEU0 or CEU1. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: ms7724se: Enable sh_eth in defconfig.Kuninori Morimoto2009-06-291-4/+21
| | | | | Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* arch/sh/boards/mach-se/7206/io.c: Remove unnecessary semicolonsJoe Perches2009-06-291-1/+1
| | | | | Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: ms7724se: Add sh_eth supportKuninori Morimoto2009-06-262-2/+109
| | | | | Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off unused DEBUG_BOOTMEM symbol.Paul Mundt2009-06-251-4/+0
| | | | | | | This was killed off in generic code some time ago, kill off the left over symbol. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
OpenPOWER on IntegriCloud