s390: add support for --reuse-cmdline
Resolves: bz2060824 Upstream: git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git Conflicts: None commit 2e1ec106dc5aac951ba884ebe4cca036e9a2d45f Author: Sven Schnelle <svens@linux.ibm.com> Date: Thu Dec 16 12:43:56 2021 +0100 s390: add support for --reuse-cmdline --reuse-cmdline reads the command line of the currently running kernel from /proc/cmdline and uses that for the kernel that should be kexec'd. Signed-off-by: Sven Schnelle <svens@linux.ibm.com> Reviewed-by: Alexander Egorenkov <egorenar@linux.ibm.com> Signed-off-by: Simon Horman <horms@verge.net.au> Signed-off-by: Philipp Rudo <prudo@redhat.com>
This commit is contained in:
parent
1ac74b6d66
commit
673f93346e
@ -0,0 +1,75 @@
|
|||||||
|
commit 2e1ec106dc5aac951ba884ebe4cca036e9a2d45f
|
||||||
|
Author: Sven Schnelle <svens@linux.ibm.com>
|
||||||
|
Date: Thu Dec 16 12:43:56 2021 +0100
|
||||||
|
|
||||||
|
s390: add support for --reuse-cmdline
|
||||||
|
|
||||||
|
--reuse-cmdline reads the command line of the currently
|
||||||
|
running kernel from /proc/cmdline and uses that for the
|
||||||
|
kernel that should be kexec'd.
|
||||||
|
|
||||||
|
Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
|
||||||
|
Reviewed-by: Alexander Egorenkov <egorenar@linux.ibm.com>
|
||||||
|
Signed-off-by: Simon Horman <horms@verge.net.au>
|
||||||
|
|
||||||
|
diff --git a/kexec/arch/s390/include/arch/options.h b/kexec/arch/s390/include/arch/options.h
|
||||||
|
index 76044a301ceb3cca013f70dff330a8ad343d808a..c150244996c79165cf1e83e331f728432b752652 100644
|
||||||
|
--- a/kexec/arch/s390/include/arch/options.h
|
||||||
|
+++ b/kexec/arch/s390/include/arch/options.h
|
||||||
|
@@ -1,9 +1,10 @@
|
||||||
|
#ifndef KEXEC_ARCH_S390_OPTIONS_H
|
||||||
|
#define KEXEC_ARCH_S390_OPTIONS_H
|
||||||
|
|
||||||
|
-#define OPT_ARCH_MAX (OPT_MAX+0)
|
||||||
|
-#define OPT_APPEND OPT_MAX+0
|
||||||
|
-#define OPT_RAMDISK OPT_MAX+1
|
||||||
|
+#define OPT_ARCH_MAX (OPT_MAX+0)
|
||||||
|
+#define OPT_APPEND (OPT_MAX+0)
|
||||||
|
+#define OPT_RAMDISK (OPT_MAX+1)
|
||||||
|
+#define OPT_REUSE_CMDLINE (OPT_MAX+2)
|
||||||
|
|
||||||
|
/* Options relevant to the architecture (excluding loader-specific ones),
|
||||||
|
* in this case none:
|
||||||
|
@@ -31,7 +32,8 @@
|
||||||
|
KEXEC_ARCH_OPTIONS \
|
||||||
|
{"command-line", 1, 0, OPT_APPEND}, \
|
||||||
|
{"append", 1, 0, OPT_APPEND}, \
|
||||||
|
- {"initrd", 1, 0, OPT_RAMDISK},
|
||||||
|
+ {"initrd", 1, 0, OPT_RAMDISK}, \
|
||||||
|
+ {"reuse-cmdline", 0, 0, OPT_REUSE_CMDLINE },
|
||||||
|
|
||||||
|
#define KEXEC_ALL_OPT_STR KEXEC_ARCH_OPT_STR
|
||||||
|
|
||||||
|
diff --git a/kexec/arch/s390/kexec-image.c b/kexec/arch/s390/kexec-image.c
|
||||||
|
index 209ab77ddccbd60f10989e2d9fc273324aefa76d..69aaf96812f741110bf323b4bb8d5dda155f293a 100644
|
||||||
|
--- a/kexec/arch/s390/kexec-image.c
|
||||||
|
+++ b/kexec/arch/s390/kexec-image.c
|
||||||
|
@@ -71,6 +71,10 @@ int image_s390_load_file(int argc, char **argv, struct kexec_info *info)
|
||||||
|
case OPT_RAMDISK:
|
||||||
|
ramdisk = optarg;
|
||||||
|
break;
|
||||||
|
+ case OPT_REUSE_CMDLINE:
|
||||||
|
+ free(info->command_line);
|
||||||
|
+ info->command_line = get_command_line();
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -123,6 +127,10 @@ image_s390_load(int argc, char **argv, const char *kernel_buf,
|
||||||
|
if (command_line_add(info, optarg))
|
||||||
|
return -1;
|
||||||
|
break;
|
||||||
|
+ case OPT_REUSE_CMDLINE:
|
||||||
|
+ free(info->command_line);
|
||||||
|
+ info->command_line = get_command_line();
|
||||||
|
+ break;
|
||||||
|
case OPT_RAMDISK:
|
||||||
|
ramdisk = optarg;
|
||||||
|
break;
|
||||||
|
@@ -223,5 +231,6 @@ image_s390_usage(void)
|
||||||
|
printf("--command-line=STRING Set the kernel command line to STRING.\n"
|
||||||
|
"--append=STRING Set the kernel command line to STRING.\n"
|
||||||
|
"--initrd=FILENAME Use the file FILENAME as a ramdisk.\n"
|
||||||
|
+ "--reuse-cmdline Use kernel command line from running system.\n"
|
||||||
|
);
|
||||||
|
}
|
@ -108,6 +108,7 @@ Patch401: ./kexec-tools-2.0.23-01-s390_add_variable_command_line_size.patch
|
|||||||
Patch402: ./kexec-tools-2.0.23-02-s390_use_KEXEC_ALL_OPTIONS.patch
|
Patch402: ./kexec-tools-2.0.23-02-s390_use_KEXEC_ALL_OPTIONS.patch
|
||||||
Patch403: ./kexec-tools-2.0.23-03-add_slurp_proc_file_.patch
|
Patch403: ./kexec-tools-2.0.23-03-add_slurp_proc_file_.patch
|
||||||
Patch404: ./kexec-tools-2.0.23-04-use_slurp_proc_file_in_get_command_line_.patch
|
Patch404: ./kexec-tools-2.0.23-04-use_slurp_proc_file_in_get_command_line_.patch
|
||||||
|
Patch405: ./kexec-tools-2.0.23-05-s390_add_support_for_reuse_cmdline.patch
|
||||||
|
|
||||||
#
|
#
|
||||||
# Patches 501 through 600 are meant for ARM kexec-tools enablement
|
# Patches 501 through 600 are meant for ARM kexec-tools enablement
|
||||||
@ -142,6 +143,7 @@ tar -z -x -v -f %{SOURCE19}
|
|||||||
%patch402 -p1
|
%patch402 -p1
|
||||||
%patch403 -p1
|
%patch403 -p1
|
||||||
%patch404 -p1
|
%patch404 -p1
|
||||||
|
%patch405 -p1
|
||||||
%patch601 -p1
|
%patch601 -p1
|
||||||
%patch602 -p1
|
%patch602 -p1
|
||||||
%patch603 -p1
|
%patch603 -p1
|
||||||
|
Loading…
Reference in New Issue
Block a user