[SPARC64]: Probe D/I/E-cache config and use.
authorDavid S. Miller <davem@sunset.davemloft.net>
Mon, 26 Sep 2005 07:32:17 +0000 (00:32 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 26 Sep 2005 07:32:17 +0000 (00:32 -0700)
commit80dc0d6b44ce0f01df58d8899e46612690ed7d81
tree570b8e834c0fae0793bdf75dd2fd2516b0fabf4f
parent56425306517ef28a9b480161cdb96d182172bc1d
[SPARC64]: Probe D/I/E-cache config and use.

At boot time, determine the D-cache, I-cache and E-cache size and
line-size.  Use them in cache flushes when appropriate.

This change was motivated by discovering that the D-cache on
UltraSparc-IIIi and later are 64K not 32K, and the flushes done by the
Cheetah error handlers were assuming a 32K size.

There are still some pieces of code that are hard coding things and
will need to be fixed up at some point.

While we're here, fix the D-cache and I-cache parity error handlers
to run with interrupts disabled, and when the trap occurs at trap
level > 1 log the event via a counter displayed in /proc/cpuinfo.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/kernel/devices.c
arch/sparc64/kernel/entry.S
arch/sparc64/kernel/setup.c
arch/sparc64/kernel/smp.c
arch/sparc64/kernel/traps.c
include/asm-sparc64/cpudata.h