summaryrefslogtreecommitdiff
path: root/sys/arch/i386/include
diff options
context:
space:
mode:
authorNiklas Hallqvist <niklas@cvs.openbsd.org>2004-07-02 16:29:56 +0000
committerNiklas Hallqvist <niklas@cvs.openbsd.org>2004-07-02 16:29:56 +0000
commit4e21c2c5fe2cb2f5ea3cf71a36b36246fada3387 (patch)
tree289c5bc05d11c5e8dc16a8f4e3faf2238fd2d585 /sys/arch/i386/include
parent85c22057751f71fe482c7ef954fc69924d59b2c3 (diff)
Maintain %f and %gs over traps. Mostly from NetBSD. Preparation for SMP
speedups.
Diffstat (limited to 'sys/arch/i386/include')
-rw-r--r--sys/arch/i386/include/db_machdep.h4
-rw-r--r--sys/arch/i386/include/frame.h6
-rw-r--r--sys/arch/i386/include/pcb.h4
3 files changed, 8 insertions, 6 deletions
diff --git a/sys/arch/i386/include/db_machdep.h b/sys/arch/i386/include/db_machdep.h
index 4d4be44f9a7..d39c95fd135 100644
--- a/sys/arch/i386/include/db_machdep.h
+++ b/sys/arch/i386/include/db_machdep.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: db_machdep.h,v 1.11 2004/06/21 22:41:11 andreas Exp $ */
+/* $OpenBSD: db_machdep.h,v 1.12 2004/07/02 16:29:55 niklas Exp $ */
/* $NetBSD: db_machdep.h,v 1.9 1996/05/03 19:23:59 christos Exp $ */
/*
@@ -106,7 +106,7 @@ boolean_t db_phys_eq(task_t, vaddr_t, task_t, vaddr_t);
* Constants for KGDB.
*/
typedef long kgdb_reg_t;
-#define KGDB_NUMREGS 14
+#define KGDB_NUMREGS 16
#define KGDB_BUFLEN 512
#if 0
diff --git a/sys/arch/i386/include/frame.h b/sys/arch/i386/include/frame.h
index 5c408bc0a27..cbe9a1a805d 100644
--- a/sys/arch/i386/include/frame.h
+++ b/sys/arch/i386/include/frame.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: frame.h,v 1.5 2003/06/02 23:27:47 millert Exp $ */
+/* $OpenBSD: frame.h,v 1.6 2004/07/02 16:29:55 niklas Exp $ */
/* $NetBSD: frame.h,v 1.12 1995/10/11 04:20:08 mycroft Exp $ */
/*-
@@ -46,6 +46,8 @@
* Exception/Trap Stack Frame
*/
struct trapframe {
+ int tf_fs;
+ int tf_gs;
int tf_es;
int tf_ds;
int tf_edi;
@@ -76,6 +78,8 @@ struct trapframe {
*/
struct intrframe {
int if_ppl;
+ int if_fs;
+ int if_gs;
int if_es;
int if_ds;
int if_edi;
diff --git a/sys/arch/i386/include/pcb.h b/sys/arch/i386/include/pcb.h
index 641f8874f17..0788135e06d 100644
--- a/sys/arch/i386/include/pcb.h
+++ b/sys/arch/i386/include/pcb.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcb.h,v 1.12 2004/06/13 21:49:16 niklas Exp $ */
+/* $OpenBSD: pcb.h,v 1.13 2004/07/02 16:29:55 niklas Exp $ */
/* $NetBSD: pcb.h,v 1.21 1996/01/08 13:51:42 mycroft Exp $ */
/*-
@@ -58,8 +58,6 @@ struct pcb {
#define pcb_esp pcb_tss.tss_esp
#define pcb_ebp pcb_tss.tss_ebp
#define pcb_cs pcb_tss.tss_cs
-#define pcb_fs pcb_tss.tss_fs
-#define pcb_gs pcb_tss.tss_gs
#define pcb_ldt_sel pcb_tss.tss_ldt
int pcb_tss_sel;
union descriptor *pcb_ldt; /* per process (user) LDT */