linux-mips
[Top] [All Lists]

Re: [MIPS] SB1: Build fix: delete initialization of flush_icache_page po

To: manoje@broadcom.com
Subject: Re: [MIPS] SB1: Build fix: delete initialization of flush_icache_page pointer.
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date: Tue, 26 Sep 2006 18:39:46 +0900 (JST)
Cc: mark.e.mason@broadcom.com, linux-mips@linux-mips.org, ralf@linux-mips.org, ths@networkno.de
In-reply-to: <710F16C36810444CA2F5821E5EAB7F230A0DFA@NT-SJCA-0752.brcm.ad.broadcom.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20060823.131627.75185523.nemoto@toshiba-tops.co.jp> <710F16C36810444CA2F5821E5EAB7F230A0DFA@NT-SJCA-0752.brcm.ad.broadcom.com>
Sender: linux-mips-bounce@linux-mips.org
On Mon, 25 Sep 2006 20:05:59 -0700, "Manoj Ekbote" <manoje@broadcom.com> wrote:
> The latest tip still has problems with booting on Broadcom boards.
> I turned on a couple of printk's in the page fault handler and I see the
> following messages:
...
> It looks like a cache corruption issue.  Did the removal of
> flush_icache_page
> cause this? 

Yes perhaps.  But flush_icache_page() itself is obsolete API and
should be gone (see Documentation/cachetlb.txt).  So there should be
fault in somewhere else.

I think 

http://www.linux-mips.org/archives/linux-mips/2006-08/msg00184.html

is still needed, but it seems not enough.

If reverting flush_icache_page() worked, then you can debug more.

1. kill part of local_sb1_flush_icache_page().

If killing __sb1_writeback_inv_dcache_phys_range() part was OK, then
it would be dcache issue, if killing drop_mmu_context() part was OK,
then it would be icache issue.

2. kill calls of flush_icache_page().

If is used in only 3 places.

mm/fremap.c:    flush_icache_page(vma, page);
mm/memory.c:    flush_icache_page(vma, page);
mm/memory.c:            flush_icache_page(vma, new_page);

Finding which lines are required might help further investigation.


Another possible approach might be trying c-r4k.c instead of c-sb1.c.

If you wanted to debug with latest git tree, note that
include/asm-mips/hazard.h in current lmo git tree seems broken.  The
fix was already posted to this ML so hopefully we can see in git tree
soon...

---
Atsushi Nemoto

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