From owner-svn-src-user@FreeBSD.ORG  Mon Aug  2 14:29:20 2010
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 397DE1065674;
	Mon,  2 Aug 2010 14:29:20 +0000 (UTC)
	(envelope-from nwhitehorn@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 282A18FC18;
	Mon,  2 Aug 2010 14:29:20 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o72ETK5X048715;
	Mon, 2 Aug 2010 14:29:20 GMT
	(envelope-from nwhitehorn@svn.freebsd.org)
Received: (from nwhitehorn@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o72ETKOe048713;
	Mon, 2 Aug 2010 14:29:20 GMT
	(envelope-from nwhitehorn@svn.freebsd.org)
Message-Id: <201008021429.o72ETKOe048713@svn.freebsd.org>
From: Nathan Whitehorn <nwhitehorn@FreeBSD.org>
Date: Mon, 2 Aug 2010 14:29:20 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r210768 - user/nwhitehorn/ps3/powerpc/ps3
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
	src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Aug 2010 14:29:20 -0000

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();