svn commit: r227386 - head/sys/powerpc/aim
Nathan Whitehorn
nwhitehorn at FreeBSD.org
Wed Nov 9 13:48:24 UTC 2011
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 at l
bla CNAME(cpudep_ap_early_bootstrap)
+ lis %r3,1 at 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 at l
bl CNAME(cpudep_ap_early_bootstrap) /* Set PCPU */
nop
+ lis %r3,1 at l
bl CNAME(pmap_cpu_bootstrap) /* Turn on virtual memory */
nop
bl CNAME(cpudep_ap_bootstrap) /* Set up PCPU and stack */
More information about the svn-src-all
mailing list