linux-mips
[Top] [All Lists]

Re: Linux port failing on MIPS32 24Kc

To: David VomLehn <dvomlehn@cisco.com>
Subject: Re: Linux port failing on MIPS32 24Kc
From: joe seb <joe.seb8@gmail.com>
Date: Thu, 9 Jul 2009 16:35:30 +0530
Cc: Ralf Baechle <ralf@linux-mips.org>, linux-mips@linux-mips.org
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=Mb65i8yMfG8iQNJ125D/zw8+ELr3faFg+zmCEj9Mss8=; b=qLt7p17LZpTqE0zgy2oz0noHv03TW+/d474aOeipYKaTMwA9o768AvVWhVGLGuPE5E vHwwx811V28bhNNJfog2OJ7eh5LsaLg3EGUpUd3cEU1uj3jP/Pe85HTQqVEh3AvkwwqF NV8gn0hN3/EFYudWC8qPpG09oXPGJ+ADWRR+I=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=uAyafFfFwPi2Y4ILFZ+FSTR+XCdEDuzOE5p3X2ThIoV6eLDHEOTLy6pZW2015lA+zH +dn5YqgCSXfbeDIf+tybHhtN910VX4iHgFwVfOgesiJpUDaLJGPoDdgnj4bTliOUjcdx b9E6mFq6cn77GFzLzWrUE7tWk/jfYPdjN5Iqg=
In-reply-to: <20090708182906.GB31285@cuplxvomd02.corp.sa.net>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <4f9abdc70907080107t28fdac03h86b834a60806fb10@mail.gmail.com> <20090708103756.GB22308@linux-mips.org> <4f9abdc70907080547l501128bg7c920e206e0068c3@mail.gmail.com> <20090708182906.GB31285@cuplxvomd02.corp.sa.net>
Sender: linux-mips-bounce@linux-mips.org
Hi David, Ralf,
 
This is a new FPGA based platform which has MIPS 24k core and we are trying to bring up linux on this. MIPS cpu is running at 50MHz.
 
Other than ram, we have UART available and its a 8250 compatible UART which is connected to one of the HW interrupt line. The MIPS timer interrupt is connected to HW4 interrupt line.  So in our platform file, we provide the irq dispatch function for these two irq lines. There is no driver which uses the DMA.
 
We did another experiment where we replaced init application with a memory test code which malloc and run incremental pattern test on the allocated memory and we see sometimes this test is failing. The failure is happening for a cache line, when we dump ddr corresponding to that cache line, we see that, that particular cache line is not flushed to ddr and all the other cache lines are fine. So, not sure any issue with flushing the write-back. We checked the linux code and did not see any place dcache is flushed for a particular line, its always for a page(blast_dcache functions). Is our finding correct?
 
Regards,
Joe

On Wed, Jul 8, 2009 at 11:59 PM, David VomLehn <dvomlehn@cisco.com> wrote:
On Wed, Jul 08, 2009 at 06:17:42PM +0530, joe seb wrote:
> Hi,
>
> We made the following changes and tried,
>
> -> applied the patch given by you.
> -> changed the PHYS_OFFSET to 0x10000000 to match our memory offset.
> -> cache write back mode enabled
>
> Still we face the same problem. It crashes at different points when it
> enters the user space. I have attached one of the logs.
>
> But in cache write through mode it works.

Another thought: if it works with write through, but not write back, you
may have a device driver that isn't flushing/invalidating cache appropriately
before doing DMA. This is much more important on MIPS than many other
processors.

Is this a new platform or one that has been working for a while?

David VomLehn

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