PERFORCE change 101192 for review

Oleksandr Tymoshenko gonzo at FreeBSD.org
Mon Jul 10 11:23:57 UTC 2006


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

Change 101192 by gonzo at gonzo_hq on 2006/07/10 11:23:11

	o Register names tweaked to conform juli@'s code:
	
	- AT register presented
	- a[0-7]/t[0-7] names shifted to conform new ABI
	- at[0-3] names presented for overlapped part of a/t registers.
	- END directive fixed

Affected files ...

.. //depot/projects/mips2/src/sys/mips/include/asm.h#3 edit

Differences ...

==== //depot/projects/mips2/src/sys/mips/include/asm.h#3 (text+ko) ====

@@ -56,21 +56,21 @@
  */
 
 #define	zero	$0	/* 		wired zero		*/
-#define at_reg	$1	/* (T)		assembler scratch	*/
+#define AT	$1	/* (T)		assembler scratch	*/
 #define v0	$2
 #define v1	$3
 #define a0	$4	/* (T)		argument registers	*/
 #define a1	$5
 #define a2	$6
 #define a3	$7
-#define t0	$8	/* (T)		temporary registers	*/
-#define t1	$9
-#define t2 	$10
-#define t3	$11
-#define t4	$12
-#define t5	$13
-#define t6	$14
-#define t7	$15
+#define a4	$8	/* (T)		temporary registers	*/
+#define a5	$9
+#define a6 	$10
+#define a7	$11
+#define t0	$12
+#define t1	$13
+#define t2	$14
+#define t3	$15
 #define s0	$16	/* (S)		call-safe registers	*/
 #define s1	$17
 #define s2	$18
@@ -81,13 +81,27 @@
 #define s7	$23
 #define t8	$24	/* (T)		temporary registers	*/
 #define t9	$25	/* Address of callee in PIC code	*/
-#define kt0	$26	/* Kernel registers?			*/
-#define kt1	$27
+#define k0	$26	/* Kernel registers?			*/
+#define k1	$27
 #define	gp	$28	/* (T)		(local) data pointer	*/
 #define sp	$29	/* (S)		stack pointer		*/
 #define s8	$30	/* (S)		call-safe register	*/
 #define ra	$31	/* (T)		return address		*/
 
+/*
+ * These are temp registers whose names can be used in either the old
+ * or new ABI, although they map to different physical registers.  In
+ * the old ABI, they map to t4-t7, and in the new ABI, they map to a4-a7.
+ *
+ * Because they overlap with the last 4 arg regs in the new ABI, ta0-ta3
+ * should be used only when we need more than t0-t3.
+ */
+#define	ta0	$8
+#define	ta1	$9
+#define	ta2	$10
+#define	ta3	$11
+
+
 #if 0
 /* XXX: Should this be kt0 or kt1? */
 /* In the kernel, we use t7 to point at the per-cpu globals. */
@@ -120,12 +134,13 @@
 	.globl sym; sym:
 
 #define	LEAF(sym)						\
-	.globl sym; sym: .frame sp, 0, ra
+	.globl sym; .ent sym; sym: .frame sp, 0, ra
 
 #define	ENTRY(sym)						\
 	.text; .globl sym; sym:
 
-#define	END(sym)
+#define	END(sym)						\
+	.end sym
 
 /* XXXMIPS: end */
 


More information about the p4-projects mailing list