summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/frame.h
diff options
context:
space:
mode:
authorluoqi <luoqi@FreeBSD.org>1999-04-28 01:04:33 +0000
committerluoqi <luoqi@FreeBSD.org>1999-04-28 01:04:33 +0000
commitaf7e9be5cce9a2ceb819f00b3f58014d23ab57cd (patch)
tree0e70c0e764f072d43041acca8ac52e30616dced3 /sys/i386/include/frame.h
parent0f4a245030e7f1acb03f8de0822a58b188fc0d28 (diff)
downloadFreeBSD-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/i386/include/frame.h')
-rw-r--r--sys/i386/include/frame.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/i386/include/frame.h b/sys/i386/include/frame.h
index 05092c2..7d70c14 100644
--- a/sys/i386/include/frame.h
+++ b/sys/i386/include/frame.h
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)frame.h 5.2 (Berkeley) 1/18/91
- * $Id: frame.h,v 1.14 1997/02/22 09:34:38 peter Exp $
+ * $Id: frame.h,v 1.15 1997/08/09 00:03:12 dyson Exp $
*/
#ifndef _MACHINE_FRAME_H_
@@ -51,6 +51,7 @@
*/
struct trapframe {
+ int tf_fs;
int tf_es;
int tf_ds;
int tf_edi;
@@ -75,6 +76,7 @@ struct trapframe {
/* Superset of trap frame, for traps from virtual-8086 mode */
struct trapframe_vm86 {
+ int tf_fs;
int tf_es;
int tf_ds;
int tf_edi;
@@ -106,6 +108,7 @@ struct trapframe_vm86 {
struct intrframe {
int if_vec;
int if_ppl;
+ int if_fs;
int if_es;
int if_ds;
int if_edi;
@@ -132,6 +135,7 @@ struct intrframe {
struct clockframe {
int cf_vec;
int cf_ppl;
+ int cf_fs;
int cf_es;
int cf_ds;
int cf_edi;
OpenPOWER on IntegriCloud