[PATCH v3 3/4] kexec, x86: set ext_cmd_line_ptr when boot_param is above 4g
Yinghai Lu
yinghai at kernel.org
Wed Nov 21 02:31:37 EST 2012
update ext_cmd_line_ptr for bzImage from protocal 2.12
that could have command line above 4g.
-v2: update ext_... handling to the way that Eric likes.
Signed-off-by: Yinghai Lu <yinghai at kernel.org>
---
kexec/arch/i386/x86-linux-setup.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/kexec/arch/i386/x86-linux-setup.c b/kexec/arch/i386/x86-linux-setup.c
index 3c31f64..d12dab1 100644
--- a/kexec/arch/i386/x86-linux-setup.c
+++ b/kexec/arch/i386/x86-linux-setup.c
@@ -103,7 +103,12 @@ void setup_linux_bootloader_parameters(
/* setup_move_size */
/* } */
if (real_mode->protocol_version >= 0x0202) {
- real_mode->cmd_line_ptr = real_mode_base + cmdline_offset;
+ unsigned long cmd_line_ptr = real_mode_base + cmdline_offset;
+
+ real_mode->cmd_line_ptr = cmd_line_ptr & 0xffffffffUL;
+ if ((real_mode->protocol_version >= 0x020c) &&
+ ((cmd_line_ptr & 0xffffffffUL) != cmd_line_ptr))
+ real_mode->ext_cmd_line_ptr = cmd_line_ptr >> 32;
}
/* Fill in the command line */
--
1.7.7
More information about the kexec
mailing list