linux/arch/ppc/kernel
Becky Bruce b64f87c16f [POWERPC] Avoid unpaired stwcx. on some processors
The context switch code in the kernel issues a dummy stwcx. to clear the
reservation, as recommended by the architecture.  However, some processors
can have issues if this stwcx to address A occurs while the reservation
is already held to a different address B.  To avoid this problem, the dummy
stwcx. needs to be paired with a dummy lwarx to the same address.

This adds the dummy lwarx, and creates a cpu feature bit to indicate
which cpus are affected.  Tested on mpc8641_hpcn_defconfig in
arch/powerpc; build tested in arch/ppc.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-11-13 16:22:43 +11:00
..
asm-offsets.c rename thread_info to stack 2007-05-09 12:30:56 -07:00
cpu_setup_power4.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
entry.S [POWERPC] Avoid unpaired stwcx. on some processors 2007-11-13 16:22:43 +11:00
head_4xx.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
head_8xx.S [PPC] 8xx: Fix r3 trashing due to 8MB TLB page instantiation 2007-09-10 16:01:22 -05:00
head_44x.S [PPC] Use cpu setup routines from cpu_setup_44x.S for ARCH=ppc 2007-10-04 11:02:09 +10:00
head_booke.h [PATCH] ppc32: fix ppc44x fpu build 2005-11-10 11:24:06 +11:00
head_fsl_booke.S [POWERPC] 85xx: Drop use of SYNC macro in head_fsl_booke.S 2007-02-13 16:13:27 -06:00
head.S [POWERPC] Remove APUS support from arch/ppc 2007-09-17 15:15:04 +10:00
machine_kexec.c Storage class should be first 2006-06-26 18:57:34 +02:00
Makefile [POWERPC] 8xx: generic 8xx code arch/powerpc port 2007-02-07 14:01:02 +11:00
misc.S [POWERPC] 4xx: Deal with 44x virtually tagged icache 2007-11-01 07:15:30 -05:00
pci.c PCI: Use a weak symbol for the empty version of pcibios_add_platform_entries() 2007-07-11 16:02:07 -07:00
ppc_htab.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
ppc_ksyms.c [POWERPC] Remove APUS support from arch/ppc 2007-09-17 15:15:04 +10:00
ppc-stub.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
relocate_kernel.S [PATCH] ppc32: use correct register names in arch/ppc/kernel/relocate_kernel.S 2005-06-30 08:45:09 -07:00
rio.c [PATCH] RapidIO support: ppc32 2005-11-07 07:53:47 -08:00
semaphore.c
setup.c [POWERPC] Remove APUS support from arch/ppc 2007-09-17 15:15:04 +10:00
smp-tbsync.c [POWERPC] Fix irq enable/disable in smp_generic_take_timebase 2006-08-30 16:10:47 +10:00
smp.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
softemu8xx.c
time.c [POWERPC] ppc: Add missing calls to set_irq_regs 2006-10-16 15:52:14 +10:00
traps.c pid namespaces: define is_global_init() and is_container_init() 2007-10-19 11:53:37 -07:00
vmlinux.lds.S [POWERPC] Fix ppc kernels after build-id addition 2007-09-22 14:49:21 +10:00