[PATCH] Fix kexec x86_64 load failed bug
Randy Dunlap
randy.dunlap at oracle.com
Tue Nov 25 22:25:30 EST 2008
Huang Ying wrote:
> Fix a bug of kexec load on x86_64. Kexec fails to do load on x86_64, with
> error message:
>
> Symbol: cmdline_end not found cannot set
>
> Because kexec/arch/i386/kexec-bzImage.c accesses cmdline_end symbol in
> i386 purgatory, but there is no cmdline_end in x86_64 purgatory, and
> kexec-bzImage.c is used by x86_64 too.
>
> cmdline_end is added into x86_64 purgatory to solve the bug, because kexec
> jump support for x86_64 is planned.
>
> Reported-by: Bernhard Walle <bwalle at suse.de>
> Signed-off-by: Huang Ying <ying.huang at intel.com>
>
> diff --git a/purgatory/arch/x86_64/purgatory-x86_64.c b/purgatory/arch/x86_64/purgatory-x86_64.c
> index 374b554..67a37f9 100644
> --- a/purgatory/arch/x86_64/purgatory-x86_64.c
> +++ b/purgatory/arch/x86_64/purgatory-x86_64.c
> @@ -5,6 +5,7 @@
> uint8_t reset_vga = 0;
> uint8_t legacy_pic = 0;
> uint8_t panic_kernel = 0;
> +char *cmdline_end = 0;
>
> void setup_arch(void)
> {
This isn't kernel code? Where is /purgatory/ ?
Anyway, for kernel code, that should be:
char *cmdline_end = NULL;
--
~Randy
More information about the kexec
mailing list