diff options
author | Peter Wemm <peter@FreeBSD.org> | 1997-04-26 11:46:25 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 1997-04-26 11:46:25 +0000 |
commit | 477a642cee98950f11ce12c94468b0156991a8eb (patch) | |
tree | 0b1362dc59c530540630177826b3e1cee9bb08bd /sys/i386/include/pcb.h | |
parent | 539fc95753f186bdf4f6d04d86484abd3c7f59c5 (diff) | |
download | src-477a642cee98950f11ce12c94468b0156991a8eb.tar.gz src-477a642cee98950f11ce12c94468b0156991a8eb.zip |
Man the liferafts! Here comes the long awaited SMP -> -current merge!
There are various options documented in i386/conf/LINT, there is more to
come over the next few days.
The kernel should run pretty much "as before" without the options to
activate SMP mode.
There are a handful of known "loose ends" that need to be fixed, but
have been put off since the SMP kernel is in a moderately good condition
at the moment.
This commit is the result of the tinkering and testing over the last 14
months by many people. A special thanks to Steve Passe for implementing
the APIC code!
Notes
Notes:
svn path=/head/; revision=25164
Diffstat (limited to 'sys/i386/include/pcb.h')
-rw-r--r-- | sys/i386/include/pcb.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/i386/include/pcb.h b/sys/i386/include/pcb.h index ecfd8b2c315d..73ee223404cc 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: pcb.h,v 1.18 1997/02/22 09:34:56 peter Exp $ + * $Id: pcb.h,v 1.19 1997/04/07 06:45:18 peter Exp $ */ #ifndef _I386_PCB_H_ @@ -60,6 +60,8 @@ struct pcb { u_char pcb_flags; #define FP_SOFTFP 0x01 /* process using software fltng pnt emulator */ caddr_t pcb_onfault; /* copyin/out fault recovery */ + u_long pcb_mpnest; + u_long __pcb_spare[7]; /* adjust to avoid core dump size changes */ #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 */ @@ -74,7 +76,15 @@ struct md_coredump { }; #ifdef KERNEL + +#include "opt_smp.h" +#include <machine/smp.h> +#ifdef SMP +#define curpcb (SMPcurpcb[cpunumber()]) +#else /* !SMP */ extern struct pcb *curpcb; /* our current running pcb */ +#endif /* SMP */ + void savectx __P((struct pcb*)); #endif |