Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Aug 2010 14:29:20 +0000 (UTC)
From:      Nathan Whitehorn <nwhitehorn@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r210768 - user/nwhitehorn/ps3/powerpc/ps3
Message-ID:  <201008021429.o72ETKOe048713@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: nwhitehorn
Date: Mon Aug  2 14:29:19 2010
New Revision: 210768
URL: http://svn.freebsd.org/changeset/base/210768

Log:
  The boot firmware appears to set to priority for thread 2 to low, and
  leave thread 1 at high priority, with the result that booting is fast
  but thread 2 is extraordinarily slow. Set thread 1's priority to low
  so that they match.

Modified:
  user/nwhitehorn/ps3/powerpc/ps3/platform_ps3.c

Modified: user/nwhitehorn/ps3/powerpc/ps3/platform_ps3.c
==============================================================================
--- user/nwhitehorn/ps3/powerpc/ps3/platform_ps3.c	Mon Aug  2 13:40:53 2010	(r210767)
+++ user/nwhitehorn/ps3/powerpc/ps3/platform_ps3.c	Mon Aug  2 14:29:19 2010	(r210768)
@@ -199,6 +199,12 @@ ps3_smp_start_cpu(platform_t plat, struc
 	if (pc->pc_hwref != 1)
 		return (ENXIO);
 
+	/*
+	 * XXX: Set local thread priority to low, to match remote.
+	 * XXX: Replace magic numbers with constants.
+	 */
+	mtspr(896, (mfspr(896) & 0xffffffff) | (0x1UL << 51));
+
 	ap_pcpu = pc;
 	*secondary_spin_sem = 1;
 	powerpc_sync();



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201008021429.o72ETKOe048713>