aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/entry_64.S
diff options
context:
space:
mode:
authorMichael Ellerman <michael@ellerman.id.au>2013-04-30 16:17:04 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2013-05-01 20:37:36 -0400
commit9353374b8e1585d5fa47a1e5c1d3e9155dd0eb7c (patch)
treee6fdfc6f3a7aa57214fb481d965ab4378f2fbc7c /arch/powerpc/kernel/entry_64.S
parent1ddf499e1a49e67c02b89e6565d091a0bda29a91 (diff)
powerpc: Context switch the new EBB SPRs
This context switches the new Event Based Branching (EBB) SPRs. The three new SPRs are: - Event Based Branch Handler Register (EBBHR) - Event Based Branch Return Register (EBBRR) - Branch Event Status and Control Register (BESCR) Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Matt Evans <matt@ozlabs.org> Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/entry_64.S')
-rw-r--r--arch/powerpc/kernel/entry_64.S16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S
index 7a6801faaa83..3fe5259e2fea 100644
--- a/arch/powerpc/kernel/entry_64.S
+++ b/arch/powerpc/kernel/entry_64.S
@@ -458,6 +458,14 @@ BEGIN_FTR_SECTION
458 */ 458 */
459 mfspr r0,SPRN_TAR 459 mfspr r0,SPRN_TAR
460 std r0,THREAD_TAR(r3) 460 std r0,THREAD_TAR(r3)
461
462 /* Event based branch registers */
463 mfspr r0, SPRN_BESCR
464 std r0, THREAD_BESCR(r3)
465 mfspr r0, SPRN_EBBHR
466 std r0, THREAD_EBBHR(r3)
467 mfspr r0, SPRN_EBBRR
468 std r0, THREAD_EBBRR(r3)
461END_FTR_SECTION_IFSET(CPU_FTR_ARCH_207S) 469END_FTR_SECTION_IFSET(CPU_FTR_ARCH_207S)
462#endif 470#endif
463 471
@@ -545,6 +553,14 @@ END_MMU_FTR_SECTION_IFSET(MMU_FTR_1T_SEGMENT)
545 553
546#ifdef CONFIG_PPC_BOOK3S_64 554#ifdef CONFIG_PPC_BOOK3S_64
547BEGIN_FTR_SECTION 555BEGIN_FTR_SECTION
556 /* Event based branch registers */
557 ld r0, THREAD_BESCR(r4)
558 mtspr SPRN_BESCR, r0
559 ld r0, THREAD_EBBHR(r4)
560 mtspr SPRN_EBBHR, r0
561 ld r0, THREAD_EBBRR(r4)
562 mtspr SPRN_EBBRR, r0
563
548 ld r0,THREAD_TAR(r4) 564 ld r0,THREAD_TAR(r4)
549 mtspr SPRN_TAR,r0 565 mtspr SPRN_TAR,r0
550END_FTR_SECTION_IFSET(CPU_FTR_ARCH_207S) 566END_FTR_SECTION_IFSET(CPU_FTR_ARCH_207S)