12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #ifndef ZEPHYR_KERNEL_INCLUDE_KERNEL_TLS_H_
- #define ZEPHYR_KERNEL_INCLUDE_KERNEL_TLS_H_
- #include <linker/linker-defs.h>
- static inline size_t z_tls_data_size(void)
- {
- size_t tdata_size = ROUND_UP(__tdata_size, __tdata_align);
- size_t tbss_size = ROUND_UP(__tbss_size, __tbss_align);
- return tdata_size + tbss_size;
- }
- static inline void z_tls_copy(char *dest)
- {
- size_t tdata_size = (size_t)__tdata_size;
- size_t tbss_size = (size_t)__tbss_size;
-
- memcpy(dest, __tdata_start, tdata_size);
-
- dest += ROUND_UP(tdata_size, __tdata_align);
- memset(dest, 0, tbss_size);
- }
- #endif
|