Thanks
I've noticed that bionic uses address 0xffff0ff0 to implement TLS in arm
But isn't this address a space of kernel? How can a user space program
access that address without a soft-interupt...

Or the memory map in arm is different from x86, so the high 1G mem is not
kernel used only?

On Wed, Aug 5, 2009 at 3:06 AM, David Turner <di...@android.com> wrote:

>
>
> On Tue, Aug 4, 2009 at 12:24 PM, Neo <zingafri...@yahoo.com> wrote:
>
>>
>>
>>
>> On Aug 4, 8:17 am, Ouyang Jiannan <jallen....@gmail.com> wrote:
>> > hi, everyone,
>> > In bionic/libc/Android.mk we can see that
>> > x86 uses files pthread.c, pthread-timers.c ptrace.c and __get_tls.c
>> > in arm, it uses pthread.c.arm , pthread-timers.c.arm, ptrace.c.arm
>> > But I can't find these files or places which generate it
>> >
>> > So what's the arm support of TLS? Is there a reg uses as gs in x86 as a
>> > pointer to tls?
>>
>> TLS is not supported in android though it is present in armv6 and
>> later.
>
>
> TLS is supported in Android (there wouldn't be any pthread implementation
> anyway).
>
> The current ARM implementation doesn't use an ARMv6-specific register but
> instead
> relies on a small kernel trick (which updates a very specific user virtual
> address on each
> context switch instead).
>
>
>>
>>
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---

Reply via email to