xref: /netbsd-src/sys/arch/pmax/include/reg.h (revision ae9172d6cd9432a6a1a56760d86b32c57a66c39c)
1 /*	$NetBSD: reg.h,v 1.4 1994/10/26 21:09:57 cgd Exp $	*/
2 
3 /*
4  * Copyright (c) 1988 University of Utah.
5  * Copyright (c) 1992, 1993
6  *	The Regents of the University of California.  All rights reserved.
7  *
8  * This code is derived from software contributed to Berkeley by
9  * the Systems Programming Group of the University of Utah Computer
10  * Science Department and Ralph Campbell.
11  *
12  * Redistribution and use in source and binary forms, with or without
13  * modification, are permitted provided that the following conditions
14  * are met:
15  * 1. Redistributions of source code must retain the above copyright
16  *    notice, this list of conditions and the following disclaimer.
17  * 2. Redistributions in binary form must reproduce the above copyright
18  *    notice, this list of conditions and the following disclaimer in the
19  *    documentation and/or other materials provided with the distribution.
20  * 3. All advertising materials mentioning features or use of this software
21  *    must display the following acknowledgement:
22  *	This product includes software developed by the University of
23  *	California, Berkeley and its contributors.
24  * 4. Neither the name of the University nor the names of its contributors
25  *    may be used to endorse or promote products derived from this software
26  *    without specific prior written permission.
27  *
28  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
29  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
32  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
33  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
34  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
35  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
38  * SUCH DAMAGE.
39  *
40  * from: Utah Hdr: reg.h 1.1 90/07/09
41  *
42  *	@(#)reg.h	8.2 (Berkeley) 1/11/94
43  */
44 
45 /*
46  * Location of the users' stored
47  * registers relative to ZERO.
48  * Usage is p->p_regs[XX].
49  */
50 #define ZERO	0
51 #define AST	1
52 #define V0	2
53 #define V1	3
54 #define A0	4
55 #define A1	5
56 #define A2	6
57 #define A3	7
58 #define T0	8
59 #define T1	9
60 #define T2	10
61 #define T3	11
62 #define T4	12
63 #define T5	13
64 #define T6	14
65 #define T7	15
66 #define S0	16
67 #define S1	17
68 #define S2	18
69 #define S3	19
70 #define S4	20
71 #define S5	21
72 #define S6	22
73 #define S7	23
74 #define T8	24
75 #define T9	25
76 #define K0	26
77 #define K1	27
78 #define GP	28
79 #define SP	29
80 #define S8	30
81 #define RA	31
82 #define MULLO	32
83 #define MULHI	33
84 #define	PC	34
85 #define	SR	35
86 #define	PS	35	/* alias for SR */
87 #define	F0	36
88 #define	F1	37
89 #define	F2	38
90 #define	F3	39
91 #define	F4	40
92 #define	F5	41
93 #define	F6	42
94 #define	F7	43
95 #define	F8	44
96 #define	F9	45
97 #define	F10	46
98 #define	F11	47
99 #define	F12	48
100 #define	F13	49
101 #define	F14	50
102 #define	F15	51
103 #define	F16	52
104 #define	F17	53
105 #define	F18	54
106 #define	F19	55
107 #define	F20	56
108 #define	F21	57
109 #define	F22	58
110 #define	F23	59
111 #define	F24	60
112 #define	F25	61
113 #define	F26	62
114 #define	F27	63
115 #define	F28	64
116 #define	F29	65
117 #define	F30	66
118 #define	F31	67
119 #define	FSR	68
120 
121 #ifdef IPCREG
122 #define	NIPCREG 69
123 int ipcreg[NIPCREG] = {
124 	ZERO, AST, V0, V1, A0, A1, A2, A3, T0, T1, T2, T3, T4, T5, T6, T7,
125 	S0, S1, S2, S3, S4, S5, S6, S7, T8, T9, K0, K1, GP, SP, S8, RA,
126 	MULLO, MULHI, PC,
127 	F0, F1, F2, F3, F4, F5, F6, F7,
128 	F8, F9, F10, F11, F12, F13, F14, F15,
129 	F16, F17, F18, F19, F20, F21, F22, F23,
130 	F24, F25, F26, F27, F28, F29, F30, F31, FSR,
131 };
132 #endif
133 
134 #ifdef LANGUAGE_C
135 /*
136  * Register set accessible via /proc/$pid/reg
137  */
138 struct reg {
139         int     r_regs[69];	/* numbered as above */
140 };
141 #endif /* LANGUAGE_C */
142