xref: /netbsd-src/sys/arch/sun3/include/reg.h (revision cda4f8f6ee55684e8d311b86c99ea59191e6b74f)
1 /*
2  * Copyright (c) 1988 University of Utah.
3  * Copyright (c) 1982, 1986, 1990 The Regents of the University of California.
4  * All rights reserved.
5  *
6  * This code is derived from software contributed to Berkeley by
7  * the Systems Programming Group of the University of Utah Computer
8  * Science Department.
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  * 1. Redistributions of source code must retain the above copyright
14  *    notice, this list of conditions and the following disclaimer.
15  * 2. Redistributions in binary form must reproduce the above copyright
16  *    notice, this list of conditions and the following disclaimer in the
17  *    documentation and/or other materials provided with the distribution.
18  * 3. All advertising materials mentioning features or use of this software
19  *    must display the following acknowledgement:
20  *	This product includes software developed by the University of
21  *	California, Berkeley and its contributors.
22  * 4. Neither the name of the University nor the names of its contributors
23  *    may be used to endorse or promote products derived from this software
24  *    without specific prior written permission.
25  *
26  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
27  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
29  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
30  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
31  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36  * SUCH DAMAGE.
37  *
38  * from: Utah $Hdr: reg.h 1.1 90/07/09$
39  *
40  *	from: @(#)reg.h	7.2 (Berkeley) 11/3/90
41  *	$Id: reg.h,v 1.2 1993/05/22 07:58:32 cgd Exp $
42  */
43 
44 /*
45  * Location of the users' stored
46  * registers relative to D0.
47  * Usage is u.u_ar0[XX].
48  */
49 #define	D0	(0)
50 #define	D1	(1)
51 #define	D2	(2)
52 #define	D3	(3)
53 #define	D4	(4)
54 #define	D5	(5)
55 #define	D6	(6)
56 #define	D7	(7)
57 #define	A0	(8)
58 #define	A1	(9)
59 #define	A2	(10)
60 #define	A3	(11)
61 #define	A4	(12)
62 #define	A5	(13)
63 #define	A6	(14)
64 #define	A7	(15)
65 
66 #define	SP	A7
67 #define	PC	(17)
68 #define	PS	(16)
69 
70 #ifdef IPCREG
71 #define	NIPCREG 17
72 int ipcreg[NIPCREG] =
73 	{D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,A2,A3,A4,A5,A6,A7,PC};
74 #endif
75 
76 #ifdef KERNEL
77 /*
78  * Due to a mental lapse somewhere down the line, wait returns its values
79  * in strange registers.  Kludge it up here so we don't have to in the
80  * machine-independent code.
81  */
82 #define	R0	D1
83 #define	R1	A0
84 #endif
85