xref: /freebsd/sys/arm/include/proc.h (revision 9fd57b44e440ceea9c3cbb75ba7b037de1db67d4)
1d8315c79SWarner Losh /*-
26fc729afSOlivier Houchard  * Copyright (c) 1991 Regents of the University of California.
36fc729afSOlivier Houchard  * All rights reserved.
46fc729afSOlivier Houchard  *
56fc729afSOlivier Houchard  * Redistribution and use in source and binary forms, with or without
66fc729afSOlivier Houchard  * modification, are permitted provided that the following conditions
76fc729afSOlivier Houchard  * are met:
86fc729afSOlivier Houchard  * 1. Redistributions of source code must retain the above copyright
96fc729afSOlivier Houchard  *    notice, this list of conditions and the following disclaimer.
106fc729afSOlivier Houchard  * 2. Redistributions in binary form must reproduce the above copyright
116fc729afSOlivier Houchard  *    notice, this list of conditions and the following disclaimer in the
126fc729afSOlivier Houchard  *    documentation and/or other materials provided with the distribution.
136fc729afSOlivier Houchard  * 3. All advertising materials mentioning features or use of this software
146fc729afSOlivier Houchard  *    must display the following acknowledgement:
156fc729afSOlivier Houchard  *      This product includes software developed by the University of
166fc729afSOlivier Houchard  *      California, Berkeley and its contributors.
176fc729afSOlivier Houchard  * 4. Neither the name of the University nor the names of its contributors
186fc729afSOlivier Houchard  *    may be used to endorse or promote products derived from this software
196fc729afSOlivier Houchard  *    without specific prior written permission.
206fc729afSOlivier Houchard  *
216fc729afSOlivier Houchard  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
226fc729afSOlivier Houchard  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
236fc729afSOlivier Houchard  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
246fc729afSOlivier Houchard  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
256fc729afSOlivier Houchard  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
266fc729afSOlivier Houchard  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
276fc729afSOlivier Houchard  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
286fc729afSOlivier Houchard  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
296fc729afSOlivier Houchard  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
306fc729afSOlivier Houchard  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
316fc729afSOlivier Houchard  * SUCH DAMAGE.
326fc729afSOlivier Houchard  *
336fc729afSOlivier Houchard  *      from: @(#)proc.h        7.1 (Berkeley) 5/15/91
346fc729afSOlivier Houchard  *	from: FreeBSD: src/sys/i386/include/proc.h,v 1.11 2001/06/29
356fc729afSOlivier Houchard  * $FreeBSD$
366fc729afSOlivier Houchard  */
376fc729afSOlivier Houchard 
386fc729afSOlivier Houchard #ifndef	_MACHINE_PROC_H_
396fc729afSOlivier Houchard #define	_MACHINE_PROC_H_
406fc729afSOlivier Houchard 
416fc729afSOlivier Houchard #include <machine/utrap.h>
426fc729afSOlivier Houchard 
436fc729afSOlivier Houchard struct md_utrap {
446fc729afSOlivier Houchard 	utrap_entry_t *ut_precise[UT_MAX];	/* must be first */
456fc729afSOlivier Houchard 	int	ut_refcnt;
466fc729afSOlivier Houchard };
476fc729afSOlivier Houchard 
486fc729afSOlivier Houchard struct mdthread {
49c6a37e84SJohn Baldwin 	int	md_spinlock_count;	/* (k) */
50c6a37e84SJohn Baldwin 	register_t md_saved_cspr;	/* (k) */
519026d36cSOlivier Houchard 	int md_ptrace_instr;
529026d36cSOlivier Houchard 	int md_ptrace_addr;
53ae5b8077SWarner Losh 	register_t md_tp;
54a43268a7SOlivier Houchard 	void *md_ras_start;
55a43268a7SOlivier Houchard 	void *md_ras_end;
566fc729afSOlivier Houchard };
576fc729afSOlivier Houchard 
586fc729afSOlivier Houchard struct mdproc {
596fc729afSOlivier Houchard 	struct	md_utrap *md_utrap;
606fc729afSOlivier Houchard 	void	*md_sigtramp;
616fc729afSOlivier Houchard };
626fc729afSOlivier Houchard 
63*9fd57b44SAndrew Turner #ifdef __ARM_EABI__
64*9fd57b44SAndrew Turner #define	KINFO_PROC_SIZE 816
65*9fd57b44SAndrew Turner #else
66ed780687SKonstantin Belousov #define	KINFO_PROC_SIZE 792
67*9fd57b44SAndrew Turner #endif
68ed780687SKonstantin Belousov 
69bc3a00ccSKonstantin Belousov #define MAXARGS	8
70bc3a00ccSKonstantin Belousov struct syscall_args {
71bc3a00ccSKonstantin Belousov 	u_int code;
72bc3a00ccSKonstantin Belousov 	struct sysent *callp;
73bc3a00ccSKonstantin Belousov 	register_t args[MAXARGS];
74bc3a00ccSKonstantin Belousov 	int narg;
75bc3a00ccSKonstantin Belousov 	u_int nap;
76*9fd57b44SAndrew Turner #ifndef __ARM_EABI__
77bc3a00ccSKonstantin Belousov 	u_int32_t insn;
78*9fd57b44SAndrew Turner #endif
79bc3a00ccSKonstantin Belousov };
80bc3a00ccSKonstantin Belousov 
816fc729afSOlivier Houchard #endif /* !_MACHINE_PROC_H_ */
82