aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Xu <davidxu@FreeBSD.org>2004-07-31 14:02:29 +0000
committerDavid Xu <davidxu@FreeBSD.org>2004-07-31 14:02:29 +0000
commite3086a21e855032b2cded9c1f5b353b9be17cfea (patch)
tree012cbd0507c117f986cea9e28b9b6e8f05fc7c14
parent484405eb8dc8eaa144efa049c3b24162b26197eb (diff)
downloadsrc-e3086a21e855032b2cded9c1f5b353b9be17cfea.tar.gz
src-e3086a21e855032b2cded9c1f5b353b9be17cfea.zip
Turn on PCB_FULLCTX for set_mcontext, functions like kse_switchin
needs to fully restore asynchronous context which did not come from fast syscall.
Notes
Notes: svn path=/head/; revision=132924
-rw-r--r--sys/amd64/amd64/machdep.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c
index b95c211ad1c2..414a3fa45ab7 100644
--- a/sys/amd64/amd64/machdep.c
+++ b/sys/amd64/amd64/machdep.c
@@ -1533,6 +1533,7 @@ set_mcontext(struct thread *td, const mcontext_t *mcp)
tp->tf_rflags = rflags;
tp->tf_rsp = mcp->mc_rsp;
tp->tf_ss = mcp->mc_ss;
+ td->td_pcb->pcb_flags |= PCB_FULLCTX;
return (0);
}