diff options
author | peter <peter@FreeBSD.org> | 1997-06-22 16:04:22 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1997-06-22 16:04:22 +0000 |
commit | 2dc5ff96e76a38f1a5ffd4c22e350c882f7592eb (patch) | |
tree | 281c7f0e4899a210947f7dfa14231536350272d2 /sys/i386/include/pcb.h | |
parent | e0245a10b266a1abf80916d730d18966653de374 (diff) | |
download | FreeBSD-src-2dc5ff96e76a38f1a5ffd4c22e350c882f7592eb.zip FreeBSD-src-2dc5ff96e76a38f1a5ffd4c22e350c882f7592eb.tar.gz |
Preliminary support for per-cpu data pages.
This eliminates a lot of #ifdef SMP type code. Things like _curproc reside
in a data page that is unique on each cpu, eliminating the expensive macros
like: #define curproc (SMPcurproc[cpunumber()])
There are some unresolved bootstrap and address space sharing issues at
present, but Steve is waiting on this for other work. There is still some
strictly temporary code present that isn't exactly pretty.
This is part of a larger change that has run into some bumps, this part is
standalone so it should be safe. The temporary code goes away when the
full idle cpu support is finished.
Reviewed by: fsmp, dyson
Diffstat (limited to 'sys/i386/include/pcb.h')
-rw-r--r-- | sys/i386/include/pcb.h | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/sys/i386/include/pcb.h b/sys/i386/include/pcb.h index c93ed87..18a9af1 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.21 1997/05/07 19:49:32 peter Exp $ + * $Id: pcb.h,v 1.22 1997/06/07 04:36:05 bde Exp $ */ #ifndef _I386_PCB_H_ @@ -45,9 +45,6 @@ */ #include <machine/tss.h> #include <machine/npx.h> -#if defined(KERNEL) && defined(SMP) -#include <machine/smp.h> /* cpunumber() */ -#endif struct pcb { int pcb_cr3; @@ -82,12 +79,7 @@ struct md_coredump { #ifdef KERNEL -#ifdef SMP -extern struct pcb *SMPcurpcb[]; /* our current running pcb */ -#define curpcb (SMPcurpcb[cpunumber()]) -#else /* !SMP */ extern struct pcb *curpcb; /* our current running pcb */ -#endif /* SMP */ void savectx __P((struct pcb*)); #endif |