aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/machine_kexec.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/kernel/machine_kexec.c')
-rw-r--r--arch/s390/kernel/machine_kexec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/s390/kernel/machine_kexec.c b/arch/s390/kernel/machine_kexec.c
index 52f57af252b4..3c77dd36994c 100644
--- a/arch/s390/kernel/machine_kexec.c
+++ b/arch/s390/kernel/machine_kexec.c
@@ -19,6 +19,7 @@
19#include <asm/system.h> 19#include <asm/system.h>
20#include <asm/smp.h> 20#include <asm/smp.h>
21#include <asm/reset.h> 21#include <asm/reset.h>
22#include <asm/ipl.h>
22 23
23typedef void (*relocate_kernel_t)(kimage_entry_t *, unsigned long); 24typedef void (*relocate_kernel_t)(kimage_entry_t *, unsigned long);
24 25
@@ -29,6 +30,10 @@ int machine_kexec_prepare(struct kimage *image)
29{ 30{
30 void *reboot_code_buffer; 31 void *reboot_code_buffer;
31 32
33 /* Can't replace kernel image since it is read-only. */
34 if (ipl_flags & IPL_NSS_VALID)
35 return -ENOSYS;
36
32 /* We don't support anything but the default image type for now. */ 37 /* We don't support anything but the default image type for now. */
33 if (image->type != KEXEC_TYPE_DEFAULT) 38 if (image->type != KEXEC_TYPE_DEFAULT)
34 return -EINVAL; 39 return -EINVAL;