diff options
author | luoqi <luoqi@FreeBSD.org> | 1999-04-28 01:04:33 +0000 |
---|---|---|
committer | luoqi <luoqi@FreeBSD.org> | 1999-04-28 01:04:33 +0000 |
commit | af7e9be5cce9a2ceb819f00b3f58014d23ab57cd (patch) | |
tree | 0e70c0e764f072d43041acca8ac52e30616dced3 /sys/kern/init_main.c | |
parent | 0f4a245030e7f1acb03f8de0822a58b188fc0d28 (diff) | |
download | FreeBSD-src-af7e9be5cce9a2ceb819f00b3f58014d23ab57cd.zip FreeBSD-src-af7e9be5cce9a2ceb819f00b3f58014d23ab57cd.tar.gz |
Enable vmspace sharing on SMP. Major changes are,
- %fs register is added to trapframe and saved/restored upon kernel entry/exit.
- Per-cpu pages are no longer mapped at the same virtual address.
- Each cpu now has a separate gdt selector table. A new segment selector
is added to point to per-cpu pages, per-cpu global variables are now
accessed through this new selector (%fs). The selectors in gdt table are
rearranged for cache line optimization.
- fask_vfork is now on as default for both UP and SMP.
- Some aio code cleanup.
Reviewed by: Alan Cox <alc@cs.rice.edu>
John Dyson <dyson@iquest.net>
Julian Elischer <julian@whistel.com>
Bruce Evans <bde@zeta.org.au>
David Greenman <dg@root.com>
Diffstat (limited to 'sys/kern/init_main.c')
-rw-r--r-- | sys/kern/init_main.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index 8d9377e..bf6ec7f 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * @(#)init_main.c 8.9 (Berkeley) 1/21/94 - * $Id: init_main.c,v 1.112 1999/04/20 21:15:13 des Exp $ + * $Id: init_main.c,v 1.113 1999/04/24 18:50:48 dt Exp $ */ #include "opt_devfs.h" @@ -232,14 +232,12 @@ restart: break; case SI_TYPE_KTHREAD: -#if !defined(SMP) /* kernel thread*/ if (fork1(&proc0, RFMEM|RFFDG|RFPROC)) panic("fork kernel thread"); cpu_set_fork_handler(pfind(proc0.p_retval[0]), (*sipp)->func, (*sipp)->udata); break; -#endif case SI_TYPE_KPROCESS: if (fork1(&proc0, RFFDG|RFPROC)) @@ -360,7 +358,6 @@ proc0_init(dummy) * any possible traps/probes to simplify trap processing. */ p = &proc0; - curproc = p; /* XXX redundant*/ /* * Initialize process and pgrp structures. |