[RFC: PATCH 12/13] powerpc/476: Workaround for DD1.1: Issue lwsync after mtpid
Dave Kleikamp
shaggy at linux.vnet.ibm.com
Tue Mar 2 06:14:18 EST 2010
powerpc/476: Workaround for DD1.1: Issue lwsync after mtpid
From: Dave Kleikamp <shaggy at linux.vnet.ibm.com>
Signed-off-by: Dave Kleikamp <shaggy at linux.vnet.ibm.com>
---
arch/powerpc/include/asm/asm-compat.h | 2 ++
arch/powerpc/kernel/head_44x.S | 1 +
2 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/include/asm/asm-compat.h b/arch/powerpc/include/asm/asm-compat.h
index 1890fbf..fd16e3a 100644
--- a/arch/powerpc/include/asm/asm-compat.h
+++ b/arch/powerpc/include/asm/asm-compat.h
@@ -70,12 +70,14 @@
BEGIN_FTR_SECTION; \
lwsync; \
END_FTR_SECTION_IFSET(CPU_FTR_476_DD1_1)
+#define PPC476_ERR_MTPID PPC476_ERR_DCBx
#define PPC476_ERR_ISYNC() \
BEGIN_FTR_SECTION; \
isync; \
END_FTR_SECTION_IFSET(CPU_FTR_476_DD1_1)
#else /* ! CONFIG_PPC_47x */
#define PPC476_ERR_DCBx()
+#define PPC476_ERR_MTPID()
#define PPC476_ERR_ISYNC()
#endif /* CONFIG_PPC_47x */
diff --git a/arch/powerpc/kernel/head_44x.S b/arch/powerpc/kernel/head_44x.S
index a96796d..c27b0cd 100644
--- a/arch/powerpc/kernel/head_44x.S
+++ b/arch/powerpc/kernel/head_44x.S
@@ -705,6 +705,7 @@ _GLOBAL(set_context)
stw r4, 0x4(r5)
#endif
mtspr SPRN_PID,r3
+ PPC476_ERR_MTPID()
isync /* Force context change */
blr
--
Dave Kleikamp
IBM Linux Technology Center
More information about the Linuxppc-dev
mailing list