linux-mips
[Top] [All Lists]

KSeg0 coherency policy selection.

To: "'linux-mips@linux-mips.org'" <linux-mips@linux-mips.org>
Subject: KSeg0 coherency policy selection.
From: Dinesh Nagpure <dinesh_nagpure@ivivity.com>
Date: Wed, 23 Oct 2002 06:47:27 -0400
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
Hello,

I am almost done with my porting of kernel 2.4.16 to our platform using
RM5231A. But I had to make a couple of very basic hacks and I am trying to
understand if there is any way I can avoid them.
First the memcpy wouldn't work for me properly, both the compiler generated
and also the one under arch/mips/lib/memcpy.c, so I had to change the lib
version to do byte copy. I know this is a very crude change but things
worked.
Second, the Kseg0 coherency algorithm selection in the function
ld_mmu_r4xx0( ) seems to be improper for RM5231A, This function sets the CP0
config register K0 field to 3 which as per RM5231A user manual is Cacheable,
noncoherent, write back policy Should this not be set to 0, which is
cacheable, non-coherent, write-through, no write allocate? 
Also from the knowledge base I understand there is a cache aliasing problem
associated with RM5231A when page size is set to 4KB. The document
recommends to invalidate the cache before retiring a virtual page OR
coloring of the pages. Can someone tell me if this fix is already taken care
of? For me when I enable caching under "Kernel hacking" my kernel crashes
with page fault, when it tries to run bin/init, consistently.

Thanks
Dinesh



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