Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Feb 2012 02:32:29 GMT
From:      Oleksandr Tymoshenko <gonzo@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 206954 for review
Message-ID:  <201202270232.q1R2WT5k058301@skunkworks.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@206954?ac=10

Change 206954 by gonzo@gonzo_thinkpad on 2012/02/27 02:31:46

	Extend number of argument registers to 8 for N32 and N64 ABIs

Affected files ...

.. //depot/projects/dtrace-mips/sys/mips/mips/backtrace.c#2 edit

Differences ...

==== //depot/projects/dtrace-mips/sys/mips/mips/backtrace.c#2 (text+ko) ====

@@ -76,6 +76,7 @@
 	unsigned int frames = 0;
 	int more, stksize;
 	register_t ra = 0;
+	int arg;
 
 	/*
 	 * Invalidate arguments values
@@ -220,23 +221,18 @@
 			mask |= (1 << i.IType.rt);
 			switch (i.IType.rt) {
 			case 4:/* a0 */
-				args[0] = kdbpeekd((int *)(*sp + (short)i.IType.imm));
-				valid_args[0] = 1;
-				break;
-
 			case 5:/* a1 */
-				args[1] = kdbpeekd((int *)(*sp + (short)i.IType.imm));
-				valid_args[1] = 1;
-				break;
-
 			case 6:/* a2 */
-				args[2] = kdbpeekd((int *)(*sp + (short)i.IType.imm));
-				valid_args[2] = 1;
-				break;
-
 			case 7:/* a3 */
-				args[3] = kdbpeekd((int *)(*sp + (short)i.IType.imm));
-				valid_args[3] = 1;
+#if defined(__mips_n64) || defined(__mips_n32)
+			case 8:/* a4 */
+			case 9:/* a5 */
+			case 10:/* a6 */
+			case 11:/* a7 */
+#endif
+				arg = i.IType.rt - 4;
+				args[arg] = kdbpeekd((int *)(*sp + (short)i.IType.imm));
+				valid_args[arg] = 1;
 				break;
 
 			case 31:	/* ra */



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