PERFORCE change 137678 for review

Marcel Moolenaar marcel at FreeBSD.org
Fri Mar 14 04:07:50 UTC 2008


http://perforce.freebsd.org/chv.cgi?CH=137678

Change 137678 by marcel at marcel_xcllnt on 2008/03/14 04:07:16

	Install rstcode at the EXC_RST vector. It now saves
	some critical information and goes into an infinite
	loop, but will be fleshed out to get the AP into a
	usable state.

Affected files ...

.. //depot/projects/powerpc/sys/powerpc/aim/machdep.c#7 edit
.. //depot/projects/powerpc/sys/powerpc/aim/trap_subr.S#3 edit

Differences ...

==== //depot/projects/powerpc/sys/powerpc/aim/machdep.c#7 (text+ko) ====

@@ -241,6 +241,7 @@
 
 extern char	kernel_text[], _end[];
 
+extern void	*rstcode, *rstsize;
 extern void	*trapcode, *trapsize;
 extern void	*alitrap, *alisize;
 extern void	*dsitrap, *dsisize;
@@ -326,7 +327,7 @@
 	 */
 	mtmsr(mfmsr() & ~(PSL_IR | PSL_DR));
 	isync();
-	bcopy(&trapcode, (void *)EXC_RST,  (size_t)&trapsize);
+	bcopy(&rstcode, (void *)EXC_RST,  (size_t)&rstsize);
 	bcopy(&trapcode, (void *)EXC_MCHK, (size_t)&trapsize);
 	bcopy(&dsitrap,  (void *)EXC_DSI,  (size_t)&dsisize);
 	bcopy(&trapcode, (void *)EXC_ISI,  (size_t)&trapsize);
@@ -343,7 +344,6 @@
 	bcopy(&trapcode, (void *)EXC_THRM, (size_t)&trapsize);
 	bcopy(&trapcode, (void *)EXC_BPT,  (size_t)&trapsize);
 #ifdef KDB
-	bcopy(&dblow,	 (void *)EXC_RST,  (size_t)&dbsize);
 	bcopy(&dblow,	 (void *)EXC_MCHK, (size_t)&dbsize);
 	bcopy(&dblow,   (void *)EXC_PGM,  (size_t)&dbsize);
 	bcopy(&dblow,   (void *)EXC_TRC,  (size_t)&dbsize);

==== //depot/projects/powerpc/sys/powerpc/aim/trap_subr.S#3 (text+ko) ====

@@ -242,6 +242,26 @@
  * (except ISI/DSI, ALI, and the interrupts)
  */
 	.text
+
+	.globl	CNAME(rstcode), CNAME(rstsize)
+CNAME(rstcode):
+	bl	1f
+
+	.long	0
+	.long	0
+	.long	0
+	.long	0
+
+1:
+	mflr	%r3
+	stw	%r3, 0(%r3)
+	stw	%r1, 4(%r3)
+	stw	%r2, 8(%r3)
+	mfmsr	%r4
+	stw	%r4, 12(%r3)
+9:	b	9b
+CNAME(rstsize) = . - CNAME(rstcode)
+
 	.globl	CNAME(trapcode),CNAME(trapsize)
 CNAME(trapcode):
 	mtsprg1	%r1			/* save SP */


More information about the p4-projects mailing list