summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2006-09-27sh: New atomic ops for SH-4A movli.l/movco.lPaul Mundt1-9/+96
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>
2006-09-27sh: Add support for cacheline poking through debugfs.Paul Mundt2-0/+151
A simple debugging aid for easier visibility of the respective cachelines. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Fix memcpy() build error on sh4eb.Nobuhiro Iwamatsu1-2/+2
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>
2006-09-27sh: Kill off the rest of the legacy rtc mess.Paul Mundt9-381/+23
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>
2006-09-27sh: SHMIN board support.Takashi YOSHII7-1/+899
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>
2006-09-27sh: Add support for SH7706/SH7710/SH7343 CPUs.Paul Mundt26-66/+767
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>
2006-09-27serial: Add SERIAL_SH_SCI_NR_UARTS for sh-sci.Paul Mundt2-2/+41
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>
2006-09-27sh: Add setup code for various CPU subtypes.Paul Mundt11-0/+441
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>
2006-09-27sh: sem2mutex conversion for clock framework.Paul Mundt1-8/+9
Simple sem2mutex conversion. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: pselect6 and ppoll, along with signal trampoline rework.Paul Mundt5-123/+121
This implements support for ppoll() and pselect6().. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: __addr_ok() and other misc nommu fixups.Yoshinori Sato9-22/+33
A few more outstanding nommu fixups.. Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: __NR_restart_syscall support.Paul Mundt3-7/+13
This implements support for __NR_restart_syscall. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Various nommu fixes.Yoshinori Sato8-23/+50
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>
2006-09-27sh: Make PAGE_OFFSET configurable.Paul Mundt5-29/+35
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>
2006-09-27sh: Move voyagergx_reg.h to a more sensible place.Paul Mundt4-4/+4
Other boards require this as well, so move it out of the rts7751r2d directory. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: math-emu supportTakashi YOSHII7-39/+918
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>
2006-09-27rtc: New RTC driver for SuperH On-Chip RTC.Paul Mundt3-0/+478
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>
2006-09-27sh: Rename rtc_get/set_time() to avoid RTC_CLASS conflict.Paul Mundt8-38/+28
We have a clash with RTC_CLASS over these names, so we change them.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Fixup __strnlen_user() behaviour.Paul Mundt4-54/+22
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>
2006-09-27sh: More cosmetic cleanups and trivial fixes.Paul Mundt11-73/+35
Nothing exciting here, just trivial fixes.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Fixup TEI IRQ requests in request_dma().Paul Mundt1-2/+5
If a channel is not TEI capable, don't try to request_irq().. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: G2 DMA IRQ and residue sampling.Paul Mundt1-13/+41
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>
2006-09-27sh: VoyagerGX cleanups and 8250 UART support.Paul Mundt3-11/+71
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>
2006-09-27sh: Inhibit mapping PCI apertures through page tables.Paul Mundt2-12/+25
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>
2006-09-27sh: Consolidated SH7751/SH7780 PCI support.Paul Mundt37-1520/+984
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>
2006-09-27serial: Rework sh-sci for driver model.Paul Mundt2-769/+467
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>
2006-09-27sh: kgdb stub cleanups.Paul Mundt2-28/+20
Some kgdb cleanup. Move hexchars/highhex/lowhex to the header, so it can be reused by sh-sci. Also drop silly ctrl_inl/outl() overloading being done by the kgdb stub. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Use generic CONFIG_FRAME_POINTER.Paul Mundt2-10/+2
We had our own version, which serves no purpose. Simply hook SH in to the generic one. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: APM/PM support.Andriy Skulysh21-22/+1124
This adds some simple PM stubs and the basic APM interfaces, primarily for use by hp6xx, where the existing userland expects it. Signed-off-by: Andriy Skulysh <askulysh@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Free up some and document PTEL flags.Paul Mundt1-31/+45
Drop _PAGE_SHARED/_PAGE_U0_SHARED and document Linux PTE encodings in the PTEL value. Preserve the swap cache entry encoding semantics for now, though it will need rework to free up _PAGE_WT from _PAGE_FILE. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Update new-machine.txt so it's more accurate.Paul Mundt1-77/+51
This fell behind a bit, get it updated so the documentation has something in common with reality. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: SE73180 updates for IRQ changes.Paul Mundt3-1/+4
SE73180 can use the generic support, we just need to wire up the IRQ demuxing. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27video: Update header location in hp680_bl.Andriy Skulysh1-2/+2
Trivial build fix. Signed-off-by: Andriy Skulysh <askulysh@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Make O= builds work again.Paul Mundt1-7/+5
Some of the paths were a bit broken, fix it up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: xchg()/__xchg() always_inline fixes for gcc4.Paul Mundt1-25/+32
Make __xchg() a macro, so that gcc 4.0 doesn't blow up thanks to always_inline.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Drop incdir rule for SE7751.Paul Mundt1-2/+0
No longer needed.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27video: Update pvr2fb for sq API changes.Paul Mundt1-10/+12
With the store queue API rework, we need to change the in-kernel users too. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Cleanup and document register bank usage.Paul Mundt3-3/+64
Initial register bank cleanup. Make SR.RB configurable, and add some preliminary documentation on register bank usage within the kernel. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Add support for R7780RP and R7780MP boards.Paul Mundt30-49/+2684
This adds support for the Renesas SH7780 development boards, R7780RP and R7780MP. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Store Queue API rework.Paul Mundt2-314/+251
Rewrite the store queue API for a per-cpu interface in the driver model. The old miscdevice is dropped, due to TASK_SIZE limitations, and no one was using it anyways. Carve up and allocate store queue space with a bitmap, back sq mapping objects with a slab cache, and let userspace worry about its own prefetching. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Board updates for I/O routine rework.Paul Mundt43-671/+201
This updates the various boards for some of the recent I/O routine updates. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Fix split ptlock for user mappings in __do_page_fault().Paul Mundt1-3/+4
There was a bug that got introduced when the split ptlock changes went in where mm could be unintialized for user mappings, this fixes it up.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Fixup SHMLBA definition for SH7705.Paul Mundt5-81/+38
We need this set to something sensible anywhere were we have an aliasing dcache.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: ioremap() overhaul.Paul Mundt15-323/+374
ioremap() overhaul. Add support for transparent PMB mapping, get rid of p3_ioremap(), etc. Also drop ioremap() and iounmap() routines from the machvec, as everyone can use the generic ioremap() API instead. For PCI memory apertures and other special cases, use the pci_iomap() API, as boards are already required to get the mapping right there. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: page table alloc cleanups and page fault optimizations.Paul Mundt13-267/+261
Cleanup of page table allocators, using generic folded PMD and PUD helpers. TLB flushing operations are moved to a more sensible spot. The page fault handler is also optimized slightly, we no longer waste cycles on IRQ disabling for flushing of the page from the ITLB, since we're already under CLI protection by the initial exception handler. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: export clear_user_page() for the modules that need it.Paul Mundt1-0/+1
Some modules seem to need this, so we export it.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: SH-4A Privileged Space Mapping Buffer (PMB) support.Paul Mundt3-2/+318
Add support for 32-bit physical addressing through the SH-4A Privileged Space Mapping Buffer (PMB). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Titan board support.Jamie Lenehan10-12/+1764
Add support for the titan board. Signed-off-by: Jamie Lenehan <lenehan@twibble.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: BSS init bugfix and barrier in entry point.Paul Mundt1-5/+31
A synco is needed before we jump to start_kernel(). While we're at it, also move the sh_cpu_init() jump until after we've zeroed BSS, as this has caused some undesirable results in sh_cpu_init(). Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2006-09-27sh: Add control register barriers.Paul Mundt4-15/+45
Currently when making changes to control registers, we typically need some time for changes to take effect (8 nops, generally). However, for sh4a we simply need to do an icbi.. This is a simple patch for implementing a general purpose ctrl_barrier() which functions as a control register write barrier. There's some additional documentation in the patch itself, but it's pretty self explanatory. There were also some places where we were not doing the barrier, which didn't seem to have any adverse effects on legacy parts, but certainly did on sh4a. It's safer to have the barrier in place for legacy parts as well in these cases, though this does make flush_tlb_all() more expensive (by an order of 8 nops). We can ifdef around the flush_tlb_all() case for now if it's clear that all legacy parts won't have a problem with this. Signed-off-by: Paul Mundt <lethal@linux-sh.org>