Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-1-5]: src/sys/arch/i386/i386 Pull up revision 1.28 (requested by ...
details: https://anonhg.NetBSD.org/src/rev/8b50b9b276bc
branches: netbsd-1-5
changeset: 491918:8b50b9b276bc
user: he <he%NetBSD.org@localhost>
date: Sun Jun 17 22:26:52 2001 +0000
description:
Pull up revision 1.28 (requested by sommerfeld):
Add %fs/%gs to trap frame and save/restore them on trap/interupt/
syscall entry from userspace.
Remove special-case ``by hand'' validation of %fs/%gs register
values s well as special handling of them in various signal
handling paths. Now, like %ds and %es, they are validated by
the hardware on return to userland.
This paves the way for the use of %fs for per-cpu data on multi-
processor systems, and fixes an otherwise difficult-to-fix
interaction between threads/clone(2) and USER_LDT.
diffstat:
sys/arch/i386/i386/genassym.cf | 13 +------------
1 files changed, 1 insertions(+), 12 deletions(-)
diffs (43 lines):
diff -r 73ef212513e7 -r 8b50b9b276bc sys/arch/i386/i386/genassym.cf
--- a/sys/arch/i386/i386/genassym.cf Sun Jun 17 22:26:49 2001 +0000
+++ b/sys/arch/i386/i386/genassym.cf Sun Jun 17 22:26:52 2001 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: genassym.cf,v 1.19.4.2 2001/03/30 22:29:23 he Exp $
+# $NetBSD: genassym.cf,v 1.19.4.3 2001/06/17 22:26:52 he Exp $
#
# Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -159,8 +159,6 @@
define PCB_CR3 offsetof(struct pcb, pcb_cr3)
define PCB_EBP offsetof(struct pcb, pcb_ebp)
define PCB_ESP offsetof(struct pcb, pcb_esp)
-define PCB_FS offsetof(struct pcb, pcb_fs)
-define PCB_GS offsetof(struct pcb, pcb_gs)
define PCB_CR0 offsetof(struct pcb, pcb_cr0)
define PCB_LDT_SEL offsetof(struct pcb, pcb_ldt_sel)
define PCB_ONFAULT offsetof(struct pcb, pcb_onfault)
@@ -175,24 +173,15 @@
define SIGF_HANDLER offsetof(struct sigframe, sf_handler)
define SIGF_SC offsetof(struct sigframe, sf_sc)
-define SC_FS offsetof(struct sigcontext, sc_fs)
-define SC_GS offsetof(struct sigcontext, sc_gs)
-define SC_EFLAGS offsetof(struct sigcontext, sc_eflags)
ifdef COMPAT_SVR4
define SVR4_SIGF_HANDLER offsetof(struct svr4_sigframe, sf_handler)
define SVR4_SIGF_UC offsetof(struct svr4_sigframe, sf_uc)
-define SVR4_UC_FS offsetof(struct svr4_ucontext, uc_mcontext.greg[SVR4_X86_FS])
-define SVR4_UC_GS offsetof(struct svr4_ucontext, uc_mcontext.greg[SVR4_X86_GS])
-define SVR4_UC_EFLAGS offsetof(struct svr4_ucontext, uc_mcontext.greg[SVR4_X86_EFL])
endif
ifdef COMPAT_LINUX
define LINUX_SIGF_HANDLER offsetof(struct linux_sigframe, sf_handler)
define LINUX_SIGF_SC offsetof(struct linux_sigframe, sf_sc)
-define LINUX_SC_FS offsetof(struct linux_sigcontext, sc_fs)
-define LINUX_SC_GS offsetof(struct linux_sigcontext, sc_gs)
-define LINUX_SC_EFLAGS offsetof(struct linux_sigcontext, sc_eflags)
endif
ifdef COMPAT_FREEBSD
Home |
Main Index |
Thread Index |
Old Index