xref: /csrg-svn/sys/i386/include/pcb.h (revision 40463)
1*40463Sbill /*
2*40463Sbill  * Intel 386 process control block
3*40463Sbill  */
4*40463Sbill #include "tss.h"
5*40463Sbill #include "fpu.h"
6*40463Sbill 
7*40463Sbill struct pcb {
8*40463Sbill 	struct	i386tss pcbtss;
9*40463Sbill #define	pcb_ksp	pcbtss.tss_esp0
10*40463Sbill #define	pcb_ptd	pcbtss.tss_cr3
11*40463Sbill #define	pcb_pc	pcbtss.tss_eip
12*40463Sbill #define	pcb_psl	pcbtss.tss_eflags
13*40463Sbill #define	pcb_usp	pcbtss.tss_esp
14*40463Sbill #define	pcb_fp	pcbtss.tss_ebp
15*40463Sbill /*
16*40463Sbill  * Software pcb (extension)
17*40463Sbill  */
18*40463Sbill 	struct	save87	pcb_savefpu;
19*40463Sbill 	struct	pte	*pcb_p0br;
20*40463Sbill 	struct	pte	*pcb_p1br;
21*40463Sbill 	int	pcb_p0lr;
22*40463Sbill 	int	pcb_p1lr;
23*40463Sbill 	int	pcb_szpt; 	/* number of pages of user page table */
24*40463Sbill 	int	pcb_cmap2;
25*40463Sbill 	int	*pcb_sswap;
26*40463Sbill 	long	pcb_sigc[5];	/* sigcode actually 19 bytes */
27*40463Sbill };
28*40463Sbill 
29