]> git.baikalelectronics.ru Git - kernel.git/commit
sh: trapped io support V2
authorMagnus Damm <magnus.damm@gmail.com>
Thu, 7 Feb 2008 11:18:21 +0000 (20:18 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 14 Feb 2008 05:22:09 +0000 (14:22 +0900)
commit1f701549b11f79f480db8849e4635a6926db60b4
treea797888f8d3f95734288978351c33af3c965494c
parent8a2799d8d270c4d919721752f1165ddaac3b3acc
sh: trapped io support V2

The idea is that we want to get rid of the in/out/readb/writeb callbacks from
the machvec and replace that with simple inline read and write operations to
memory. Fast and simple for most hardware devices (think pci).

Some devices require special treatment though - like 16-bit only CF devices -
so we need to have some method to hook in callbacks.

This patch makes it possible to add a per-device trap generating filter. This
way we can get maximum performance of sane hardware - which doesn't need this
filter - and crappy hardware works but gets punished by a performance hit.

V2 changes things around a bit and replaces io access callbacks with a
simple minimum_bus_width value. In the future we can add stride as well.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
12 files changed:
arch/sh/Kconfig
arch/sh/kernel/Makefile_32
arch/sh/kernel/Makefile_64
arch/sh/kernel/io.c
arch/sh/kernel/io_generic.c
arch/sh/kernel/io_trapped.c [new file with mode: 0644]
arch/sh/kernel/traps_32.c
arch/sh/mm/fault_32.c
include/asm-sh/io.h
include/asm-sh/io_trapped.h [new file with mode: 0644]
include/asm-sh/system.h
include/asm-sh/system_32.h