linux/arch/sh/kernel
Magnus Damm e7cc9a7340 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>
2008-02-14 14:22:09 +09:00
..
cpu sh: add probe support for new sh7722 cut 2008-02-14 14:22:07 +09:00
timers xtime_lock vs update_process_times 2008-02-13 13:29:25 -08:00
vsyscall sh: Terminate .eh_frame in VDSO with a 4-byte 0. 2007-11-02 12:29:37 +09:00
asm-offsets.c
cf-enabler.c sh: Rip out special unknown machvec. 2007-06-08 02:43:40 +00:00
cpufreq.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2007-10-13 09:49:04 -07:00
crash_dump.c sh: kdump support. 2007-05-07 02:11:56 +00:00
debugtraps.S sh: Use a jump call table for debug trap handlers. 2007-02-13 10:54:43 +09:00
dump_task.c sh: Share the ELF dump_task interfaces. 2008-01-28 13:18:49 +09:00
early_printk.c sh: Add support for SH7721 CPU subtype. 2008-01-28 13:19:02 +09:00
entry-common.S sh: GUSA atomic rollback support. 2008-01-28 13:18:58 +09:00
head_32.S sh: Provide a 29/32-bit physical hint for bootloaders. 2008-01-28 13:18:57 +09:00
head_64.S sh: comment tidying for sh64->sh migration. 2008-01-28 13:18:58 +09:00
init_task.c sh: Provide dummy swapper pt_regs for SH-5 ctx switch. 2008-01-28 13:18:48 +09:00
io.c sh: trapped io support V2 2008-02-14 14:22:09 +09:00
io_generic.c sh: trapped io support V2 2008-02-14 14:22:09 +09:00
io_trapped.c sh: trapped io support V2 2008-02-14 14:22:09 +09:00
irq.c sh: Kill off duplicate includes. 2007-11-07 11:13:54 +09:00
kgdb_jmp.S
kgdb_stub.c sh: Fix up kgdb build with modular sh-sci. 2007-11-07 11:13:55 +09:00
machine_kexec.c Use extended crashkernel command line on sh 2007-10-19 11:53:51 -07:00
machvec.c sh: panic on machvec section misalignment. 2007-08-07 19:13:23 +09:00
Makefile sh: Have 32-bit use arch/sh/kernel/Makefile_32. 2008-01-28 13:18:41 +09:00
Makefile_32 sh: trapped io support V2 2008-02-14 14:22:09 +09:00
Makefile_64 sh: trapped io support V2 2008-02-14 14:22:09 +09:00
module.c sh: Merge sh and sh64 module.c. 2008-01-28 13:18:49 +09:00
pm.c sh: APM/PM support. 2006-09-27 16:20:22 +09:00
process_32.c sh: GUSA atomic rollback support. 2008-01-28 13:18:58 +09:00
process_64.c sh: comment tidying for sh64->sh migration. 2008-01-28 13:18:58 +09:00
ptrace_32.c sh: syscall audit support. 2008-01-28 13:18:57 +09:00
ptrace_64.c sh: syscall auditing for sh5, too. 2008-01-28 13:18:58 +09:00
relocate_kernel.S sh: Fixup various PAGE_SIZE == 4096 assumptions. 2006-12-06 10:45:39 +09:00
semaphore.c sh: Fixup some uninitialized spinlocks. 2006-09-27 11:31:32 +09:00
setup.c Use BOOTMEM_EXCLUSIVE for kdump 2008-02-07 08:42:25 -08:00
sh_bios.c sh: Many symbol exports for nommu allmodconfig. 2007-07-20 16:59:49 +09:00
sh_ksyms_32.c sh: Split out sh_ksyms.c in to _32 and _64 variants. 2008-01-28 13:18:46 +09:00
sh_ksyms_64.c sh: comment tidying for sh64->sh migration. 2008-01-28 13:18:58 +09:00
signal_32.c sh: GUSA atomic rollback support. 2008-01-28 13:18:58 +09:00
signal_64.c sh: comment tidying for sh64->sh migration. 2008-01-28 13:18:58 +09:00
smp.c sh: Bring SMP support back from the dead. 2007-09-21 18:32:32 +09:00
stacktrace.c sh: Fix stacktrace simplification fallout. 2007-05-09 18:55:14 +09:00
sys_sh.c sh: sys_sh consolidation for arch_get_unmapped_area(). 2008-01-28 13:18:49 +09:00
sys_sh32.c sh: sys_sh consolidation for arch_get_unmapped_area(). 2008-01-28 13:18:49 +09:00
sys_sh64.c sh: sys_sh consolidation for arch_get_unmapped_area(). 2008-01-28 13:18:49 +09:00
syscalls_32.S sh: Wire up new timerfd syscalls. 2008-02-14 14:22:08 +09:00
syscalls_64.S sh: Wire up new timerfd syscalls. 2008-02-14 14:22:08 +09:00
time_32.c sh: fix xtime_lock deadlocking. 2008-02-14 14:22:08 +09:00
time_64.c sh: fix xtime_lock deadlocking. 2008-02-14 14:22:08 +09:00
topology.c sh: Fix up cpu to node mapping in sysfs. 2007-06-08 02:43:50 +00:00
traps.c sh: Fix the arch/sh/kernel/traps.c build for sh32. 2008-01-28 13:18:57 +09:00
traps_32.c sh: trapped io support V2 2008-02-14 14:22:09 +09:00
traps_64.c sh: comment tidying for sh64->sh migration. 2008-01-28 13:18:58 +09:00
vmlinux.lds.S sh: Split out linker script to _32 and _64 variants. 2008-01-28 13:18:45 +09:00
vmlinux_32.lds.S all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00
vmlinux_64.lds.S all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00