Date: Tue, 28 Dec 2010 10:16:51 -0700 From: Warner Losh <imp@bsdimp.com> To: freebsd-mips@freebsd.org Subject: Re: [PATCH] Retrieval of TLS pointer via RDHWR Message-ID: <4D1A1B83.5070602@bsdimp.com> In-Reply-To: <AANLkTi=nyXw3Tw-BnhAMwob4yP0-TSxeh5f_wEjtEfQ9@mail.gmail.com> References: <AANLkTimg3CUk0p8YPyepiumEHvKo2F6jdVA0=1CefYrQ@mail.gmail.com> <AANLkTikxHUj%2BGe3YyJOWMQne31D=uY_712Qveq=Dmh2A@mail.gmail.com> <AANLkTimyqAWFo5Ddd8_UAL654iGquCMnEjFETUnsFdxO@mail.gmail.com> <AANLkTi=nyXw3Tw-BnhAMwob4yP0-TSxeh5f_wEjtEfQ9@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 12/28/2010 04:36, Robert Millan wrote: > Not interested? > > Note this might become mandatory if you ever want to compile > code that uses TLS with recent GCC. > > In any case, when executed natively, rdhwr is a speed-up > compared to a sysarch() call. Actually, am interested in this, but have been swamped with other things... The code looks good, and we should definitely move in this direction. Warner > 2010/12/9 Robert Millan<rmh@debian.org>: >> 2010/12/9 Jayachandran C.<jchandra@freebsd.org>: >>> I'm not sure that the freebsd mips toolchain supports the __thread >>> directive yet. Were you able to test this from C? >> Yes, but not via __thread. I wrote a small program that sets >> the TLS pointer to an arbitrary value (via MIPS_SET_TLS), >> then issued rdhwr instruction using C inline assembly, and >> finally verified that both values are the same. >> >> (the toolchain I'm using doesn't support __thread either, >> but I submit this patch with the expectation that it can be >> useful later on) >> >> -- >> Robert Millan >> > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D1A1B83.5070602>