diff options
author | Anshuman Khandual <khandual@linux.vnet.ibm.com> | 2013-04-25 16:54:55 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2013-05-01 20:35:15 -0400 |
commit | 53b56ca0195b8a2a098a358088ecfefafb030b40 (patch) | |
tree | 7709056b3f79dbd4e6ad37254e9bc30e83c057eb /arch/powerpc | |
parent | fc2a6cfe05a33891180a27d55983febe170bc0f8 (diff) |
powerpc: Setup BHRB instructions facility in HFSCR for POWER8
Make BHRB instructions available in problem and privileged states.
Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/include/asm/reg.h | 1 | ||||
-rw-r--r-- | arch/powerpc/kernel/cpu_setup_power.S | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h index 5c6fbe2c5ce6..178a85844462 100644 --- a/arch/powerpc/include/asm/reg.h +++ b/arch/powerpc/include/asm/reg.h | |||
@@ -272,6 +272,7 @@ | |||
272 | #define HFSCR_TAR (1 << (63-55)) /* Enable Target Address Register */ | 272 | #define HFSCR_TAR (1 << (63-55)) /* Enable Target Address Register */ |
273 | #define HFSCR_TM (1 << (63-58)) /* Enable Transactional Memory */ | 273 | #define HFSCR_TM (1 << (63-58)) /* Enable Transactional Memory */ |
274 | #define HFSCR_PM (1 << (63-60)) /* Enable prob/priv access to PMU SPRs */ | 274 | #define HFSCR_PM (1 << (63-60)) /* Enable prob/priv access to PMU SPRs */ |
275 | #define HFSCR_BHRB (1 << (63-59)) /* Enable Branch History Rolling Buffer*/ | ||
275 | #define HFSCR_DSCR (1 << (63-61)) /* Enable Data Stream Control Register */ | 276 | #define HFSCR_DSCR (1 << (63-61)) /* Enable Data Stream Control Register */ |
276 | #define HFSCR_VECVSX (1 << (63-62)) /* Enable VMX/VSX */ | 277 | #define HFSCR_VECVSX (1 << (63-62)) /* Enable VMX/VSX */ |
277 | #define HFSCR_FP (1 << (63-63)) /* Enable Floating Point */ | 278 | #define HFSCR_FP (1 << (63-63)) /* Enable Floating Point */ |
diff --git a/arch/powerpc/kernel/cpu_setup_power.S b/arch/powerpc/kernel/cpu_setup_power.S index e0c419b8d65b..7b4db965b592 100644 --- a/arch/powerpc/kernel/cpu_setup_power.S +++ b/arch/powerpc/kernel/cpu_setup_power.S | |||
@@ -129,7 +129,8 @@ __init_FSCR: | |||
129 | 129 | ||
130 | __init_HFSCR: | 130 | __init_HFSCR: |
131 | mfspr r3,SPRN_HFSCR | 131 | mfspr r3,SPRN_HFSCR |
132 | ori r3,r3,HFSCR_TAR|HFSCR_TM|HFSCR_DSCR|HFSCR_VECVSX|HFSCR_FP|HFSCR_PM | 132 | ori r3,r3,HFSCR_TAR|HFSCR_TM|HFSCR_BHRB|HFSCR_PM|\ |
133 | HFSCR_DSCR|HFSCR_VECVSX|HFSCR_FP | ||
133 | mtspr SPRN_HFSCR,r3 | 134 | mtspr SPRN_HFSCR,r3 |
134 | blr | 135 | blr |
135 | 136 | ||