diff options
author | Peter Wemm <peter@FreeBSD.org> | 2003-05-15 00:23:40 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 2003-05-15 00:23:40 +0000 |
commit | c0a54ff6211af5d85e7e42016d60f5fc3500a08a (patch) | |
tree | 1cae0c59e2d1157890a9bc0eb09af3e021373ef6 /sys/compat/ia32 | |
parent | be52ef13998704e51e36593ef23c7bda79d1e196 (diff) |
Notes
Diffstat (limited to 'sys/compat/ia32')
-rw-r--r-- | sys/compat/ia32/ia32_sysvec.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/sys/compat/ia32/ia32_sysvec.c b/sys/compat/ia32/ia32_sysvec.c index 684677a7cf88f..5ced18ccf2d50 100644 --- a/sys/compat/ia32/ia32_sysvec.c +++ b/sys/compat/ia32/ia32_sysvec.c @@ -241,22 +241,15 @@ ia32_setregs(td, entry, stack, ps_strings) { struct trapframe *regs = td->td_frame; struct pcb *pcb = td->td_pcb; - u_int64_t pc; - register_t s; wrmsr(MSR_FSBASE, 0); wrmsr(MSR_KGSBASE, 0); /* User value while we're in the kernel */ pcb->pcb_fsbase = 0; pcb->pcb_gsbase = 0; - pcb->pcb_kgsbase = rdmsr(MSR_GSBASE); load_ds(_udatasel); load_es(_udatasel); load_fs(_udatasel); - s = intr_disable(); - pc = rdmsr(MSR_GSBASE); - load_gs(_udatasel); /* Clobbers kernel %GS.base */ - wrmsr(MSR_GSBASE, pc); - intr_restore(s); + load_gs(_udatasel); pcb->pcb_ds = _udatasel; pcb->pcb_es = _udatasel; pcb->pcb_fs = _udatasel; |