[PATCH 12/13] powerpc/476: Workaround for DD1.1: Issue lwsync after mtpid

Dave Kleikamp shaggy at linux.vnet.ibm.com
Sat Mar 6 07:44:05 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