summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2015-11-24 20:27:09 -0600
committerPatrick Williams <iawillia@us.ibm.com>2015-12-11 15:30:27 -0600
commitd0edb877c861c146e97745604a2d1933a4844130 (patch)
tree91115d61a0d3faf8d131c49ac7a3b704ec3cb95c /src/include
parent105660534e02cb3223dcba7d4f7d6a1ad0433317 (diff)
downloadtalos-hostboot-d0edb877c861c146e97745604a2d1933a4844130.tar.gz
talos-hostboot-d0edb877c861c146e97745604a2d1933a4844130.zip
libc support for thread-local storage
RTC: 124148 Change-Id: I055885bc7d7cfc4ebd7cf1a662f677bdf4e28c62 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/22313 Tested-by: Jenkins Server Reviewed-by: Richard J. Knight <rjknight@us.ibm.com> Reviewed-by: Brian Silver <bsilver@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/kernel/ppcconsts.S6
-rw-r--r--src/include/kernel/task.H6
-rw-r--r--src/include/sys/vfs.h4
3 files changed, 14 insertions, 2 deletions
diff --git a/src/include/kernel/ppcconsts.S b/src/include/kernel/ppcconsts.S
index b58d41e65..6da85a9b2 100644
--- a/src/include/kernel/ppcconsts.S
+++ b/src/include/kernel/ppcconsts.S
@@ -5,7 +5,9 @@
#
# OpenPOWER HostBoot Project
#
-# COPYRIGHT International Business Machines Corp. 2010,2014
+# Contributors Listed Below - COPYRIGHT 2010,2015
+# [+] International Business Machines Corp.
+#
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -245,6 +247,8 @@
.set TASK_FPR_31, TASK_FPR_30+8
.set TASK_FPSCR, TASK_FPR_31+8
+.set TASK_TLS_CONTEXT, TASK_FP_CONTEXT+8
+
.set CPU_KERNEL_STACK, 0
.set CPU_KERNEL_STACK_BOTTOM, CPU_KERNEL_STACK+8
.set CPU_CPUID, CPU_KERNEL_STACK_BOTTOM+8
diff --git a/src/include/kernel/task.H b/src/include/kernel/task.H
index 47f143d77..0981dc3ab 100644
--- a/src/include/kernel/task.H
+++ b/src/include/kernel/task.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2010,2014 */
+/* Contributors Listed Below - COPYRIGHT 2010,2015 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -93,6 +95,8 @@ struct task_t
context_t context;
/** Pointer to optional floating point context. */
context_fp_t* fp_context;
+ /** Thread-local-storage area for userspace. */
+ void* tls_context;
/** Task ID */
tid_t tid;
diff --git a/src/include/sys/vfs.h b/src/include/sys/vfs.h
index 0d496243f..7bbe73e30 100644
--- a/src/include/sys/vfs.h
+++ b/src/include/sys/vfs.h
@@ -97,6 +97,10 @@ extern VfsSystemModule VFS_MODULES[VFS_MODULE_MAX];
extern uint64_t VFS_LAST_ADDRESS;
+// Offset for TLS "dtv-relative displacement".
+// See http://www.uclibc.org/docs/tls-ppc64.txt
+#define VFS_PPC64_DTPREL_OFFSET 0x8000
+
#ifdef __cplusplus
}
#endif
OpenPOWER on IntegriCloud