xref: /csrg-svn/sys/pmax/include/reg.h (revision 67483)
152131Smckusick /*
252131Smckusick  * Copyright (c) 1988 University of Utah.
363217Sbostic  * Copyright (c) 1992, 1993
463217Sbostic  *	The Regents of the University of California.  All rights reserved.
552131Smckusick  *
652131Smckusick  * This code is derived from software contributed to Berkeley by
752131Smckusick  * the Systems Programming Group of the University of Utah Computer
852131Smckusick  * Science Department and Ralph Campbell.
952131Smckusick  *
1052131Smckusick  * %sccs.include.redist.c%
1152131Smckusick  *
1252131Smckusick  * from: Utah $Hdr: reg.h 1.1 90/07/09$
1352131Smckusick  *
14*67483Smckusick  *	@(#)reg.h	8.3 (Berkeley) 07/03/94
1552131Smckusick  */
1652131Smckusick 
1752131Smckusick /*
1852131Smckusick  * Location of the users' stored
1952131Smckusick  * registers relative to ZERO.
2052131Smckusick  * Usage is p->p_regs[XX].
2152131Smckusick  */
2252131Smckusick #define ZERO	0
2352131Smckusick #define AST	1
2452131Smckusick #define V0	2
2552131Smckusick #define V1	3
2652131Smckusick #define A0	4
2752131Smckusick #define A1	5
2852131Smckusick #define A2	6
2952131Smckusick #define A3	7
3052131Smckusick #define T0	8
3152131Smckusick #define T1	9
3252131Smckusick #define T2	10
3352131Smckusick #define T3	11
3452131Smckusick #define T4	12
3552131Smckusick #define T5	13
3652131Smckusick #define T6	14
3752131Smckusick #define T7	15
3852131Smckusick #define S0	16
3952131Smckusick #define S1	17
4052131Smckusick #define S2	18
4152131Smckusick #define S3	19
4252131Smckusick #define S4	20
4352131Smckusick #define S5	21
4452131Smckusick #define S6	22
4552131Smckusick #define S7	23
4652131Smckusick #define T8	24
4752131Smckusick #define T9	25
4852131Smckusick #define K0	26
4952131Smckusick #define K1	27
5052131Smckusick #define GP	28
5152131Smckusick #define SP	29
5252131Smckusick #define S8	30
5352131Smckusick #define RA	31
5452131Smckusick #define MULLO	32
5552131Smckusick #define MULHI	33
5652131Smckusick #define	PC	34
5752131Smckusick #define	SR	35
5852131Smckusick #define	PS	35	/* alias for SR */
5952131Smckusick #define	F0	36
6052131Smckusick #define	F1	37
6152131Smckusick #define	F2	38
6252131Smckusick #define	F3	39
6352131Smckusick #define	F4	40
6452131Smckusick #define	F5	41
6552131Smckusick #define	F6	42
6652131Smckusick #define	F7	43
6752131Smckusick #define	F8	44
6852131Smckusick #define	F9	45
6952131Smckusick #define	F10	46
7052131Smckusick #define	F11	47
7152131Smckusick #define	F12	48
7252131Smckusick #define	F13	49
7352131Smckusick #define	F14	50
7452131Smckusick #define	F15	51
7552131Smckusick #define	F16	52
7652131Smckusick #define	F17	53
7752131Smckusick #define	F18	54
7852131Smckusick #define	F19	55
7952131Smckusick #define	F20	56
8052131Smckusick #define	F21	57
8152131Smckusick #define	F22	58
8252131Smckusick #define	F23	59
8352131Smckusick #define	F24	60
8452131Smckusick #define	F25	61
8552131Smckusick #define	F26	62
8652131Smckusick #define	F27	63
8752131Smckusick #define	F28	64
8852131Smckusick #define	F29	65
8952131Smckusick #define	F30	66
9052131Smckusick #define	F31	67
9152131Smckusick #define	FSR	68
9252131Smckusick 
9352131Smckusick #ifdef IPCREG
9452131Smckusick #define	NIPCREG 69
9552131Smckusick int ipcreg[NIPCREG] = {
9652131Smckusick 	ZERO, AST, V0, V1, A0, A1, A2, A3, T0, T1, T2, T3, T4, T5, T6, T7,
9752131Smckusick 	S0, S1, S2, S3, S4, S5, S6, S7, T8, T9, K0, K1, GP, SP, S8, RA,
9852131Smckusick 	MULLO, MULHI, PC,
9952131Smckusick 	F0, F1, F2, F3, F4, F5, F6, F7,
10052131Smckusick 	F8, F9, F10, F11, F12, F13, F14, F15,
10152131Smckusick 	F16, F17, F18, F19, F20, F21, F22, F23,
10252131Smckusick 	F24, F25, F26, F27, F28, F29, F30, F31, FSR,
10352131Smckusick };
10452131Smckusick #endif
10565601Smckusick 
10665601Smckusick #ifdef LANGUAGE_C
10765601Smckusick /*
10865601Smckusick  * Register set accessible via /proc/$pid/reg
10965601Smckusick  */
11065601Smckusick struct reg {
11165601Smckusick         int     r_regs[69];	/* numbered as above */
11265601Smckusick };
113*67483Smckusick 
114*67483Smckusick /*
115*67483Smckusick  * Register set accessible via /proc/$pid/fpreg
116*67483Smckusick  */
117*67483Smckusick struct fpreg {
118*67483Smckusick 	int	r_fpregs[33];	/* not implemented */
119*67483Smckusick };
12065601Smckusick #endif /* LANGUAGE_C */
121