linux-mips
[Top] [All Lists]

Re: kexec on mips - anyone has it working?

To: Tomasz Chmielewski <mangoo@wpkg.org>
Subject: Re: kexec on mips - anyone has it working?
From: Nicolas Schichan <nschichan@freebox.fr>
Date: Tue, 27 May 2008 14:05:54 +0200
Cc: linux-mips@linux-mips.org
In-reply-to: <483BCB75.4050901@wpkg.org>
Organization: Freebox
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <483BCB75.4050901@wpkg.org>
Sender: linux-mips-bounce@linux-mips.org
User-agent: KMail/1.9.6 (enterprise 0.20070907.709405)

On Tuesday 27 May 2008 10:51:01 you wrote:

> I'm trying to use kexec on a ASUS WL-500gP router (BCM47XX, little

> endian MIPS) with a 2.6.25.4 kernel with some additional changes from

> OpenWRT.

>

> Unfortunately, it doesn't work for me - when I load a new kernel and try

> to execute it, it just says "Bye" and the router is dead:

>

> # kexec -l vmlinux

> # kexec -e

> (...)

> Bye

>

>

> I signalled the issue before in the past, with a 2.6.23.1 kernel:

>

> http://lists.infradead.org/pipermail/kexec/2008-February/001315.html

>

>

> Ideas? Ways to debug it?

I am using a 2.6.20 kernel on a 32bit mips platform and it is working fine. however I am using this userland code (make CROSS=$(your cross-compiler prefix) to compile it) :

http://chac.le-poulpe.net/~nico/kexec.tar.gz

Could you try to add the following line in machine_kexec.c, just before jumping to the trampoline:

       change_c0_config(CONF_CM_CMASK, CONF_CM_UNCACHED);

This disables caching on KSEG0, but I would be suprised to find the bcm47xx in the list of machines for which this line could be a "one way ticket to hell" :)

(Well I still have my doubts regarding the issue of not flushing the instruction cache completely before jumping to the new kernel in the trampoline code).

Regards,

--

Nicolas Schichan

<Prev in Thread] Current Thread [Next in Thread>