summaryrefslogtreecommitdiff
path: root/usr/src/uts/intel/ia32/syscall
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@joyent.com>2018-06-12 21:19:02 +0000
committerRobert Mustacchi <rm@joyent.com>2018-06-13 22:24:41 +0000
commitf48e1a4f1d835afe9a2607058270907434313e19 (patch)
tree6a8ac10bccd61f3ec0bf6bfba1be4bbe31a2fbaf /usr/src/uts/intel/ia32/syscall
parent7dd56b107bd476ae57c659b6b9eb5ddd7bb26a2f (diff)
downloadillumos-joyent-f48e1a4f1d835afe9a2607058270907434313e19.tar.gz
OS-7000 Need Eager FPU
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com> Reviewed by: Patrick Mooney <patrick.mooney@joyent.com> Reviewed by: Bryan Cantrill <bryan@joyent.com> Reviewed by: John Levon <john.levon@joyent.com> Approved by: Bryan Cantrill <bryan@joyent.com>
Diffstat (limited to 'usr/src/uts/intel/ia32/syscall')
-rw-r--r--usr/src/uts/intel/ia32/syscall/lwp_private.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/usr/src/uts/intel/ia32/syscall/lwp_private.c b/usr/src/uts/intel/ia32/syscall/lwp_private.c
index 79e9076ee0..479a800d9a 100644
--- a/usr/src/uts/intel/ia32/syscall/lwp_private.c
+++ b/usr/src/uts/intel/ia32/syscall/lwp_private.c
@@ -21,10 +21,9 @@
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ * Copyright (c) 2018, Joyent, Inc.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/param.h>
#include <sys/types.h>
#include <sys/disp.h>
@@ -72,12 +71,12 @@ lwp_setprivate(klwp_t *lwp, int which, uintptr_t base)
* of zero for %fs and %gs to use the 64-bit fs_base and gs_base
* respectively.
*/
- if (pcb->pcb_rupdate == 0) {
+ if (!PCB_NEED_UPDATE_SEGS(pcb)) {
pcb->pcb_ds = rp->r_ds;
pcb->pcb_es = rp->r_es;
pcb->pcb_fs = rp->r_fs;
pcb->pcb_gs = rp->r_gs;
- pcb->pcb_rupdate = 1;
+ PCB_SET_UPDATE_SEGS(pcb);
t->t_post_sys = 1;
}
ASSERT(t->t_post_sys);
@@ -171,7 +170,7 @@ lwp_getprivate(klwp_t *lwp, int which, uintptr_t base)
case _LWP_FSBASE:
if ((sbase = pcb->pcb_fsbase) != 0) {
if (lwp_getdatamodel(lwp) == DATAMODEL_NATIVE) {
- if (pcb->pcb_rupdate == 1) {
+ if (PCB_NEED_UPDATE_SEGS(pcb)) {
if (pcb->pcb_fs == 0)
break;
} else {
@@ -179,7 +178,7 @@ lwp_getprivate(klwp_t *lwp, int which, uintptr_t base)
break;
}
} else {
- if (pcb->pcb_rupdate == 1) {
+ if (PCB_NEED_UPDATE_SEGS(pcb)) {
if (pcb->pcb_fs == LWPFS_SEL)
break;
} else {
@@ -193,7 +192,7 @@ lwp_getprivate(klwp_t *lwp, int which, uintptr_t base)
case _LWP_GSBASE:
if ((sbase = pcb->pcb_gsbase) != 0) {
if (lwp_getdatamodel(lwp) == DATAMODEL_NATIVE) {
- if (pcb->pcb_rupdate == 1) {
+ if (PCB_NEED_UPDATE_SEGS(pcb)) {
if (pcb->pcb_gs == 0)
break;
} else {
@@ -201,7 +200,7 @@ lwp_getprivate(klwp_t *lwp, int which, uintptr_t base)
break;
}
} else {
- if (pcb->pcb_rupdate == 1) {
+ if (PCB_NEED_UPDATE_SEGS(pcb)) {
if (pcb->pcb_gs == LWPGS_SEL)
break;
} else {