From owner-svn-src-head@FreeBSD.ORG Wed May 1 05:55:58 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id D5C5B32C for ; Wed, 1 May 2013 05:55:58 +0000 (UTC) (envelope-from juli@clockworksquid.com) Received: from mail-la0-x235.google.com (mail-la0-x235.google.com [IPv6:2a00:1450:4010:c03::235]) by mx1.freebsd.org (Postfix) with ESMTP id 605D21C1B for ; Wed, 1 May 2013 05:55:58 +0000 (UTC) Received: by mail-la0-f53.google.com with SMTP id eg20so1102142lab.12 for ; Tue, 30 Apr 2013 22:55:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type :x-gm-message-state; bh=Gi8ii8ajnVx5+xKoVp+Ajyp/IeihWEn8g7jyvct7OmY=; b=opM//xBoSyKFZ03SGcbLYsy2EfDLWW/RFDp/nJat+T+M+UZ5Ybn5rIYmeZ9NWq+ydq P77nMcRPGaVqvhIh6dyilJ78UczMfObV+AZzI7pZN0lYv9nLwqlhlARd2N3b24nxUfwq x1ytW/6bcrY1ok07M2mP50LoBjfl5uUDVscpo9lzT1Qn6N0+BKiuop6dz91NRzaqp+Ul IV+vb4fRSWSBisk+CymbhgiEmpV8NQycLVjAagNvp4ycJAX2k7mm6kO3gqpV18CiUwFn VG8tX3LZoj4hRupg4jJRkFShgkMinZ9aLabuMvmv6DE3G0OIhsNdNGIv0GY0bXbGGuQF telw== X-Received: by 10.152.3.167 with SMTP id d7mr448341lad.53.1367387756660; Tue, 30 Apr 2013 22:55:56 -0700 (PDT) MIME-Version: 1.0 Sender: juli@clockworksquid.com Received: by 10.152.28.196 with HTTP; Tue, 30 Apr 2013 22:55:36 -0700 (PDT) In-Reply-To: <201305010546.r415ktrA088822@svn.freebsd.org> References: <201305010546.r415ktrA088822@svn.freebsd.org> From: Juli Mallett Date: Tue, 30 Apr 2013 22:55:36 -0700 X-Google-Sender-Auth: uviF0PlGzwpSMj9EepZqazPPGvQ Message-ID: Subject: Re: svn commit: r250134 - head/sys/mips/include To: Warner Losh Content-Type: text/plain; charset=UTF-8 X-Gm-Message-State: ALoCoQn4Yp1Ms/k0I0IuQohRBB1eT2RBXaWD2sRtaja7EQYAMhfa1Iwv63COBrHGz92tAY+c0dOr Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 May 2013 05:55:58 -0000 Warner, May I ask why you're bringing in the 4.4BSD version and not the NetBSD version, which already contained the appropriate ABI gunk? Do we really need to duplicate their work improving the file since 4.4BSD? Thanks, Juli. On Tue, Apr 30, 2013 at 10:46 PM, Warner Losh wrote: > Author: imp > Date: Wed May 1 05:46:54 2013 > New Revision: 250134 > URL: http://svnweb.freebsd.org/changeset/base/250134 > > Log: > Import virgin regdef.h from 4.4 Lite 2's sys/pmax/include/regdef.h, > expand the %sccs.include.redist.c% directive with the standard > 3-clause license, and add $FreeBSD$ to keep the commit script happy. > > # This may break some mips stuff, which will be fixed in the next commit. > > Modified: > head/sys/mips/include/regdef.h > > Modified: head/sys/mips/include/regdef.h > ============================================================================== > --- head/sys/mips/include/regdef.h Wed May 1 05:14:59 2013 (r250133) > +++ head/sys/mips/include/regdef.h Wed May 1 05:46:54 2013 (r250134) > @@ -1,86 +1,67 @@ > -/*- > - * Copyright (c) 2001, Juniper Networks, Inc. > - * All rights reserved. > - * Truman Joe, February 2001. > +/* > + * Copyright (c) 1992, 1993 > + * The Regents of the University of California. All rights reserved. > * > - * regdef.h -- MIPS register definitions. > + * This code is derived from software contributed to Berkeley by > + * Ralph Campbell. This file is derived from the MIPS RISC > + * Architecture book by Gerry Kane. > * > - * JNPR: regdef.h,v 1.3 2006/08/07 05:38:57 katta > - * $FreeBSD$ > - */ > - > -#ifndef _MACHINE_REGDEF_H_ > -#define _MACHINE_REGDEF_H_ > - > -#include /* For API selection */ > - > -#if defined(__ASSEMBLER__) > -/* General purpose CPU register names */ > -#define zero $0 /* wired zero */ > -#define AT $at /* assembler temp */ > -#define v0 $2 /* return value */ > -#define v1 $3 > -#define a0 $4 /* argument registers */ > -#define a1 $5 > -#define a2 $6 > -#define a3 $7 > -#if defined(__mips_n32) || defined(__mips_n64) > -#define a4 $8 > -#define a5 $9 > -#define a6 $10 > -#define a7 $11 > -#define t0 $12 /* Temp regs, not saved accross subroutine calls */ > -#define t1 $13 > -#define t2 $14 > -#define t3 $15 > -#else > -#define t0 $8 /* caller saved */ > -#define t1 $9 > -#define t2 $10 > -#define t3 $11 > -#define t4 $12 /* caller saved - 32 bit env arg reg 64 bit */ > -#define t5 $13 > -#define t6 $14 > -#define t7 $15 > -#endif > -#define s0 $16 /* callee saved */ > -#define s1 $17 > -#define s2 $18 > -#define s3 $19 > -#define s4 $20 > -#define s5 $21 > -#define s6 $22 > -#define s7 $23 > -#define t8 $24 /* code generator */ > -#define t9 $25 > -#define k0 $26 /* kernel temporary */ > -#define k1 $27 > -#define gp $28 /* global pointer */ > -#define sp $29 /* stack pointer */ > -#define fp $30 /* frame pointer */ > -#define s8 $30 /* callee saved */ > -#define ra $31 /* 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. > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * 1. Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in the > + * documentation and/or other materials provided with the distribution. > + * 4. Neither the name of the University nor the names of its contributors > + * may be used to endorse or promote products derived from this software > + * without specific prior written permission. > * > - * 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. > + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND > + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE > + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > + * SUCH DAMAGE. > + * @(#)regdef.h 8.1 (Berkeley) 06/10/93 > + * $FreeBSD$ > */ > -#if defined(__mips_n32) || defined(__mips_n64) > -#define ta0 $8 > -#define ta1 $9 > -#define ta2 $10 > -#define ta3 $11 > -#else > -#define ta0 $12 > -#define ta1 $13 > -#define ta2 $14 > -#define ta3 $15 > -#endif /* __mips_n32 || __mips_n64 */ > - > -#endif /* __ASSEMBLER__ */ > > -#endif /* !_MACHINE_REGDEF_H_ */ > +#define zero $0 /* always zero */ > +#define AT $at /* assembler temp */ > +#define v0 $2 /* return value */ > +#define v1 $3 > +#define a0 $4 /* argument registers */ > +#define a1 $5 > +#define a2 $6 > +#define a3 $7 > +#define t0 $8 /* temp registers (not saved across subroutine calls) */ > +#define t1 $9 > +#define t2 $10 > +#define t3 $11 > +#define t4 $12 > +#define t5 $13 > +#define t6 $14 > +#define t7 $15 > +#define s0 $16 /* saved across subroutine calls (callee saved) */ > +#define s1 $17 > +#define s2 $18 > +#define s3 $19 > +#define s4 $20 > +#define s5 $21 > +#define s6 $22 > +#define s7 $23 > +#define t8 $24 /* two more temp registers */ > +#define t9 $25 > +#define k0 $26 /* kernel temporary */ > +#define k1 $27 > +#define gp $28 /* global pointer */ > +#define sp $29 /* stack pointer */ > +#define s8 $30 /* one more callee saved */ > +#define ra $31 /* return address */