xref: /openbsd-src/sys/arch/mips64/include/pcb.h (revision bdb2878a49b81313f65bebe603fa59a7da34e002)
1*bdb2878aSvisa /*      $OpenBSD: pcb.h,v 1.10 2021/10/07 12:40:16 visa Exp $	*/
2f58c7388Spefo 
3f58c7388Spefo /*
4f58c7388Spefo  * Copyright (c) 1988 University of Utah.
5f58c7388Spefo  * Copyright (c) 1992, 1993
6f58c7388Spefo  *	The Regents of the University of California.  All rights reserved.
7f58c7388Spefo  *
8f58c7388Spefo  * This code is derived from software contributed to Berkeley by
9f58c7388Spefo  * the Systems Programming Group of the University of Utah Computer
10f58c7388Spefo  * Science Department and Ralph Campbell.
11f58c7388Spefo  *
12f58c7388Spefo  * Redistribution and use in source and binary forms, with or without
13f58c7388Spefo  * modification, are permitted provided that the following conditions
14f58c7388Spefo  * are met:
15f58c7388Spefo  * 1. Redistributions of source code must retain the above copyright
16f58c7388Spefo  *    notice, this list of conditions and the following disclaimer.
17f58c7388Spefo  * 2. Redistributions in binary form must reproduce the above copyright
18f58c7388Spefo  *    notice, this list of conditions and the following disclaimer in the
19f58c7388Spefo  *    documentation and/or other materials provided with the distribution.
2053aa784aSmiod  * 3. Neither the name of the University nor the names of its contributors
21f58c7388Spefo  *    may be used to endorse or promote products derived from this software
22f58c7388Spefo  *    without specific prior written permission.
23f58c7388Spefo  *
24f58c7388Spefo  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
25f58c7388Spefo  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26f58c7388Spefo  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27f58c7388Spefo  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
28f58c7388Spefo  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29f58c7388Spefo  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30f58c7388Spefo  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31f58c7388Spefo  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32f58c7388Spefo  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33f58c7388Spefo  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34f58c7388Spefo  * SUCH DAMAGE.
35f58c7388Spefo  *
36f58c7388Spefo  *	from: Utah Hdr: pcb.h 1.13 89/04/23
37f58c7388Spefo  *	from: @(#)pcb.h	8.1 (Berkeley) 6/10/93
38f58c7388Spefo  */
39f58c7388Spefo 
402fa72412Spirofti #ifndef _MIPS64_PCB_H_
412fa72412Spirofti #define _MIPS64_PCB_H_
42f58c7388Spefo 
43f58c7388Spefo #include <machine/frame.h>
44f58c7388Spefo 
45f58c7388Spefo /*
46f58c7388Spefo  * MIPS process control block. This is first in the U-area.
47f58c7388Spefo  */
48110fe5a5Sderaadt struct pcb {
49b43ebd13Smpi 	struct trapframe pcb_regs;	/* saved CPU and registers */
50110fe5a5Sderaadt 	struct {
514cab4d08Svisa 		/* val[12] is unused, was RM7000 ICR */
5269c64b83Smiod 		register_t val[13];
53110fe5a5Sderaadt 	} pcb_context;			/* kernel context for resume */
54f58c7388Spefo 	int	pcb_onfault;		/* for copyin/copyout faults */
55f58c7388Spefo 	void	*pcb_segtab;		/* copy of pmap pm_segtab */
56f58c7388Spefo };
57f58c7388Spefo 
582fa72412Spirofti #endif	/* !_MIPS64_PCB_H_ */
59