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