PERFORCE change 75374 for review
David Xu
davidxu at FreeBSD.org
Sun Apr 17 04:44:04 PDT 2005
http://perforce.freebsd.org/chv.cgi?CH=75374
Change 75374 by davidxu at davidxu_alona on 2005/04/17 11:43:46
cpu_set_user_tls.
Affected files ...
.. //depot/projects/davidxu_thread/src/sys/ia64/ia64/vm_machdep.c#6 edit
.. //depot/projects/davidxu_thread/src/sys/powerpc/powerpc/vm_machdep.c#6 edit
.. //depot/projects/davidxu_thread/src/sys/sparc64/sparc64/vm_machdep.c#7 edit
Differences ...
==== //depot/projects/davidxu_thread/src/sys/ia64/ia64/vm_machdep.c#6 (text+ko) ====
@@ -209,6 +209,13 @@
}
}
+void
+cpu_set_user_tls(struct thread *td, void *tls_base, size_t tls_size,
+ int tls_seg __unused)
+{
+ td->td_frame->tf_special.tp = (unsigned long)tls_base;
+}
+
/*
* Finish a fork operation, with process p2 nearly set up.
* Copy and update the pcb, set up the stack so that the child
==== //depot/projects/davidxu_thread/src/sys/powerpc/powerpc/vm_machdep.c#6 (text+ko) ====
@@ -354,3 +354,10 @@
td->td_retval[0] = (register_t)entry;
td->td_retval[1] = 0;
}
+
+void
+cpu_set_user_tls(struct thread *td, void *tls_base, size_t tls_size,
+ int tls_seg __unused)
+{
+ td->td_frame->fixreg[2] = (register_t)tls_base;
+}
==== //depot/projects/davidxu_thread/src/sys/sparc64/sparc64/vm_machdep.c#7 (text+ko) ====
@@ -183,6 +183,8 @@
struct trapframe *tf;
uint64_t sp;
+ if (td == curthread)
+ flushw();
tf = td->td_frame;
sp = (uint64_t)stack->ss_sp + stack->ss_size;
tf->tf_out[0] = (uint64_t)arg;
More information about the p4-projects
mailing list