Chris Copeland
e4a801af20
rename variables in tls example
2024-05-14 01:41:09 -07:00
Chris Copeland
65133cf1ba
make sleep example forgiving by 1 tick
2024-05-08 00:31:11 -07:00
Chris Copeland
b716b23be0
rename variables in tls example to avoid collision with a built-in function
2024-05-05 13:20:31 -07:00
Chris Copeland
3ef8529212
change tls example to always run even when tls is disabled
2024-05-05 01:04:15 -07:00
Chris Copeland
eb480fb90f
fix examples/SConscript check for tls
2024-05-04 19:47:22 -07:00
Chris Copeland
e23d0759fe
only build tls example if enabled
2024-04-29 09:31:29 -07:00
Chris Copeland
06cacd01ee
add thread-local storage support for arm
2024-04-27 01:23:37 -07:00
Chris Copeland
7e225ba2df
fix clippy lints
2024-04-01 00:02:07 -07:00
Chris Copeland
67d3ef07f2
remove sem.h include from mutex.h
...
add missing sem.h includes
2024-03-14 03:18:25 -07:00
Chris Copeland
7d0353b1d7
pass synchronous syscall arguments in registers
...
rt_syscall_op -> rt_syscall
split the syscall enum between synchronous and asynchronous syscalls
add explicit YIELD syscall enum
split blocking states by sem vs. mutex to simplify donation and timeouts
2024-03-08 00:28:27 -08:00
Chris Copeland
8845d8d1b6
refactor ready list management and make lower priority numbers higher priority
2024-02-24 03:37:52 -08:00
Chris Copeland
fe61771778
use a normal binary semaphore for cond to allow a signal that happens before a cond_wait but after a condition check to be received
2023-12-10 22:28:29 -08:00
Chris Copeland
c34dc16b1c
add mutex fairness example
2023-12-09 15:06:23 -08:00
Chris Copeland
072bd60486
run cycle examples in a loop
2023-11-26 23:02:13 -08:00
Chris Copeland
313bda2380
rework rwlock and add {try,timed}{rd,wr}lock add {rd,wr}unlock
2023-10-29 07:04:51 -07:00
Chris Copeland
f9f8a30bd0
update rust donate example
2023-10-22 12:09:07 -07:00
Chris Copeland
812117ff49
add recursive mutexes
2023-10-17 23:03:54 -07:00
Chris Copeland
426d1948a0
use larger stack in some examples
2023-10-14 17:14:34 -07:00
Chris Copeland
d8182e4f1c
clean up comments, use #pragma once everywhere
2023-10-14 13:50:37 -07:00
Chris Copeland
c4abb96de1
refactor MPU interface, simplify start and unify creation of idle task
2023-10-10 23:09:58 -07:00
Chris Copeland
0b2ba56d57
use rt_task_ready in task constructors, and use __COUNTER__ for the constructor priority
2023-10-06 00:14:27 -07:00
Chris Copeland
ea7b8d54b1
add RT_STACK_FP_MIN and use it in examples/float.c
2023-09-23 18:13:31 -07:00
Chris Copeland
598d9759c7
implement lazy enable fp for cortex r
2023-09-22 09:05:42 -07:00
Chris Copeland
7941dbbfdb
use atomics instead of volatile in once and queue examples
2023-09-09 11:09:36 -07:00
Chris Copeland
03319a1c89
RT_TASK_STATIC* -> RT_TASK*
2023-08-24 08:46:43 -07:00
Chris Copeland
fe677a7f43
remove main from examples and use constructors for task creation
2023-08-21 20:50:16 -07:00
Chris Copeland
aa4705fd96
add RT_TASK_STATIC* and use it in examples
2023-08-19 16:32:19 -07:00
Chris Copeland
13208548e8
use [0,n) in remaining examples
2023-07-30 18:46:01 -07:00
Chris Copeland
0f7b0c43dc
remove temporary from water example
2023-07-29 23:47:28 -07:00
Chris Copeland
92527b7eb6
use 0 <= i < n in notify example
2023-07-29 17:59:32 -07:00
Chris Copeland
11f7652c58
move sleep functions into task.h and rename them to rt_task_sleep*
2023-07-26 23:40:58 -07:00
Chris Copeland
6c81213592
change rwlock interface to align with pthreads
2023-07-25 23:32:13 -07:00
Chris Copeland
e32f64b784
add static back to newtask.c example
2023-07-16 15:39:45 -07:00
Chris Copeland
e56284bb3e
reduce the number of tasks in rwlock and queue examples
2023-07-15 17:37:23 -07:00
Chris Copeland
feb753cd87
don't use static within RT_STACK
2023-07-15 17:11:10 -07:00
Chris Copeland
04b39f9cfb
add support for privileged MPU regions for the kernel's global data structures
2023-07-15 16:12:30 -07:00
Chris Copeland
65ea96c68e
rename rt_once to rt_once_call
2023-07-08 23:30:03 -07:00
Chris Copeland
1db0b30040
rename rt_notify to rt_notify_post
2023-07-08 23:29:40 -07:00
Chris Copeland
3e289cad6d
use unsigned in rwlock example
2023-07-07 01:09:05 -07:00
Chris Copeland
ed1ac68cf1
use unsigned in mutex example
2023-07-07 00:30:01 -07:00
Chris Copeland
7aad1ad390
fix conversion issue in queue example
2023-07-04 12:43:58 -07:00
Chris Copeland
d2339aeebe
reorder arguments of rt_notify*clear
2023-07-04 12:42:02 -07:00
Chris Copeland
2f03a83d7d
remove extraneous rt_notify declaration in example
2023-07-04 12:40:18 -07:00
Chris Copeland
e4bbaec51e
enforce that un-donation happens before unlock for timedlock
2023-07-04 07:25:00 -07:00
Chris Copeland
52e5d0d0ae
add timedlock to donate example
2023-07-03 23:49:36 -07:00
Chris Copeland
a4a9f3f90c
change timings of cycle/mutex example
2023-07-03 22:23:19 -07:00
Chris Copeland
6f622c0cae
add all examples to test.bash, add timeout to float.c
2023-07-02 13:45:23 -07:00
Chris Copeland
cab5351699
remove extra functions from list.c and list examples
2023-07-02 13:45:00 -07:00
Chris Copeland
c3f2171891
implement priority donation for mutexes
...
add timeout to mutex example
add cycle/mutex example
add donate example
2023-07-02 11:43:54 -07:00
Chris Copeland
77dbff2d7f
clean up includes, rename cond fields
2023-06-28 00:11:10 -07:00