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