powerpc: Context switch the new EBB SPRs
[firefly-linux-kernel-4.4.55.git] / arch / powerpc / kernel / entry_64.S
index 7a6801faaa832ab32de8965c8c33274763fa4cf5..3fe5259e2fea872be5da2e333427a935f8a012d0 100644 (file)
@@ -458,6 +458,14 @@ BEGIN_FTR_SECTION
         */
        mfspr   r0,SPRN_TAR
        std     r0,THREAD_TAR(r3)
+
+       /* Event based branch registers */
+       mfspr   r0, SPRN_BESCR
+       std     r0, THREAD_BESCR(r3)
+       mfspr   r0, SPRN_EBBHR
+       std     r0, THREAD_EBBHR(r3)
+       mfspr   r0, SPRN_EBBRR
+       std     r0, THREAD_EBBRR(r3)
 END_FTR_SECTION_IFSET(CPU_FTR_ARCH_207S)
 #endif
 
@@ -545,6 +553,14 @@ END_MMU_FTR_SECTION_IFSET(MMU_FTR_1T_SEGMENT)
 
 #ifdef CONFIG_PPC_BOOK3S_64
 BEGIN_FTR_SECTION
+       /* Event based branch registers */
+       ld      r0, THREAD_BESCR(r4)
+       mtspr   SPRN_BESCR, r0
+       ld      r0, THREAD_EBBHR(r4)
+       mtspr   SPRN_EBBHR, r0
+       ld      r0, THREAD_EBBRR(r4)
+       mtspr   SPRN_EBBRR, r0
+
        ld      r0,THREAD_TAR(r4)
        mtspr   SPRN_TAR,r0
 END_FTR_SECTION_IFSET(CPU_FTR_ARCH_207S)