On Tue, Apr 16, 2013 at 10:19:34PM +0800, Zhang Yanfei wrote: > From: Zhang Yanfei <zhangyanfei at cn.fujitsu.com> > > We needn't get the initial values for every regs in regs32 > from symbol entry32_regs for we will manually initialize them > one by one next: > > /* > * Initialize the 32bit start information. > */ > regs32.eax = 0; /* unused */ > regs32.ebx = 0; /* 0 == boot not AP processor start */ > regs32.ecx = 0; /* unused */ > regs32.edx = 0; /* unused */ > regs32.esi = setup_base; /* kernel parameters */ > regs32.edi = 0; /* unused */ > regs32.esp = elf_rel_get_addr(&info->rhdr, "stack_end"); /* stack, unused */ > regs32.ebp = 0; /* unused */ > regs32.eip = kernel32_load_addr; /* kernel entry point */ > > Signed-off-by: Zhang Yanfei <zhangyanfei at cn.fujitsu.com> Thanks, nice clean-up. I have applied this patch. > --- > kexec/arch/i386/kexec-bzImage.c | 3 +-- > 1 files changed, 1 insertions(+), 2 deletions(-) > > diff --git a/kexec/arch/i386/kexec-bzImage.c b/kexec/arch/i386/kexec-bzImage.c > index 39452a4..6a34279 100644 > --- a/kexec/arch/i386/kexec-bzImage.c > +++ b/kexec/arch/i386/kexec-bzImage.c > @@ -310,9 +310,8 @@ int do_bzImage_load(struct kexec_info *info, > if (real_mode_entry) > elf_rel_get_symbol(&info->rhdr, "entry16_regs", > ®s16, sizeof(regs16)); > - elf_rel_get_symbol(&info->rhdr, "entry32_regs", ®s32, sizeof(regs32)); > - /* > > + /* > * Initialize the 32bit start information. > */ > regs32.eax = 0; /* unused */ > -- > 1.7.1 >