kernel: add common bits to support TLS

This adds the common struct fields and functions to support
the implementation of thread local storage in individual
architecture. This uses the thread stack to store TLS data.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
diff --git a/kernel/include/kernel_offsets.h b/kernel/include/kernel_offsets.h
index 1978d04..aa07eb2 100644
--- a/kernel/include/kernel_offsets.h
+++ b/kernel/include/kernel_offsets.h
@@ -77,6 +77,10 @@
 GEN_OFFSET_SYM(_thread_t, custom_data);
 #endif
 
+#ifdef CONFIG_THREAD_LOCAL_STORAGE
+GEN_OFFSET_SYM(_thread_t, tls);
+#endif
+
 GEN_ABSOLUTE_SYM(K_THREAD_SIZEOF, sizeof(struct k_thread));
 
 /* size of the device structure. Used by linker scripts */