Port-arm archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: TLS register access trapping failure on Orion
On Feb 14, 2012, at 2:10 AM, Reinoud Zandijk wrote:
>
> static __inline void *
> __lwp_getprivate_fast(void)
> {
> void *rv;
> __asm("mrc p15, 0, %0, c13, c0, 3" : "=r"(rv));
> __asm("cmp %0, #0" : "=r"(rv));
> __asm("mrceq p15, 0, %0, c13, c0, 1" : "=r"(rv));
> return rv;
> }
Alas, it's not that simple. You still to deal with setting the CONTEXT_ID
register in cpu_setprivate and saving/restoring it in cpu_switchto.
reg 3 is easy since it's only ARMV6 and above. reg 1 is a lot harder since
only some armv5 have it, but not all.
Home |
Main Index |
Thread Index |
Old Index