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