Rename vcore-tls.{h,c} to tls.{h,c}
authorKevin Klues <klueska@cs.berkeley.edu>
Sat, 18 Jul 2015 16:26:06 +0000 (09:26 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 22 Jul 2015 15:09:03 +0000 (11:09 -0400)
TLS operations are not just for vcores anymore (and haven't been fore a
very long time).

[brho: fixed the #define name for sys/tls.h ]

tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/Makefile
tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/init.c
tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/sys/tls.h [new file with mode: 0644]
tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/sys/vcore-tls.h [deleted file]
tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/tls.c [new file with mode: 0644]
tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/vcore-tls.c [deleted file]
user/parlib/include/riscv/vcore.h
user/parlib/include/x86/vcore32.h
user/parlib/include/x86/vcore64.h

index 8d6fc91..9da83a4 100644 (file)
@@ -16,7 +16,7 @@ CFLAGS-funlockfile.c = $(libio-mtsafe)
 ifeq ($(subdir),socket)
 sysdep_routines += sa_len plan9_sockets
 endif
-sysdep_headers += sys/syscall.h sys/vcore-tls.h
+sysdep_headers += sys/syscall.h sys/tls.h
 
 # We don't have the resolv subdir, but we still want parts of it.  Since we
 # lack the subdir, we need to include the C files and headers manually.
index 7637342..61a74b6 100644 (file)
@@ -5,7 +5,7 @@
 #include <ros/syscall.h>
 #include <ros/procinfo.h>
 #include <unistd.h>
-#include <vcore-tls.c>
+#include <tls.c>
 #include <ctype.h>
 
 __thread int __vcoreid = 0;
diff --git a/tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/sys/tls.h b/tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/sys/tls.h
new file mode 100644 (file)
index 0000000..5eb0776
--- /dev/null
@@ -0,0 +1,25 @@
+/* Copyright (c) 2012 The Regents of the University of California
+ * Andrew Waterman <waterman@cs.berkeley.edu>
+ * See LICENSE for details.
+ *
+ * glibc syscall functions / tools for working with Akaros */
+
+#ifndef _GLIBC_AKAROS_SYS_TLS_H
+#define _GLIBC_AKAROS_SYS_TLS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void set_tls_desc(void* addr);
+void *get_tls_desc(void);
+
+void *allocate_tls(void);
+void free_tls(void *tcb);
+void *reinit_tls(void *tcb);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _GLIBC_AKAROS_SYS_TLS_H */
diff --git a/tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/sys/vcore-tls.h b/tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/sys/vcore-tls.h
deleted file mode 100644 (file)
index c74909f..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright (c) 2012 The Regents of the University of California
- * Andrew Waterman <waterman@cs.berkeley.edu>
- * See LICENSE for details.
- *
- * glibc syscall functions / tools for working with Akaros */
-
-#ifndef _GLIBC_AKAROS_VCORE_TLS_H
-#define _GLIBC_AKAROS_VCORE_TLS_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void set_tls_desc(void* addr);
-void *get_tls_desc(void);
-
-void *allocate_tls(void);
-void free_tls(void *tcb);
-void *reinit_tls(void *tcb);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _GLIBC_AKAROS_SYSCALL_H */
diff --git a/tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/tls.c b/tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/tls.c
new file mode 100644 (file)
index 0000000..831b217
--- /dev/null
@@ -0,0 +1,49 @@
+#include <sys/tls.h>
+#include <parlib/vcore.h>
+#include <ldsodefs.h>
+
+void set_tls_desc(void* addr)
+{
+       __set_tls_desc(addr);
+}
+
+void *get_tls_desc(void)
+{
+       return __get_tls_desc();
+}
+
+/* Get a TLS, returns 0 on failure.  Vcores have their own TLS, and any thread
+ * created by a user-level scheduler needs to create a TLS as well. */
+void *allocate_tls(void)
+{
+       void *tcb = _dl_allocate_tls(NULL);
+       if (!tcb)
+               return 0;
+#ifdef TLS_TCB_AT_TP
+       /* Make sure the TLS is set up properly - its tcb pointer points to itself.
+        * Keep this in sync with sysdeps/akaros/XXX/tls.h.  For whatever reason,
+        * dynamically linked programs do not need this to be redone, but statics
+        * do. */
+       tcbhead_t *head = (tcbhead_t*)tcb;
+       head->tcb = tcb;
+       head->self = tcb;
+#endif
+       return tcb;
+}
+
+/* Free a previously allocated TLS region */
+void free_tls(void *tcb)
+{
+       _dl_deallocate_tls(tcb, TRUE);
+}
+
+/* Reinitialize / reset / refresh a TLS to its initial values.  This doesn't do
+ * it properly yet, it merely frees and re-allocates the TLS, which is why we're
+ * slightly ghetto and return the pointer you should use for the TCB. */
+void *reinit_tls(void *tcb)
+{
+       /* TODO: keep this in sync with the methods used in
+        * allocate_transition_tls() */
+       free_tls(tcb);
+       return allocate_tls();
+}
diff --git a/tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/vcore-tls.c b/tools/compilers/gcc-glibc/glibc-2.19-akaros/sysdeps/akaros/vcore-tls.c
deleted file mode 100644 (file)
index 96725cc..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#include <sys/vcore-tls.h>
-#include <parlib/vcore.h>
-#include <ldsodefs.h>
-
-void set_tls_desc(void* addr)
-{
-       __set_tls_desc(addr);
-}
-
-void *get_tls_desc(void)
-{
-       return __get_tls_desc();
-}
-
-/* Get a TLS, returns 0 on failure.  Vcores have their own TLS, and any thread
- * created by a user-level scheduler needs to create a TLS as well. */
-void *allocate_tls(void)
-{
-       void *tcb = _dl_allocate_tls(NULL);
-       if (!tcb)
-               return 0;
-#ifdef TLS_TCB_AT_TP
-       /* Make sure the TLS is set up properly - its tcb pointer points to itself.
-        * Keep this in sync with sysdeps/akaros/XXX/tls.h.  For whatever reason,
-        * dynamically linked programs do not need this to be redone, but statics
-        * do. */
-       tcbhead_t *head = (tcbhead_t*)tcb;
-       head->tcb = tcb;
-       head->self = tcb;
-#endif
-       return tcb;
-}
-
-/* Free a previously allocated TLS region */
-void free_tls(void *tcb)
-{
-       _dl_deallocate_tls(tcb, TRUE);
-}
-
-/* Reinitialize / reset / refresh a TLS to its initial values.  This doesn't do
- * it properly yet, it merely frees and re-allocates the TLS, which is why we're
- * slightly ghetto and return the pointer you should use for the TCB. */
-void *reinit_tls(void *tcb)
-{
-       /* TODO: keep this in sync with the methods used in
-        * allocate_transition_tls() */
-       free_tls(tcb);
-       return allocate_tls();
-}
index b085375..52748aa 100644 (file)
@@ -7,7 +7,7 @@
 #include <ros/syscall.h>
 #include <ros/procdata.h>
 #include <assert.h>
-#include <sys/vcore-tls.h>
+#include <sys/tls.h>
 
 __BEGIN_DECLS
 
index 112a2a2..9d17509 100644 (file)
@@ -10,7 +10,7 @@
 #include <ros/procdata.h>
 #include <ros/syscall.h>
 #include <ros/arch/mmu.h>
-#include <sys/vcore-tls.h>
+#include <sys/tls.h>
 
 __BEGIN_DECLS
 
index e9356b9..51bdc39 100644 (file)
@@ -10,7 +10,7 @@
 #include <ros/procdata.h>
 #include <ros/syscall.h>
 #include <ros/arch/mmu.h>
-#include <sys/vcore-tls.h>
+#include <sys/tls.h>
 
 __BEGIN_DECLS