Nicolas Schichan schrieb: > On Friday 30 May 2008 13:39:16 Tomasz Chmielewski wrote: > > Hello, > >> Nicolas Schichan schrieb: >>> On Thursday 29 May 2008 22:15:47 Tomasz Chmielewski wrote: >>>> Will call new kernel at 00305000 >>> The calling address of the kernel looks quite wrong, it should clearly >>> be inside the KSEG0 zone. could you please indicate the output of the >>> command "mips-linux-readelf -l vmlinux" ? >> # uname -m >> mips >> # readelf -l vmlinux >> >> Elf file type is EXEC (Executable file) >> Entry point 0x80251b50 > > This is quite surprising. The jump address that kexec will use is > cleary not what I expected. I would have expected it to be the Entry > point address given by readelf. > > could you try the following patch to make sure that the kimage* > structure is not corrupted by the code in machine_kexec() ? > > Index: linux/arch/mips/kernel/machine_kexec.c > =================================================================== > --- linux/arch/mips/kernel/machine_kexec.c (revision 8056) > +++ linux/arch/mips/kernel/machine_kexec.c (working copy) > @@ -49,6 +49,8 @@ > unsigned long entry; > unsigned long *ptr; > > + printk("image->start = %p", image->start); > + > reboot_code_buffer = > (unsigned long)page_address(image->control_code_page); Umm? CC arch/mips/kernel/machine_kexec.o cc1: warnings being treated as errors arch/mips/kernel/machine_kexec.c: In function 'machine_kexec': arch/mips/kernel/machine_kexec.c:52: warning: format '%p' expects type 'void *', but argument 2 has type 'long unsigned int' make[6]: *** [arch/mips/kernel/machine_kexec.o] Error 1 make[5]: *** [arch/mips/kernel] Error 2 make[5]: Leaving directory `/home/tch-data/openwrt/11612/build_dir/linux-brcm47xx/linux-2.6.25.9' -- Tomasz Chmielewski http://wpkg.org