aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/head_booke.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/head_booke.h')
-rw-r--r--arch/powerpc/kernel/head_booke.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/head_booke.h b/arch/powerpc/kernel/head_booke.h
index d0862a100d29..15ac51072eb3 100644
--- a/arch/powerpc/kernel/head_booke.h
+++ b/arch/powerpc/kernel/head_booke.h
@@ -43,6 +43,9 @@
43 andi. r11, r11, MSR_PR; /* check whether user or kernel */\ 43 andi. r11, r11, MSR_PR; /* check whether user or kernel */\
44 mr r11, r1; \ 44 mr r11, r1; \
45 beq 1f; \ 45 beq 1f; \
46START_BTB_FLUSH_SECTION \
47 BTB_FLUSH(r11) \
48END_BTB_FLUSH_SECTION \
46 /* if from user, start at top of this thread's kernel stack */ \ 49 /* if from user, start at top of this thread's kernel stack */ \
47 lwz r11, THREAD_INFO-THREAD(r10); \ 50 lwz r11, THREAD_INFO-THREAD(r10); \
48 ALLOC_STACK_FRAME(r11, THREAD_SIZE); \ 51 ALLOC_STACK_FRAME(r11, THREAD_SIZE); \
@@ -128,6 +131,9 @@
128 stw r9,_CCR(r8); /* save CR on stack */\ 131 stw r9,_CCR(r8); /* save CR on stack */\
129 mfspr r11,exc_level_srr1; /* check whether user or kernel */\ 132 mfspr r11,exc_level_srr1; /* check whether user or kernel */\
130 DO_KVM BOOKE_INTERRUPT_##intno exc_level_srr1; \ 133 DO_KVM BOOKE_INTERRUPT_##intno exc_level_srr1; \
134START_BTB_FLUSH_SECTION \
135 BTB_FLUSH(r10) \
136END_BTB_FLUSH_SECTION \
131 andi. r11,r11,MSR_PR; \ 137 andi. r11,r11,MSR_PR; \
132 mfspr r11,SPRN_SPRG_THREAD; /* if from user, start at top of */\ 138 mfspr r11,SPRN_SPRG_THREAD; /* if from user, start at top of */\
133 lwz r11,THREAD_INFO-THREAD(r11); /* this thread's kernel stack */\ 139 lwz r11,THREAD_INFO-THREAD(r11); /* this thread's kernel stack */\