diff options
author | Chris Zankel <chris@zankel.net> | 2013-02-23 19:35:57 -0800 |
---|---|---|
committer | Chris Zankel <chris@zankel.net> | 2013-02-23 19:35:57 -0800 |
commit | c50842df47970eab459f13490c152aac85fc02f2 (patch) | |
tree | d2933b4d9641067002ba6d662b0abf6ee3011375 /arch/xtensa/include/asm/ptrace.h | |
parent | b0c438e642699f8c47b84de957f30cf586cdbebd (diff) | |
download | linux-c50842df47970eab459f13490c152aac85fc02f2.tar.gz linux-c50842df47970eab459f13490c152aac85fc02f2.tar.bz2 linux-c50842df47970eab459f13490c152aac85fc02f2.zip |
xtensa: add support for TLS
The Xtensa architecture provides a global register called THREADPTR
for the purpose of Thread Local Storage (TLS) support. This allows us
to use a fairly simple implementation, keeping the thread pointer in
the regset and simply saving and restoring it upon entering/exiting
the from user space.
Signed-off-by: Chris Zankel <chris@zankel.net>
Diffstat (limited to 'arch/xtensa/include/asm/ptrace.h')
-rw-r--r-- | arch/xtensa/include/asm/ptrace.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/xtensa/include/asm/ptrace.h b/arch/xtensa/include/asm/ptrace.h index 682b1deac1f2..81f31bc9dde0 100644 --- a/arch/xtensa/include/asm/ptrace.h +++ b/arch/xtensa/include/asm/ptrace.h @@ -38,6 +38,7 @@ struct pt_regs { unsigned long syscall; /* 56 */ unsigned long icountlevel; /* 60 */ unsigned long scompare1; /* 64 */ + unsigned long threadptr; /* 68 */ /* Additional configurable registers that are used by the compiler. */ xtregs_opt_t xtregs_opt; @@ -48,7 +49,7 @@ struct pt_regs { /* current register frame. * Note: The ESF for kernel exceptions ends after 16 registers! */ - unsigned long areg[16]; /* 128 (64) */ + unsigned long areg[16]; }; #include <variant/core.h> |