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