It is pretty simple to make the WHOLE kseg0 cached or uncached. However,
I only want part of kseg0 uncached.
I must uncache that region because it gives me too much trouble with DMA
data, however, I don't want to uncache the whole kseg0 segment in order
to get better performance. Kseg0 is not mapped through TLB, so it seems
I can't achieve my goal through TLB.
Cite from the book See Mips Run, "if you feel that your system needs to
make uncached references to cacheable memory, then I strongly recommand
that you divide memory into regions that are always accessed uncached
and regions that are always accessed through the cache - and don't let
them overlap. " But how ?
Thanks,
Jimmy
|