Rev 2465 | Rev 2479 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2465 | Rev 2468 | ||
---|---|---|---|
Line 58... | Line 58... | ||
58 | * |
58 | * |
59 | * @param tcb TCB (TLS starts behind) |
59 | * @param tcb TCB (TLS starts behind) |
60 | */ |
60 | */ |
61 | static inline void __tcb_set(tcb_t *tcb) |
61 | static inline void __tcb_set(tcb_t *tcb) |
62 | { |
62 | { |
63 | void *tls = (void *)tcb; |
63 | void *tls = (void *) tcb; |
64 | tls += sizeof(tcb_t) + ARM_TP_OFFSET; |
64 | tls += sizeof(tcb_t) + ARM_TP_OFFSET; |
65 | asm volatile ( |
65 | asm volatile ( |
66 | "mov r9, %0" |
66 | "mov r9, %0" |
67 | : |
67 | : |
68 | : "r"(tls) |
68 | : "r"(tls) |
Line 79... | Line 79... | ||
79 | void *ret; |
79 | void *ret; |
80 | asm volatile ( |
80 | asm volatile ( |
81 | "mov %0, r9" |
81 | "mov %0, r9" |
82 | : "=r"(ret) |
82 | : "=r"(ret) |
83 | ); |
83 | ); |
84 | return (tcb_t *)(ret - ARM_TP_OFFSET - sizeof(tcb_t)); |
84 | return (tcb_t *) (ret - ARM_TP_OFFSET - sizeof(tcb_t)); |
85 | } |
85 | } |
86 | 86 | ||
87 | 87 | ||
88 | /** Returns TLS address stored. |
88 | /** Returns TLS address stored. |
89 | * |
89 | * |