kexec on mips - anyone has it working?
Tomasz Chmielewski
mangoo at wpkg.org
Tue Jul 1 13:53:17 EDT 2008
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
More information about the kexec
mailing list