aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLEROY Christophe <christophe.leroy@c-s.fr>2015-04-20 01:54:44 -0400
committerScott Wood <scottwood@freescale.com>2015-06-02 22:37:26 -0400
commitb821c5fe84829996e179bba5da30ee33fb8e9f9f (patch)
tree627da6fb7ff4a8042e992fa388e6b34b2d32f568
parent2eb2fd95001e93c611034f494c7254350ff94d2a (diff)
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>
-rw-r--r--arch/powerpc/kernel/head_8xx.S9
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/powerpc/kernel/head_8xx.S b/arch/powerpc/kernel/head_8xx.S
index 150d03f79ad8..ba2dc53cd5a1 100644
--- a/arch/powerpc/kernel/head_8xx.S
+++ b/arch/powerpc/kernel/head_8xx.S
@@ -309,7 +309,7 @@ SystemCall:
309 309
310InstructionTLBMiss: 310InstructionTLBMiss:
311#ifdef CONFIG_8xx_CPU6 311#ifdef CONFIG_8xx_CPU6
312 mtspr SPRN_DAR, r3 312 mtspr SPRN_SPRG_SCRATCH2, r3
313#endif 313#endif
314 EXCEPTION_PROLOG_0 314 EXCEPTION_PROLOG_0
315 315
@@ -362,8 +362,7 @@ InstructionTLBMiss:
362 362
363 /* Restore registers */ 363 /* Restore registers */
364#ifdef CONFIG_8xx_CPU6 364#ifdef CONFIG_8xx_CPU6
365 mfspr r3, SPRN_DAR 365 mfspr r3, SPRN_SPRG_SCRATCH2
366 mtspr SPRN_DAR, r11 /* Tag DAR */
367#endif 366#endif
368 EXCEPTION_EPILOG_0 367 EXCEPTION_EPILOG_0
369 rfi 368 rfi
@@ -371,7 +370,7 @@ InstructionTLBMiss:
371 . = 0x1200 370 . = 0x1200
372DataStoreTLBMiss: 371DataStoreTLBMiss:
373#ifdef CONFIG_8xx_CPU6 372#ifdef CONFIG_8xx_CPU6
374 mtspr SPRN_DAR, r3 373 mtspr SPRN_SPRG_SCRATCH2, r3
375#endif 374#endif
376 EXCEPTION_PROLOG_0 375 EXCEPTION_PROLOG_0
377 mfcr r10 376 mfcr r10
@@ -438,7 +437,7 @@ DataStoreTLBMiss:
438 437
439 /* Restore registers */ 438 /* Restore registers */
440#ifdef CONFIG_8xx_CPU6 439#ifdef CONFIG_8xx_CPU6
441 mfspr r3, SPRN_DAR 440 mfspr r3, SPRN_SPRG_SCRATCH2
442#endif 441#endif
443 mtspr SPRN_DAR, r11 /* Tag DAR */ 442 mtspr SPRN_DAR, r11 /* Tag DAR */
444 EXCEPTION_EPILOG_0 443 EXCEPTION_EPILOG_0