[Skiboot] [PATCH 1/2] asm/head: initialize preferred DSCR value
Nicholas Piggin
npiggin at gmail.com
Tue Oct 24 22:40:59 AEDT 2017
POWER7/8 use DSCR=0. POWER9 preferred value has "stride-N" enabled.
Signed-off-by: Nicholas Piggin <npiggin at gmail.com>
---
asm/head.S | 22 +++++++++++++++++++---
include/processor.h | 1 +
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/asm/head.S b/asm/head.S
index d6b58be9..d82e4e5e 100644
--- a/asm/head.S
+++ b/asm/head.S
@@ -782,7 +782,7 @@ init_replicated_sprs:
cmpwi cr0,%r3,PVR_TYPE_P8NVL
beq 3f
cmpwi cr0,%r3,PVR_TYPE_P9
- beq 3f
+ beq 4f
/* Unsupported CPU type... what do we do ? */
b 9f
@@ -792,14 +792,30 @@ init_replicated_sprs:
mtspr SPR_LPCR, %r3
sync
isync
- b 9f
+ LOAD_IMM64(%r3,0x0)
+ mtspr SPR_DSCR,%r3
+ b 9f
+
+3: /* P8, P8E */
+ /* LPCR: sane value */
+ LOAD_IMM64(%r3,0x0040000000000000)
+ mtspr SPR_LPCR, %r3
+ sync
+ isync
+ LOAD_IMM64(%r3,0x0)
+ mtspr SPR_DSCR,%r3
+ b 9f
-3: /* P8, P8E, P9 */
+4: /* P9 */
/* LPCR: sane value */
LOAD_IMM64(%r3,0x0040000000000000)
mtspr SPR_LPCR, %r3
sync
isync
+ /* DSCR: Stride-N Stream Enable */
+ LOAD_IMM64(%r3,0x0000000000000010)
+ mtspr SPR_DSCR,%r3
+
9: blr
.global enter_nap
diff --git a/include/processor.h b/include/processor.h
index 1f18762a..77110d01 100644
--- a/include/processor.h
+++ b/include/processor.h
@@ -44,6 +44,7 @@
#define SPR_PIR_P7_MASK 0x03ff /* Mask of implemented bits */
/* SPR register definitions */
+#define SPR_DSCR 0x011 /* RW: Data stream control reg */
#define SPR_DSISR 0x012 /* RW: Data storage interrupt status reg */
#define SPR_DAR 0x013 /* RW: Data address reg */
#define SPR_DEC 0x016 /* RW: Decrement Register */
--
2.13.3
More information about the Skiboot
mailing list