linux/arch
David S. Miller b445e26cbf [SPARC64]: Avoid membar instructions in delay slots.
In particular, avoid membar instructions in the delay
slot of a jmpl instruction.

UltraSPARC-I, II, IIi, and IIe have a bug, documented in
the UltraSPARC-IIi User's Manual, Appendix K, Erratum 51

The long and short of it is that if the IMU unit misses
on a branch or jmpl, and there is a store buffer synchronizing
membar in the delay slot, the chip can stop fetching instructions.

If interrupts are enabled or some other trap is enabled, the
chip will unwedge itself, but performance will suffer.

We already had a workaround for this bug in a few spots, but
it's better to have the entire tree sanitized for this rule.

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-06-27 15:42:04 -07:00
..
alpha [PATCH] update all defconfigs for ARCH_DISCONTIGMEM_ENABLE 2005-06-23 09:45:02 -07:00
arm Merge master.kernel.org:/home/rmk/linux-2.6-arm 2005-06-26 17:28:24 -07:00
arm26 [PATCH] use ${CROSS_COMPILE}installkernel in arch/*/boot/install.sh 2005-06-23 09:45:07 -07:00
cris [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
frv Merge Christoph's freeze cleanup patch 2005-06-25 17:16:53 -07:00
h8300 [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
i386 Fix up try_to_freeze() usage in arch/i386/kernel/signal.c 2005-06-25 20:09:12 -07:00
ia64 [PATCH] Dynamic sched domains: ia64 changes 2005-06-25 16:24:45 -07:00
m32r [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
m68k [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
m68knommu [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
mips [PATCH] mips: add MIPS-specific support for flatmem/discontigmem 2005-06-25 16:24:25 -07:00
parisc [PATCH] mm/Kconfig: kill unused ARCH_FLATMEM_DISABLE 2005-06-23 09:45:03 -07:00
ppc [PATCH] ppc32: Fix MPC83xx IPIC external interrupt pending register offset 2005-06-26 08:43:19 -07:00
ppc64 [PATCH] kexec code cleanup 2005-06-25 16:24:55 -07:00
s390 [PATCH] kexec code cleanup 2005-06-25 16:24:55 -07:00
sh [PATCH] mm/Kconfig: kill unused ARCH_FLATMEM_DISABLE 2005-06-23 09:45:03 -07:00
sh64 [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
sparc [PATCH] use drivers/Kconfig for sparc32 2005-06-23 09:45:33 -07:00
sparc64 [SPARC64]: Avoid membar instructions in delay slots. 2005-06-27 15:42:04 -07:00
um [PATCH] uml: hot-unplug code cleanup 2005-06-25 16:24:36 -07:00
v850 [PATCH] make each arch use mm/Kconfig 2005-06-23 09:45:02 -07:00
x86_64 Merge Christoph's freeze cleanup patch 2005-06-25 17:16:53 -07:00
xtensa [PATCH] Serial: remove unnecessary register_serial/unregister_serial 2005-06-25 16:24:25 -07:00