aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/relocate_kernel64.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/kernel/relocate_kernel64.S')
-rw-r--r--arch/s390/kernel/relocate_kernel64.S5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/s390/kernel/relocate_kernel64.S b/arch/s390/kernel/relocate_kernel64.S
index 7c3ce589a7f0..35508f335688 100644
--- a/arch/s390/kernel/relocate_kernel64.S
+++ b/arch/s390/kernel/relocate_kernel64.S
@@ -9,6 +9,7 @@
9 */ 9 */
10 10
11#include <linux/linkage.h> 11#include <linux/linkage.h>
12#include <asm/sigp.h>
12 13
13/* 14/*
14 * moves the new kernel to its destination... 15 * moves the new kernel to its destination...
@@ -45,7 +46,7 @@ ENTRY(relocate_kernel)
45 diag %r0,%r0,0x308 46 diag %r0,%r0,0x308
46 .back: 47 .back:
47 lhi %r1,1 # mode 1 = esame 48 lhi %r1,1 # mode 1 = esame
48 sigp %r1,%r0,0x12 # switch to esame mode 49 sigp %r1,%r0,SIGP_SET_ARCHITECTURE # switch to esame mode
49 sam64 # switch to 64 bit addressing mode 50 sam64 # switch to 64 bit addressing mode
50 basr %r13,0 51 basr %r13,0
51 .back_base: 52 .back_base:
@@ -96,7 +97,7 @@ ENTRY(relocate_kernel)
96 sam31 # 31 bit mode 97 sam31 # 31 bit mode
97 sr %r1,%r1 # erase register r1 98 sr %r1,%r1 # erase register r1
98 sr %r2,%r2 # erase register r2 99 sr %r2,%r2 # erase register r2
99 sigp %r1,%r2,0x12 # set cpuid to zero 100 sigp %r1,%r2,SIGP_SET_ARCHITECTURE # set cpuid to zero
100 lpsw 0 # hopefully start new kernel... 101 lpsw 0 # hopefully start new kernel...
101 102
102 .align 8 103 .align 8