PERFORCE change 75324 for review
David Xu
davidxu at FreeBSD.org
Sat Apr 16 06:38:41 PDT 2005
http://perforce.freebsd.org/chv.cgi?CH=75324
Change 75324 by davidxu at davidxu_tiger on 2005/04/16 13:37:39
Implement cpu_set_user_tls for AMD64.
Affected files ...
.. //depot/projects/davidxu_thread/src/sys/amd64/amd64/vm_machdep.c#6 edit
Differences ...
==== //depot/projects/davidxu_thread/src/sys/amd64/amd64/vm_machdep.c#6 (text+ko) ====
@@ -327,7 +327,7 @@
* Set the trap frame to point at the beginning of the uts
* function.
*/
- td->td_frame->tf_rbp = 0;
+ td->td_frame->tf_rbp = 0;
td->td_frame->tf_rsp =
((register_t)stack->ss_sp + stack->ss_size) & ~0x0f;
td->td_frame->tf_rsp -= 8;
@@ -341,6 +341,21 @@
td->td_frame->tf_rdi = (register_t)arg;
}
+void
+cpu_set_user_tls(struct thread *td, void *tls_base, size_t tls_size __unused,
+ int tls_seg __unused)
+{
+
+ if (td == curthread) {
+ critical_enter();
+ td->pcb->pcb_fsbase = tls_base;
+ wrmsr(MSR_FSBASE, pcb->pcb_fsbase);
+ critical_leave();
+ } else {
+ td->pcb->pcb_fsbase = tls_base;
+ }
+}
+
#ifdef SMP
static void
cpu_reset_proxy()
More information about the p4-projects
mailing list