diff options
author | peter <peter@FreeBSD.org> | 1997-04-07 06:45:18 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1997-04-07 06:45:18 +0000 |
commit | 237ff29ca4d094b8fbf6c41083b91ddda096ae46 (patch) | |
tree | fd98f1b7401d6d278f016d433e18da2877120fa6 /sys/i386/include/pcb.h | |
parent | 3296644b21d18262198cb75be69ec76cd65f8c2b (diff) | |
download | FreeBSD-src-237ff29ca4d094b8fbf6c41083b91ddda096ae46.zip FreeBSD-src-237ff29ca4d094b8fbf6c41083b91ddda096ae46.tar.gz |
No longer use an i386tss as the basis of our pcb - it wasn't particularly
convenient and makes life difficult for my next commit. We still need
an i386tss to point to for the tss slot in the gdt, so we use a common
tss shared between all processes.
Note that this is going to break debugging until this series of commits
is finished. core dumps will change again too. :-( we really need
a more modern core dump format that doesn't depend on the pcb/upages.
This change makes VM86 mode harder, but the following commits will remove
a lot of constraints for the VM86 system, including the possibility of
extending the pcb for an IO port map etc.
Obtained from: bde
Diffstat (limited to 'sys/i386/include/pcb.h')
-rw-r--r-- | sys/i386/include/pcb.h | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/sys/i386/include/pcb.h b/sys/i386/include/pcb.h index 35a61ad..ecfd8b2 100644 --- a/sys/i386/include/pcb.h +++ b/sys/i386/include/pcb.h @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * from: @(#)pcb.h 5.10 (Berkeley) 5/12/91 - * $Id$ + * $Id: pcb.h,v 1.18 1997/02/22 09:34:56 peter Exp $ */ #ifndef _I386_PCB_H_ @@ -47,26 +47,23 @@ #include <machine/npx.h> struct pcb { - struct i386tss pcb_tss; -#define pcb_ksp pcb_tss.tss_esp0 -#define pcb_ptd pcb_tss.tss_cr3 -#define pcb_cr3 pcb_ptd -#define pcb_pc pcb_tss.tss_eip -#define pcb_psl pcb_tss.tss_eflags -#define pcb_usp pcb_tss.tss_esp -#define pcb_fp pcb_tss.tss_ebp -#ifdef notyet - u_char pcb_iomap[NPORT/sizeof(u_char)]; /* i/o port bitmap */ -#endif + int pcb_cr3; + int pcb_edi; + int pcb_esi; + int pcb_ebp; + int pcb_esp; + int pcb_ebx; + int pcb_eip; caddr_t pcb_ldt; /* per process (user) LDT */ int pcb_ldt_len; /* number of LDT entries */ struct save87 pcb_savefpu; /* floating point state for 287/387 */ -/* - * Software pcb (extension) - */ u_char pcb_flags; #define FP_SOFTFP 0x01 /* process using software fltng pnt emulator */ caddr_t pcb_onfault; /* copyin/out fault recovery */ +#if 0 /* some day we may switch between procs that have their own i386tss */ + struct i386tss pcb_tss; + u_char pcb_iomap[NPORT/sizeof(u_char)]; /* i/o port bitmap */ +#endif }; /* |