kernel-ark/arch
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
..
alpha [PATCH] alpha: Fix ALPHA_EV56 dependencies typo 2006-09-26 08:48:57 -07:00
arm [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
arm26 [PATCH] tty: Remove include of screen_info.h from tty.h 2006-07-10 13:24:16 -07:00
avr32 [PATCH] AVR32 MTD: AT49BV6416 platform device for ATSTK1000 2006-09-26 08:48:54 -07:00
cris [PATCH] pcf8563: remove MOD_INC_USE_COUNT, MOD_DEC_USE_COUNT 2006-07-10 13:24:22 -07:00
frv [PATCH] FRV: permit __do_IRQ() to be dispensed with 2006-09-26 08:48:53 -07:00
h8300 [PATCH] reduce MAX_NR_ZONES: fix MAX_NR_ZONES array initializations 2006-09-26 08:48:46 -07:00
i386 Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2006-09-26 13:07:55 -07:00
ia64 [PATCH] smp_call_function_single() cleanup 2006-09-26 08:48:56 -07:00
m32r [PATCH] reduce MAX_NR_ZONES: fix MAX_NR_ZONES array initializations 2006-09-26 08:48:46 -07:00
m68k
m68knommu [PATCH] reduce MAX_NR_ZONES: fix MAX_NR_ZONES array initializations 2006-09-26 08:48:46 -07:00
mips [PATCH] Alchemy: Delete unused pt_regs * argument from au1xxx_dbdma_chan_alloc 2006-09-26 08:48:54 -07:00
parisc [PATCH] NUMA: Add zone_to_nid function 2006-09-26 08:48:52 -07:00
powerpc [PATCH] Change the name of pagedir_nosave 2006-09-26 08:49:01 -07:00
ppc [POWERPC] Fix compile error in sbc8560 2006-09-21 22:59:38 +10:00
s390 Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2006-09-26 13:07:55 -07:00
sh sh: Add control register barriers. 2006-09-27 14:57:44 +09:00
sh64 [PATCH] reduce MAX_NR_ZONES: fix MAX_NR_ZONES array initializations 2006-09-26 08:48:46 -07:00
sparc [PATCH] Standardize pxx_page macros 2006-09-26 08:48:51 -07:00
sparc64 [SPARC64]: Fix section-mismatch errors in solaris emul module. 2006-09-25 16:39:55 -07:00
um Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2006-09-26 13:07:55 -07:00
v850 [PATCH] v850: call init_page_count() instead of set_page_count() 2006-07-31 13:28:38 -07:00
x86_64 Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 2006-09-26 13:07:55 -07:00
xtensa [PATCH] xtensa: ptrace: EXIT_ZOMBIE fix 2006-09-01 11:39:08 -07:00