diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 2004-07-02 16:29:56 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 2004-07-02 16:29:56 +0000 |
commit | 4e21c2c5fe2cb2f5ea3cf71a36b36246fada3387 (patch) | |
tree | 289c5bc05d11c5e8dc16a8f4e3faf2238fd2d585 /sys/arch/i386/include | |
parent | 85c22057751f71fe482c7ef954fc69924d59b2c3 (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.h | 4 | ||||
-rw-r--r-- | sys/arch/i386/include/frame.h | 6 | ||||
-rw-r--r-- | sys/arch/i386/include/pcb.h | 4 |
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 */ |