xref: /csrg-svn/sys/hp300/include/reg.h (revision 65926)
141474Smckusick /*
241474Smckusick  * Copyright (c) 1988 University of Utah.
363160Sbostic  * Copyright (c) 1982, 1986, 1990, 1993
463160Sbostic  *	The Regents of the University of California.  All rights reserved.
541474Smckusick  *
641474Smckusick  * This code is derived from software contributed to Berkeley by
741474Smckusick  * the Systems Programming Group of the University of Utah Computer
841474Smckusick  * Science Department.
941474Smckusick  *
1041474Smckusick  * %sccs.include.redist.c%
1141474Smckusick  *
1245473Smckusick  * from: Utah $Hdr: reg.h 1.1 90/07/09$
1341474Smckusick  *
14*65926Spendry  *	@(#)reg.h	8.3 (Berkeley) 01/27/94
1541474Smckusick  */
1641474Smckusick 
1741474Smckusick /*
1841474Smckusick  * Location of the users' stored
1941474Smckusick  * registers relative to D0.
2041474Smckusick  * Usage is u.u_ar0[XX].
2141474Smckusick  */
2241474Smckusick #define	D0	(0)
2341474Smckusick #define	D1	(1)
2441474Smckusick #define	D2	(2)
2541474Smckusick #define	D3	(3)
2641474Smckusick #define	D4	(4)
2741474Smckusick #define	D5	(5)
2841474Smckusick #define	D6	(6)
2941474Smckusick #define	D7	(7)
3041474Smckusick #define	A0	(8)
3141474Smckusick #define	A1	(9)
3241474Smckusick #define	A2	(10)
3341474Smckusick #define	A3	(11)
3441474Smckusick #define	A4	(12)
3541474Smckusick #define	A5	(13)
3641474Smckusick #define	A6	(14)
3741474Smckusick #define	A7	(15)
3841474Smckusick 
3941474Smckusick #define	SP	A7
4041474Smckusick #define	PC	(17)
4141474Smckusick #define	PS	(16)
4241474Smckusick 
4341474Smckusick #ifdef IPCREG
4457324Shibler #define	NIPCREG 16
4541474Smckusick int ipcreg[NIPCREG] =
4657324Shibler 	{D0,D1,D2,D3,D4,D5,D6,D7,A0,A1,A2,A3,A4,A5,A6,A7};
4741474Smckusick #endif
4841474Smckusick 
4965365Spendry /*
5065365Spendry  * Register set accessible via /proc/$pid/reg
5165365Spendry  */
5265365Spendry struct reg {
5365365Spendry         int     r_regs[16];	/* numbered as above */
5465365Spendry 	int	r_pc;
5565365Spendry 	int	r_sr;
5665365Spendry };
5765365Spendry 
58*65926Spendry /*
59*65926Spendry  * Register set accessible via /proc/$pid/fpreg
60*65926Spendry  */
61*65926Spendry struct fpreg {
62*65926Spendry 	int	fpr_xxx;	/* not implemented */
63*65926Spendry };
6465365Spendry 
65*65926Spendry 
6641474Smckusick #ifdef KERNEL
6741474Smckusick /*
6841474Smckusick  * Due to a mental lapse somewhere down the line, wait returns its values
6941474Smckusick  * in strange registers.  Kludge it up here so we don't have to in the
7041474Smckusick  * machine-independent code.
7141474Smckusick  */
7241474Smckusick #define	R0	D1
7341474Smckusick #define	R1	A0
7441474Smckusick #endif
75