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
|