summaryrefslogtreecommitdiffstats
path: root/sys/sparc64
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2008-11-16 19:30:17 +0000
committermarius <marius@FreeBSD.org>2008-11-16 19:30:17 +0000
commit54885bc93acb4b06da90a94ab0f99de358b9be79 (patch)
tree3ba715d73902c6d03fae3edb8532f40a65af079f /sys/sparc64
parented798111a5efa5c50eccfacde74756b43d858128 (diff)
downloadFreeBSD-src-54885bc93acb4b06da90a94ab0f99de358b9be79.zip
FreeBSD-src-54885bc93acb4b06da90a94ab0f99de358b9be79.tar.gz
Use the spitfire VIS block copy/zero functions also with cheetah-
class CPUs. In theory one could also use versions additionally taking advantage of the prefetch cache with cheetah-class CPUs, in my worldstone runs these either didn't provide extra speedup (USIII+) in comparison to the existing spitfire versions or were even slightly slower (USIIIi) though, so they aren't committed for now. The basic problem leading to the VIS-based copy/zero functions being initially disabled for cheetah-class CPUs was solved by letting cheetah_init() clear DCR_IFPOE.
Diffstat (limited to 'sys/sparc64')
-rw-r--r--sys/sparc64/sparc64/machdep.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/sparc64/sparc64/machdep.c b/sys/sparc64/sparc64/machdep.c
index cd3194b..0be9af9 100644
--- a/sys/sparc64/sparc64/machdep.c
+++ b/sys/sparc64/sparc64/machdep.c
@@ -387,6 +387,12 @@ sparc64_init(caddr_t mdp, u_long o1, u_long o2, u_long o3, ofw_vec_t *vec)
case CPU_IMPL_ULTRASPARCII:
case CPU_IMPL_ULTRASPARCIIi:
case CPU_IMPL_ULTRASPARCIIe:
+ case CPU_IMPL_ULTRASPARCIII: /* NB: we've disabled P$. */
+ case CPU_IMPL_ULTRASPARCIIIp:
+ case CPU_IMPL_ULTRASPARCIIIi:
+ case CPU_IMPL_ULTRASPARCIV:
+ case CPU_IMPL_ULTRASPARCIVp:
+ case CPU_IMPL_ULTRASPARCIIIip:
cpu_block_copy = spitfire_block_copy;
cpu_block_zero = spitfire_block_zero;
break;
@@ -772,7 +778,7 @@ sparc64_shutdown_final(void *dummy, int howto)
/* Turn the power off? */
if ((howto & RB_POWEROFF) != 0)
cpu_shutdown(&args);
- /* In case of halt, return to the firmware */
+ /* In case of halt, return to the firmware. */
if ((howto & RB_HALT) != 0)
cpu_halt();
}
OpenPOWER on IntegriCloud