diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/s390/include/asm/os_info.h | 5 | ||||
-rw-r--r-- | arch/s390/kernel/head_kdump.S | 7 | ||||
-rw-r--r-- | arch/s390/kernel/os_info.c | 1 | ||||
-rw-r--r-- | arch/s390/kernel/smp.c | 12 |
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 d07518af09ea..295f2c4f1c96 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 | ||
18 | struct os_info_entry { | 17 | struct 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 | ||
35 | void os_info_init(void); | 34 | void os_info_init(void); |
diff --git a/arch/s390/kernel/head_kdump.S b/arch/s390/kernel/head_kdump.S index e1ac3893e972..796c976b5fdc 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 |
86 | 0: | 86 | 0: |
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 e8d6c214d498..f2fe18f3f01f 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 647ba9425893..9948bd09ee57 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 | ||
803 | static 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 | |||
814 | void __init smp_prepare_cpus(unsigned int max_cpus) | 803 | void __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 | ||