aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/powerpc/kernel/entry_32.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S
index 96dce6a4b61e..b61cfd29c76f 100644
--- a/arch/powerpc/kernel/entry_32.S
+++ b/arch/powerpc/kernel/entry_32.S
@@ -730,6 +730,9 @@ fast_exception_return:
730 mtcr r10 730 mtcr r10
731 lwz r10,_LINK(r11) 731 lwz r10,_LINK(r11)
732 mtlr r10 732 mtlr r10
733 /* Clear the exception_marker on the stack to avoid confusing stacktrace */
734 li r10, 0
735 stw r10, 8(r11)
733 REST_GPR(10, r11) 736 REST_GPR(10, r11)
734#if defined(CONFIG_PPC_8xx) && defined(CONFIG_PERF_EVENTS) 737#if defined(CONFIG_PPC_8xx) && defined(CONFIG_PERF_EVENTS)
735 mtspr SPRN_NRI, r0 738 mtspr SPRN_NRI, r0
@@ -961,6 +964,9 @@ END_FTR_SECTION_IFSET(CPU_FTR_NEED_PAIRED_STWCX)
961 mtcrf 0xFF,r10 964 mtcrf 0xFF,r10
962 mtlr r11 965 mtlr r11
963 966
967 /* Clear the exception_marker on the stack to avoid confusing stacktrace */
968 li r10, 0
969 stw r10, 8(r1)
964 /* 970 /*
965 * Once we put values in SRR0 and SRR1, we are in a state 971 * Once we put values in SRR0 and SRR1, we are in a state
966 * where exceptions are not recoverable, since taking an 972 * where exceptions are not recoverable, since taking an
@@ -997,6 +1003,9 @@ exc_exit_restart_end:
997 mtlr r11 1003 mtlr r11
998 lwz r10,_CCR(r1) 1004 lwz r10,_CCR(r1)
999 mtcrf 0xff,r10 1005 mtcrf 0xff,r10
1006 /* Clear the exception_marker on the stack to avoid confusing stacktrace */
1007 li r10, 0
1008 stw r10, 8(r1)
1000 REST_2GPRS(9, r1) 1009 REST_2GPRS(9, r1)
1001 .globl exc_exit_restart 1010 .globl exc_exit_restart
1002exc_exit_restart: 1011exc_exit_restart: