svn commit: r250134 - head/sys/mips/include

Warner Losh imp at bsdimp.com
Wed May 1 06:00:07 UTC 2013


On Apr 30, 2013, at 11:55 PM, Juli Mallett wrote:

> 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?

The NetBSD version didn't have the CSRG copyright, so I wanted to create a clear chain of modifications.  I'll be done with that within the hour....

But it turns out I was confused about which file lacked a copyright (I was also looking at elf_machdep.h), so I'll just bring NetBSD's in now. Sorry for the churn...

Warner

> Thanks,
> Juli.
> 
> On Tue, Apr 30, 2013 at 10:46 PM, Warner Losh <imp at freebsd.org> 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 <machine/cdefs.h>             /* 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 */



More information about the svn-src-all mailing list