Deleted Added
full compact
pcb.h (106542) pcb.h (114349)
1/*-
2 * Copyright (c) 1990 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * William Jolitz.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 20 unchanged lines hidden (view full) ---

29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
36 * from: @(#)pcb.h 5.10 (Berkeley) 5/12/91
1/*-
2 * Copyright (c) 1990 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * William Jolitz.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 20 unchanged lines hidden (view full) ---

29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
36 * from: @(#)pcb.h 5.10 (Berkeley) 5/12/91
37 * $FreeBSD: head/sys/amd64/include/pcb.h 106542 2002-11-07 01:34:23Z davidxu $
37 * $FreeBSD: head/sys/amd64/include/pcb.h 114349 2003-05-01 01:05:25Z peter $
38 */
39
40#ifndef _I386_PCB_H_
41#define _I386_PCB_H_
42
43/*
44 * Intel 386 process control block
45 */
46#include <machine/npx.h>
47
48struct pcb {
38 */
39
40#ifndef _I386_PCB_H_
41#define _I386_PCB_H_
42
43/*
44 * Intel 386 process control block
45 */
46#include <machine/npx.h>
47
48struct pcb {
49 int pcb_cr3;
50 int pcb_edi;
51 int pcb_esi;
52 int pcb_ebp;
53 int pcb_esp;
54 int pcb_ebx;
55 int pcb_eip;
49 register_t padxx[8];
50 register_t pcb_cr3;
51 register_t pcb_r15;
52 register_t pcb_r14;
53 register_t pcb_r13;
54 register_t pcb_r12;
55 register_t pcb_rbp;
56 register_t pcb_rsp;
57 register_t pcb_rbx;
58 register_t pcb_rip;
59 register_t pcb_rflags;
56
60
57 int pcb_dr0;
58 int pcb_dr1;
59 int pcb_dr2;
60 int pcb_dr3;
61 int pcb_dr6;
62 int pcb_dr7;
61 struct savefpu pcb_save;
62 u_long pcb_flags;
63#define PCB_NPXTRAP 0x01 /* npx trap pending */
64#define PCB_NPXINITDONE 0x02 /* fpu state is initialized */
65#define PCB_FULLCTX 0x04 /* full context restore on sysret */
63
66
64 union savefpu pcb_save;
65 u_int pcb_flags;
66#define FP_SOFTFP 0x01 /* process using software fltng pnt emulator */
67#define PCB_DBREGS 0x02 /* process using debug registers */
68#define PCB_NPXTRAP 0x04 /* npx trap pending */
69#define PCB_NPXINITDONE 0x08 /* fpu state is initialized */
70#define PCB_VM86CALL 0x10 /* in vm86 call */
71
72 caddr_t pcb_onfault; /* copyin/out fault recovery */
67 caddr_t pcb_onfault; /* copyin/out fault recovery */
73 int pcb_gs;
74 struct pcb_ext *pcb_ext; /* optional pcb extension */
75 int pcb_psl; /* process status long */
76 u_long __pcb_spare[2]; /* adjust to avoid core dump size changes */
77};
78
79#ifdef _KERNEL
80void savectx(struct pcb *);
81#endif
82
83#endif /* _I386_PCB_H_ */
68};
69
70#ifdef _KERNEL
71void savectx(struct pcb *);
72#endif
73
74#endif /* _I386_PCB_H_ */