Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Aug 2006 04:31:36 GMT
From:      John Birrell <jb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 103092 for review
Message-ID:  <200608030431.k734Va13056970@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=103092

Change 103092 by jb@jb_freebsd2 on 2006/08/03 04:31:05

	Save a few more registers as part of the debug information.
	
	These (finally) give us enough information to understand what is
	going on when a CPU goes of into the weeds. It is doing it because
	of a double trap caused by the curthread pointer in the per-cpu
	structure going bad (for a reason which hasn't been determined
	yet).

Affected files ...

.. //depot/projects/dtrace/src/sys/sun4v/sun4v/interrupt.S#5 edit

Differences ...

==== //depot/projects/dtrace/src/sys/sun4v/sun4v/interrupt.S#5 (text+ko) ====

@@ -448,6 +448,18 @@
 	rdpr	%tick, %g4
 	stxa    %g4, [PCPU(PAD) + 8]%asi
 
+	/* pcpu->pad[3] = %tl */
+	rdpr	%tl, %g4
+	stxa    %g4, [PCPU(PAD) + 24]%asi
+
+	/* pcpu->pad[4] = %tpc */
+	rdpr	%tpc, %g4
+	stxa    %g4, [PCPU(PAD) + 32]%asi
+
+	/* pcpu->pad[5] = %tnpc */
+	rdpr	%tnpc, %g4
+	stxa    %g4, [PCPU(PAD) + 40]%asi
+
 	/*
 	 * Increment a counter which might help us notice if we're
 	 * stuck in a loop. pcpu->pad[2] = count



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