svn commit: r185007 - head/sys/sparc64/sparc64

Marius Strobl marius at FreeBSD.org
Sun Nov 16 11:30:17 PST 2008


Author: marius
Date: Sun Nov 16 19:30:17 2008
New Revision: 185007
URL: http://svn.freebsd.org/changeset/base/185007

Log:
  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.

Modified:
  head/sys/sparc64/sparc64/machdep.c

Modified: head/sys/sparc64/sparc64/machdep.c
==============================================================================
--- head/sys/sparc64/sparc64/machdep.c	Sun Nov 16 19:28:55 2008	(r185006)
+++ head/sys/sparc64/sparc64/machdep.c	Sun Nov 16 19:30:17 2008	(r185007)
@@ -387,6 +387,12 @@ sparc64_init(caddr_t mdp, u_long o1, u_l
 		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 
 	/* 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();
 }


More information about the svn-src-all mailing list