[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