summaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel
diff options
context:
space:
mode:
authorHeiko Carstens <hca@linux.ibm.com>2021-02-02 13:46:47 +0100
committerVasily Gorbik <gor@linux.ibm.com>2021-02-09 15:57:05 +0100
commit78f6570946228d0e1dac5f42f398e3e07924b945 (patch)
treec43c16fa7dbdd8eee905283224ea88328ae51f12 /arch/s390/kernel
parentb22446d00af972ef624958a09dcbe85974b701fd (diff)
downloadlinux-78f6570946228d0e1dac5f42f398e3e07924b945.tar.bz2
s390/entry: use cpu alternative for stck/stckf
Use a cpu alternative to switch between stck and stckf instead of making it compile time dependent. This will also make kernels compiled for old machines, but running on newer machines, use stckf. Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Diffstat (limited to 'arch/s390/kernel')
-rw-r--r--arch/s390/kernel/entry.S8
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S
index 785425b59ac1..9b3aea98f886 100644
--- a/arch/s390/kernel/entry.S
+++ b/arch/s390/kernel/entry.S
@@ -106,12 +106,10 @@ _LPP_OFFSET = __LC_LPP
2: la %r11,STACK_FRAME_OVERHEAD(%r15)
.endm
+ # Use STORE CLOCK by default, switch to STORE CLOCK FAST if available.
.macro STCK savearea
-#ifdef CONFIG_HAVE_MARCH_Z9_109_FEATURES
- .insn s,0xb27c0000,\savearea # store clock fast
-#else
- .insn s,0xb2050000,\savearea # store clock
-#endif
+ ALTERNATIVE ".insn s,0xb2050000,\savearea", \
+ ".insn s,0xb27c0000,\savearea", 25
.endm
/*