linux/arch/sh
Paul Mundt 298476220d sh: Add control register barriers.
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>
2006-09-27 14:57:44 +09:00
..
boards sh: landisk board support. 2006-09-27 14:53:35 +09:00
boot Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cchips sh: Move hd64461.h to a more sensible location. 2006-09-27 13:42:57 +09:00
configs sh: landisk board support. 2006-09-27 14:53:35 +09:00
drivers sh: Various cosmetic cleanups. 2006-09-27 12:31:01 +09:00
kernel sh: Add flag for MMU PTEA capability. 2006-09-27 14:55:41 +09:00
lib sh: Fix TCP payload csum bug in csum_partial_copy_generic(). 2006-09-27 14:46:24 +09:00
mm sh: Add control register barriers. 2006-09-27 14:57:44 +09:00
oprofile sh: Add SH7750S/SH7091 rules for SH7750 oprofile driver. 2006-09-27 14:30:11 +09:00
tools sh: landisk board support. 2006-09-27 14:53:35 +09:00
Kconfig sh: RTS7751R2D board updates. 2006-09-27 14:02:09 +09:00
Kconfig.debug [PATCH] sh: Move CPU subtype configuration to its own Kconfig 2006-01-16 23:15:28 -08:00
Makefile sh: landisk board support. 2006-09-27 14:53:35 +09:00