Date: Tue, 26 Apr 2005 07:45:01 -0400 From: John Baldwin <jhb@FreeBSD.org> To: David Xu <davidxu@FreeBSD.org> Cc: Perforce Change Reviews <perforce@FreeBSD.org> Subject: Re: PERFORCE change 75366 for review Message-ID: <87f1dd37c46f5e61c68035b9989ae5b7@FreeBSD.org> In-Reply-To: <200504171042.j3HAgeTQ054345@repoman.freebsd.org> References: <200504171042.j3HAgeTQ054345@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Apr 17, 2005, at 6:42 AM, David Xu wrote: > http://perforce.freebsd.org/chv.cgi?CH=75366 > > Change 75366 by davidxu@davidxu_alona on 2005/04/17 10:42:05 > > Implement cpu_set_user_tls for sparc64. > > Affected files ... > > .. > //depot/projects/davidxu_thread/src/sys/sparc64/sparc64/vm_machdep.c#6 > edit > > Differences ... > > ==== > //depot/projects/davidxu_thread/src/sys/sparc64/sparc64/vm_machdep.c#6 > (text+ko) ==== > > @@ -194,6 +194,15 @@ > td->td_retval[1] = tf->tf_out[1]; > } > > +void > +cpu_set_user_tls(struct thread *td, void *tls_base, size_t tls_size, > + int tls_seg __unused) > +{ > + if (td == curthread) > + flushw(); > + td->td_frame->tf_global[7] = tls_base; > +} > + I think for at least this one and Alpha you might want a critical section in the curthread case like you do on i386 and amd64 since calling the Alpha PAL and setting tls_base + flushw() are more than one instruction long. -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?87f1dd37c46f5e61c68035b9989ae5b7>