aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/include/asm/os_info.h5
-rw-r--r--arch/s390/kernel/head_kdump.S7
-rw-r--r--arch/s390/kernel/os_info.c1
-rw-r--r--arch/s390/kernel/smp.c12
4 files changed, 2 insertions, 23 deletions
diff --git a/arch/s390/include/asm/os_info.h b/arch/s390/include/asm/os_info.h
index d07518af09e..295f2c4f1c9 100644
--- a/arch/s390/include/asm/os_info.h
+++ b/arch/s390/include/asm/os_info.h
@@ -13,7 +13,6 @@
13 13
14#define OS_INFO_VMCOREINFO 0 14#define OS_INFO_VMCOREINFO 0
15#define OS_INFO_REIPL_BLOCK 1 15#define OS_INFO_REIPL_BLOCK 1
16#define OS_INFO_INIT_FN 2
17 16
18struct os_info_entry { 17struct os_info_entry {
19 u64 addr; 18 u64 addr;
@@ -28,8 +27,8 @@ struct os_info {
28 u16 version_minor; 27 u16 version_minor;
29 u64 crashkernel_addr; 28 u64 crashkernel_addr;
30 u64 crashkernel_size; 29 u64 crashkernel_size;
31 struct os_info_entry entry[3]; 30 struct os_info_entry entry[2];
32 u8 reserved[4004]; 31 u8 reserved[4024];
33} __packed; 32} __packed;
34 33
35void os_info_init(void); 34void os_info_init(void);
diff --git a/arch/s390/kernel/head_kdump.S b/arch/s390/kernel/head_kdump.S
index e1ac3893e97..796c976b5fd 100644
--- a/arch/s390/kernel/head_kdump.S
+++ b/arch/s390/kernel/head_kdump.S
@@ -85,11 +85,6 @@ startup_kdump_relocated:
85 basr %r13,0 85 basr %r13,0
860: 860:
87 mvc 0(8,%r0),.Lrestart_psw-0b(%r13) # Setup restart PSW 87 mvc 0(8,%r0),.Lrestart_psw-0b(%r13) # Setup restart PSW
88 mvc 464(16,%r0),.Lpgm_psw-0b(%r13) # Setup pgm check PSW
89 lhi %r1,1 # Start new kernel
90 diag %r1,%r1,0x308 # with diag 308
91
92.Lno_diag308: # No diag 308
93 sam31 # Switch to 31 bit addr mode 88 sam31 # Switch to 31 bit addr mode
94 sr %r1,%r1 # Erase register r1 89 sr %r1,%r1 # Erase register r1
95 sr %r2,%r2 # Erase register r2 90 sr %r2,%r2 # Erase register r2
@@ -98,8 +93,6 @@ startup_kdump_relocated:
98.align 8 93.align 8
99.Lrestart_psw: 94.Lrestart_psw:
100 .long 0x00080000,0x80000000 + startup 95 .long 0x00080000,0x80000000 + startup
101.Lpgm_psw:
102 .quad 0x0000000180000000,0x0000000000000000 + .Lno_diag308
103#else 96#else
104.align 2 97.align 2
105.Lep_startup_kdump: 98.Lep_startup_kdump:
diff --git a/arch/s390/kernel/os_info.c b/arch/s390/kernel/os_info.c
index e8d6c214d49..f2fe18f3f01 100644
--- a/arch/s390/kernel/os_info.c
+++ b/arch/s390/kernel/os_info.c
@@ -138,7 +138,6 @@ static void os_info_old_init(void)
138 goto fail_free; 138 goto fail_free;
139 os_info_old_alloc(OS_INFO_VMCOREINFO, 1); 139 os_info_old_alloc(OS_INFO_VMCOREINFO, 1);
140 os_info_old_alloc(OS_INFO_REIPL_BLOCK, 1); 140 os_info_old_alloc(OS_INFO_REIPL_BLOCK, 1);
141 os_info_old_alloc(OS_INFO_INIT_FN, PAGE_SIZE);
142 pr_info("crashkernel: addr=0x%lx size=%lu\n", 141 pr_info("crashkernel: addr=0x%lx size=%lu\n",
143 (unsigned long) os_info_old->crashkernel_addr, 142 (unsigned long) os_info_old->crashkernel_addr,
144 (unsigned long) os_info_old->crashkernel_size); 143 (unsigned long) os_info_old->crashkernel_size);
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c
index 647ba942589..9948bd09ee5 100644
--- a/arch/s390/kernel/smp.c
+++ b/arch/s390/kernel/smp.c
@@ -800,17 +800,6 @@ void __noreturn cpu_die(void)
800 800
801#endif /* CONFIG_HOTPLUG_CPU */ 801#endif /* CONFIG_HOTPLUG_CPU */
802 802
803static void smp_call_os_info_init_fn(void)
804{
805 int (*init_fn)(void);
806 unsigned long size;
807
808 init_fn = os_info_old_entry(OS_INFO_INIT_FN, &size);
809 if (!init_fn)
810 return;
811 init_fn();
812}
813
814void __init smp_prepare_cpus(unsigned int max_cpus) 803void __init smp_prepare_cpus(unsigned int max_cpus)
815{ 804{
816 /* request the 0x1201 emergency signal external interrupt */ 805 /* request the 0x1201 emergency signal external interrupt */
@@ -819,7 +808,6 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
819 /* request the 0x1202 external call external interrupt */ 808 /* request the 0x1202 external call external interrupt */
820 if (register_external_interrupt(0x1202, do_ext_call_interrupt) != 0) 809 if (register_external_interrupt(0x1202, do_ext_call_interrupt) != 0)
821 panic("Couldn't request external interrupt 0x1202"); 810 panic("Couldn't request external interrupt 0x1202");
822 smp_call_os_info_init_fn();
823 smp_detect_cpus(); 811 smp_detect_cpus();
824} 812}
825 813