Эх сурвалжийг харах

powerpc/8xx: Use SPRG2 instead of DAR for saving r3

We now have SPRG2 available as in it not used anymore for saving CR, so we don't
need to crash DAR anymore for saving r3 for CPU6 ERRATA handling.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Scott Wood <scottwood@freescale.com>
LEROY Christophe 10 жил өмнө
parent
commit
b821c5fe84

+ 4 - 5
arch/powerpc/kernel/head_8xx.S

@@ -309,7 +309,7 @@ SystemCall:
 
 
 InstructionTLBMiss:
 InstructionTLBMiss:
 #ifdef CONFIG_8xx_CPU6
 #ifdef CONFIG_8xx_CPU6
-	mtspr	SPRN_DAR, r3
+	mtspr	SPRN_SPRG_SCRATCH2, r3
 #endif
 #endif
 	EXCEPTION_PROLOG_0
 	EXCEPTION_PROLOG_0
 
 
@@ -362,8 +362,7 @@ InstructionTLBMiss:
 
 
 	/* Restore registers */
 	/* Restore registers */
 #ifdef CONFIG_8xx_CPU6
 #ifdef CONFIG_8xx_CPU6
-	mfspr	r3, SPRN_DAR
-	mtspr	SPRN_DAR, r11	/* Tag DAR */
+	mfspr	r3, SPRN_SPRG_SCRATCH2
 #endif
 #endif
 	EXCEPTION_EPILOG_0
 	EXCEPTION_EPILOG_0
 	rfi
 	rfi
@@ -371,7 +370,7 @@ InstructionTLBMiss:
 	. = 0x1200
 	. = 0x1200
 DataStoreTLBMiss:
 DataStoreTLBMiss:
 #ifdef CONFIG_8xx_CPU6
 #ifdef CONFIG_8xx_CPU6
-	mtspr	SPRN_DAR, r3
+	mtspr	SPRN_SPRG_SCRATCH2, r3
 #endif
 #endif
 	EXCEPTION_PROLOG_0
 	EXCEPTION_PROLOG_0
 	mfcr	r10
 	mfcr	r10
@@ -438,7 +437,7 @@ DataStoreTLBMiss:
 
 
 	/* Restore registers */
 	/* Restore registers */
 #ifdef CONFIG_8xx_CPU6
 #ifdef CONFIG_8xx_CPU6
-	mfspr	r3, SPRN_DAR
+	mfspr	r3, SPRN_SPRG_SCRATCH2
 #endif
 #endif
 	mtspr	SPRN_DAR, r11	/* Tag DAR */
 	mtspr	SPRN_DAR, r11	/* Tag DAR */
 	EXCEPTION_EPILOG_0
 	EXCEPTION_EPILOG_0