Date: Mon, 10 Jul 2006 11:23:56 GMT From: Oleksandr Tymoshenko <gonzo@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 101192 for review Message-ID: <200607101123.k6ABNus9057468@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=101192 Change 101192 by gonzo@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 */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607101123.k6ABNus9057468>