reg.h revision 1.16
1/*	$NetBSD: reg.h,v 1.16 2004/08/28 21:31:07 thorpej Exp $	*/
2
3/*
4 * Copyright (c) 1982, 1986, 1990 The Regents of the University of California.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to Berkeley by
8 * the Systems Programming Group of the University of Utah Computer
9 * Science Department.
10 *
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
13 * are met:
14 * 1. Redistributions of source code must retain the above copyright
15 *    notice, this list of conditions and the following disclaimer.
16 * 2. Redistributions in binary form must reproduce the above copyright
17 *    notice, this list of conditions and the following disclaimer in the
18 *    documentation and/or other materials provided with the distribution.
19 * 3. Neither the name of the University nor the names of its contributors
20 *    may be used to endorse or promote products derived from this software
21 *    without specific prior written permission.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 * SUCH DAMAGE.
34 *
35 * from: Utah Hdr: reg.h 1.1 90/07/09
36 *
37 *	@(#)reg.h	7.2 (Berkeley) 11/3/90
38 */
39/*
40 * Copyright (c) 1988 University of Utah.
41 *
42 * This code is derived from software contributed to Berkeley by
43 * the Systems Programming Group of the University of Utah Computer
44 * Science Department.
45 *
46 * Redistribution and use in source and binary forms, with or without
47 * modification, are permitted provided that the following conditions
48 * are met:
49 * 1. Redistributions of source code must retain the above copyright
50 *    notice, this list of conditions and the following disclaimer.
51 * 2. Redistributions in binary form must reproduce the above copyright
52 *    notice, this list of conditions and the following disclaimer in the
53 *    documentation and/or other materials provided with the distribution.
54 * 3. All advertising materials mentioning features or use of this software
55 *    must display the following acknowledgement:
56 *	This product includes software developed by the University of
57 *	California, Berkeley and its contributors.
58 * 4. Neither the name of the University nor the names of its contributors
59 *    may be used to endorse or promote products derived from this software
60 *    without specific prior written permission.
61 *
62 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
63 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
64 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
65 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
66 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
67 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
68 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
69 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
70 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
71 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
72 * SUCH DAMAGE.
73 *
74 * from: Utah Hdr: reg.h 1.1 90/07/09
75 *
76 *	@(#)reg.h	7.2 (Berkeley) 11/3/90
77 */
78
79#ifndef _M68K_REG_H_
80#define _M68K_REG_H_
81
82/*
83 * Register set accessible via /proc/$pid/reg and ptrace()
84 */
85struct reg {
86	int	r_regs[16];	/* D0-D7/A0-A7 */
87	int	r_sr;
88	int	r_pc;
89};
90
91struct fpreg {
92	int	r_regs[8*3];	/* FP0-FP7 */
93	int	r_fpcr;
94	int	r_fpsr;
95	int	r_fpiar;
96};
97
98/* XXXX this is historical (but it can't be deprecated quite yet) */
99
100/*
101 * Location of the users' stored
102 * registers relative to D0.
103 * Usage is u.u_ar0[XX].
104 */
105#define	D0	(0)
106#define	D1	(1)
107#define	D2	(2)
108#define	D3	(3)
109#define	D4	(4)
110#define	D5	(5)
111#define	D6	(6)
112#define	D7	(7)
113#define	A0	(8)
114#define	A1	(9)
115#define	A2	(10)
116#define	A3	(11)
117#define	A4	(12)
118#define	A5	(13)
119#define	A6	(14)
120#define	A7	(15)
121
122#define	FP	A6
123#define	SP	A7
124#define	PS	(16)
125#define	PC	(17)
126
127#ifdef _KERNEL
128/*
129 * Due to a mental lapse somewhere down the line, wait returns its values
130 * in strange registers.  Kludge it up here so we don't have to in the
131 * machine-independent code.
132 */
133#define	R0	D1
134#define	R1	A0
135
136struct lwp;
137int	process_read_regs(struct lwp *, struct reg *);
138int	process_read_fpregs(struct lwp *, struct fpreg *);
139
140#endif
141
142#endif /* !_M68K_REG_H_ */
143