Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Nov 2011 13:48:23 +0000 (UTC)
From:      Nathan Whitehorn <nwhitehorn@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r227386 - head/sys/powerpc/aim
Message-ID:  <201111091348.pA9DmNlS085099@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: nwhitehorn
Date: Wed Nov  9 13:48:23 2011
New Revision: 227386
URL: http://svn.freebsd.org/changeset/base/227386

Log:
  Fix a bug where the pmap_cpu_bootstrap() ap argument could be clobbered.
  Luckily, it mostly wasn't important, so this didn't cause major problems.
  Also improve register reuse when setting up trap frames very slightly.
  
  Submitted by:	Justin Hibbits <chmeeedalf at gmail dot com>
  MFC after:	5 days

Modified:
  head/sys/powerpc/aim/trap_subr32.S
  head/sys/powerpc/aim/trap_subr64.S

Modified: head/sys/powerpc/aim/trap_subr32.S
==============================================================================
--- head/sys/powerpc/aim/trap_subr32.S	Wed Nov  9 13:26:59 2011	(r227385)
+++ head/sys/powerpc/aim/trap_subr32.S	Wed Nov  9 13:48:23 2011	(r227386)
@@ -303,6 +303,7 @@ cpu_reset:
 
 	lis	%r3,1@l
 	bla	CNAME(cpudep_ap_early_bootstrap)
+	lis	%r3,1@l
 	bla	CNAME(pmap_cpu_bootstrap)
 	bla	CNAME(cpudep_ap_bootstrap)
 	mr	%r1,%r3
@@ -665,8 +666,8 @@ disitrap:
 	GET_CPUINFO(%r1)
 	lwz	%r30,(PC_TEMPSAVE+CPUSAVE_AIM_DAR)(%r1) /* get DAR */
 	stw	%r30,(PC_DBSAVE  +CPUSAVE_AIM_DAR)(%r1) /* save DAR */
-	lwz	%r30,(PC_TEMPSAVE+CPUSAVE_AIM_DSISR)(%r1) /* get DSISR */
-	stw	%r30,(PC_DBSAVE  +CPUSAVE_AIM_DSISR)(%r1) /* save DSISR */
+	lwz	%r31,(PC_TEMPSAVE+CPUSAVE_AIM_DSISR)(%r1) /* get DSISR */
+	stw	%r31,(PC_DBSAVE  +CPUSAVE_AIM_DSISR)(%r1) /* save DSISR */
 	lwz	%r30,(PC_DISISAVE+CPUSAVE_R28)(%r1) /* get  r28 */
 	stw	%r30,(PC_DBSAVE  +CPUSAVE_R28)(%r1) /* save r28 */
 	lwz	%r31,(PC_DISISAVE+CPUSAVE_R29)(%r1) /* get  r29 */

Modified: head/sys/powerpc/aim/trap_subr64.S
==============================================================================
--- head/sys/powerpc/aim/trap_subr64.S	Wed Nov  9 13:26:59 2011	(r227385)
+++ head/sys/powerpc/aim/trap_subr64.S	Wed Nov  9 13:48:23 2011	(r227386)
@@ -301,6 +301,7 @@ cpu_reset:
 	lis	%r3,1@l
 	bl	CNAME(cpudep_ap_early_bootstrap) /* Set PCPU */
 	nop
+	lis	%r3,1@l
 	bl	CNAME(pmap_cpu_bootstrap)	/* Turn on virtual memory */
 	nop
 	bl	CNAME(cpudep_ap_bootstrap)	/* Set up PCPU and stack */



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