zephyr/lib/os
Wentong Wu 715369350d lib: os: add sys_sem data type
For systems with userspace, the sys_sem exist in user memory working
as counter semaphore for user mode thread. The implemention of sys_sem
is based on k_futex. And the majority of the synchronization operations
are performed in user mode to reduce the calling of system call.
And for systems without userspace enabled, sys_sem behaves like k_sem.

Fixes: #15139.

Signed-off-by: Wentong Wu <wentong.wu@intel.com>
2019-07-24 10:12:25 -07:00
..
CMakeLists.txt lib: os: add sys_sem data type 2019-07-24 10:12:25 -07:00
Kconfig lib: flatten all loose components into one lib 2019-01-22 07:45:22 -05:00
assert.c assert: generate oops if invoked from usermode 2019-07-20 08:29:39 -04:00
base64.c cleanup: include/: move base64.h to sys/base64.h 2019-06-27 22:55:49 -04:00
crc7_sw.c cleanup: include/: move crc.h to sys/crc.h 2019-06-27 22:55:49 -04:00
crc8_sw.c cleanup: include/: move crc.h to sys/crc.h 2019-06-27 22:55:49 -04:00
crc16_sw.c cleanup: include/: move crc.h to sys/crc.h 2019-06-27 22:55:49 -04:00
crc32_sw.c cleanup: include/: move crc.h to sys/crc.h 2019-06-27 22:55:49 -04:00
fdtable.c cleanup: include/: move misc/speculation.h to sys/speculation.h 2019-06-27 22:55:49 -04:00
hex.c kernel: lib: Add convert functions for hex strings and binary arrays 2019-07-16 12:44:18 +02:00
json.c cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
mempool.c mempool: significant reduction of memory waste 2019-07-16 14:21:21 -07:00
mutex.c cleanup: include/: move misc/mutex.h to sys/mutex.h 2019-06-27 22:55:49 -04:00
printk.c lib: os: exclude z_arch_printk_char_out() 2019-06-28 20:04:29 -07:00
rb.c cleanup: include/: move misc/rb.h to sys/rb.h 2019-06-27 22:55:49 -04:00
ring_buffer.c cleanup: include/: move ring_buffer.h to sys/ring_buffer.h 2019-06-27 22:55:49 -04:00
sem.c lib: os: add sys_sem data type 2019-07-24 10:12:25 -07:00
thread_entry.c lib: os: remove dead code 2019-06-18 09:08:01 -04:00
timeutil.c sys: timeutil: add module 2019-07-17 14:04:44 +02:00
work_q.c lib: flatten all loose components into one lib 2019-01-22 07:45:22 -05:00