[PATCH] Fix kexec x86_64 load failed bug
Huang Ying
ying.huang at intel.com
Wed Nov 26 01:47:38 EST 2008
On Wed, 2008-11-26 at 14:16 +0800, Simon Horman wrote:
> On Wed, Nov 26, 2008 at 12:25:51PM +0800, Huang Ying wrote:
> > On Wed, 2008-11-26 at 11:25 +0800, Randy Dunlap wrote:
> > > This isn't kernel code? Where is /purgatory/ ?
> > >
> > > Anyway, for kernel code, that should be:
> > > char *cmdline_end = NULL;
> >
> > This patch is against kexec tools, not kernel.
> >
> > Best Regards,
> > Huang Ying
>
> Hi Huang,
>
> I think that I would prefer "char *cmdline_end = NULL;" for kexec-tools
> code too.
Patch v2 follows with NULL instead of 0.
Best Regards,
Huang Ying
---------------------------------------------------->
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>
---
purgatory/arch/x86_64/purgatory-x86_64.c | 2 ++
1 file changed, 2 insertions(+)
--- a/purgatory/arch/x86_64/purgatory-x86_64.c
+++ b/purgatory/arch/x86_64/purgatory-x86_64.c
@@ -1,10 +1,12 @@
#include <stdint.h>
+#include <stddef.h>
#include <purgatory.h>
#include "purgatory-x86_64.h"
uint8_t reset_vga = 0;
uint8_t legacy_pic = 0;
uint8_t panic_kernel = 0;
+char *cmdline_end = NULL;
void setup_arch(void)
{
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
Url : http://lists.infradead.org/pipermail/kexec/attachments/20081126/6cac2a83/attachment.bin
More information about the kexec
mailing list