PERFORCE change 29746 for review
Peter Wemm
peter at FreeBSD.org
Fri Apr 25 16:04:09 PDT 2003
http://perforce.freebsd.org/chv.cgi?CH=29746
Change 29746 by peter at peter_daintree on 2003/04/25 16:03:09
use PCB_FULLCTX to cause fast_syscall to restore a full frame
via doreti. eg: in response to *context or sigreturn(2).
Affected files ...
.. //depot/projects/hammer/sys/x86_64/x86_64/exception.s#28 edit
.. //depot/projects/hammer/sys/x86_64/x86_64/machdep.c#84 edit
Differences ...
==== //depot/projects/hammer/sys/x86_64/x86_64/exception.s#28 (text+ko) ====
@@ -227,6 +227,9 @@
movq PCPU(SCRATCH_RSP),%r12 /* %r12 already saved */
movq %r12,TF_RSP(%rsp) /* user stack pointer */
call syscall
+ movq PCPU(CURPCB),%rax
+ testq $PCB_FULLCTX,PCB_FLAGS(%rax)
+ jnz doreti_ast
/* simplified from doreti */
1: /* Check for and handle AST's on return to userland */
cli
==== //depot/projects/hammer/sys/x86_64/x86_64/machdep.c#84 (text+ko) ====
@@ -384,6 +384,7 @@
SIG_CANTMASK(td->td_sigmask);
signotify(td);
PROC_UNLOCK(p);
+ td->td_pcb->pcb_flags |= PCB_FULLCTX;
return (EJUSTRETURN);
}
More information about the p4-projects
mailing list