From owner-p4-projects@FreeBSD.ORG Mon Jul 10 11:23:57 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E458E16A4DE; Mon, 10 Jul 2006 11:23:56 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B56F116A4DA for ; Mon, 10 Jul 2006 11:23:56 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 63A5D43D49 for ; Mon, 10 Jul 2006 11:23:56 +0000 (GMT) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6ABNurX057471 for ; Mon, 10 Jul 2006 11:23:56 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6ABNus9057468 for perforce@freebsd.org; Mon, 10 Jul 2006 11:23:56 GMT (envelope-from gonzo@FreeBSD.org) Date: Mon, 10 Jul 2006 11:23:56 GMT Message-Id: <200607101123.k6ABNus9057468@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 101192 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Jul 2006 11:23:57 -0000 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 */