Age | Commit message (Collapse) | Author |
|
IRQs disabling in flush_cache_4096 for cache purge. Under certain
workloads we would get an IRQ in the middle of a purge operation,
and the cachelines would remain in an inconsistent state, leading
to occasional stack corruption.
Signed-off-by: Takeo Takahashi <takahashi.takeo@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
Set the SHM alignment at runtime, based off of probed cache desc.
Optimize get_unmapped_area() to only colour align shared mappings.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
Silly bug, make it build again..
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This implements initial support for the vsyscall page on SH.
At the moment we leave it configurable due to having nommu
to support from the same code base. We hook it up for the
signal trampoline return at present, with more to be added
later, once uClibc catches up.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
We want to be able to use PAGE_SIZE all over the place,
this is the same approach adopted by other architectures..
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
flush_cache_mm() wraps in to flush_cache_all(), which is rather
excessive given that the number of PTEs within the specified context
are generally quite low. Optimize for walking the mm's VMA list and
selectively flushing the VMA ranges from the dcache. Invalidate the
icache only if a VMA sets VM_EXEC.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
Figure out the cache desc entry_mask at runtime, and remove
hard-coded assumption about the cacheline size.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This implements preliminary support for the L2 caches found
on newer SH-4A CPUs.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This was falling a bit behind..
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
Implement optimized copies of readsl()/writesl().
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
Add llsc to cpu_flags[] and comment cpu-features.h.
Signed-off-by: Jamie Lenehan <nynaeve@twibble.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
Encode processor flags in AT_HWCAP in the ELF auxiliary vector.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This enables support for 4K stacks on SH.
Currently this depends on DEBUG_KERNEL, but likely all boards
will switch to this as the default in the future.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This was previously unimplemented..
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This adds a DEBUG_STACK_USAGE and DEBUG_STACKOVERFLOW for SH.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This solution isn't very optimal, but it's generaly the behaviour that
we want..
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
Some more machvec overhauling and setup code cleanup. Kill off
get_system_type() and platform_setup(), we can do these both
through the machvec. While we're add it, kill off more useless
mach.c's and drop some legacy cruft from setup.c.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This adds support for the SE7343 board.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This adds support for the SH7710 VoIP Gateway board.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
Add SH to the list of platforms interested in Verbose BUG().
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
The generic hardirq layer already takes care of a lot of the
appropriate locking and disabling for us, no need to duplicate
it in the handlers..
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
Formerly implemented by ADX, we can use this generically,
so move it over.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
None of these have been maintained in years, and no one seems to
be interested in doing so, so just get rid of them.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
In some applications people have expressed a need for an mmap() method,
so we implement a simple stub for this that maps back a page with the
counter in it.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
SH-4A implements LL/SC instructions, so we implement a simple
set of atomic operations using these.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
A simple debugging aid for easier visibility of the respective
cachelines.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
A trivial bug breaking the build on sh4eb.
Signed-off-by: Nobuhiro Iwamatsu <hemamu@t-base.ne.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
With the new RTC class driver, we can get rid of most of the
old left over cruft.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This adds support for the SHMIN SH7706 board.
Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This adds support for the aforementioned CPU subtypes, and cleans
up some build issues encountered as a result.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
sh-sci needs to be able to define its number of ports to
support, we do this with a config option, like most other
ports do.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This adds some simple setup code for most of the CPU subtypes,
primarily simple platform device registration.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
Simple sem2mutex conversion.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This implements support for ppoll() and pselect6()..
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
A few more outstanding nommu fixups..
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This implements support for __NR_restart_syscall.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This fixes up some of the various outstanding nommu bugs on
SH.
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
nommu needs to be able to shift PAGE_OFFSET, so we switch it to a
non-user-visible CONFIG_PAGE_OFFSET and use that in the few places
where it matters.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
Other boards require this as well, so move it out of the
rts7751r2d directory.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This implements initial math-emu support, aimed primarily at SH-3.
Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This replaces the old SH RTC driver, and allows us to
clean quite a lot of things up on the board-specific
side.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
We have a clash with RTC_CLASS over these names, so we
change them..
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
Drop TIF_USERSPACE and add addr_limit to the thread_info struct.
Subsequently, use that for address checking in strnlen_user() to
ward off bogus -EFAULTs.
Make __strnlen_user() return 0 on exception, rather than -EFAULT.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
Nothing exciting here, just trivial fixes..
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
If a channel is not TEI capable, don't try to request_irq()..
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This fixes a long-standing FIXME for G2 DMA, where we finally
wire up the IRQ handler and allow for sampling remaining bytes
while in-flight.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This adds the VoyagerGX UART to the RTS7751R2D setup
code, and cleans up a few build issues.
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
Inhibit mapping through page tables in __ioremap() for PCI memory
apertures on SH7751 and SH7780-style PCI controllers, translation is
not possible for these areas. For other users that map a small window
in P1/P2 space, ioremap() traps that already, and should never make
it to __ioremap().
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
This cleans up quite a lot of the PCI mess that we
currently have, and attempts to consolidate the
duplication in the SH7780 and SH7751 PCI controllers.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|
|
sh-sci was turning in to an unmaintainable mess, especially with
regards to the port list. This cleans it up quite a bit, and
switches over to a platform device model where subtypes will
register their port list individually in their setup code.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
|