Commit Graph

754 Commits

Author SHA1 Message Date
Chris Copeland b0426a0d68
add rt_tick_elapse and use it in cond.c and rwlock.c 2024-04-19 06:32:46 -07:00
Chris Copeland c2bab5d767
add vim syntax comment to rt/arch/pseudo.S 2024-04-18 23:53:01 -07:00
Chris Copeland 6d6f9722b7
use rt/arch/profile.h in arch/arm/syscall.S 2024-04-18 23:50:56 -07:00
Chris Copeland 9ac6a3f33e
add rt/arch/cpsr.h 2024-04-18 23:42:51 -07:00
Chris Copeland 6d981b2b79
avoid extra load and eliminate stack usage in rt_task_sleep_periodic 2024-04-18 21:12:16 -07:00
Chris Copeland 53c48701dd
fix rt_mutex_timedlock and rt_sem_timedwait with 0 timeout 2024-04-18 21:06:08 -07:00
Chris Copeland bfb77a07b3
add clang-tidy to Dockerfiles 2024-04-16 06:46:25 -07:00
Chris Copeland 1ca0a83ebb
bump rust package version to 0.2.0 2024-04-14 17:17:24 -07:00
Chris Copeland 4b18d53d7a
rename rust rt::sync::Semaphore to rt::sync::Sem 2024-04-14 17:16:53 -07:00
Chris Copeland 9ba2ebb196
add task stack testing with ldrt to supported arm configs 2024-04-14 01:09:02 -07:00
Chris Copeland 0f29c9ae9a
clean up type conversion/limits issues in armv7 mpu 2024-04-14 00:46:56 -07:00
Chris Copeland 634a007749
rustfmt 2024-04-01 00:07:32 -07:00
Chris Copeland 0c741c117c
bump rust package version to 0.1.2 2024-04-01 00:02:07 -07:00
Chris Copeland 7e225ba2df
fix clippy lints 2024-04-01 00:02:07 -07:00
Chris Copeland b9957f0957
remove rt_mutex_holder, avoid priority donation to an interrupt 2024-03-31 22:42:54 -07:00
Chris Copeland 5d9816bd4a
simplify LOCK and TIMEDLOCK syscalls to not also call wake_mutex_waiter
make interrupts use a specific holder value when acquiring a mutex
2024-03-31 18:36:20 -07:00
Chris Copeland b08e976788
change rust condvar sem max value to match C 2024-03-31 18:36:20 -07:00
Chris Copeland 0140bb11f3
remove bool combinators from queue.rs 2024-03-31 18:36:20 -07:00
Chris Copeland 33ca1b7e83
fix rust mutex guards in fallible acquire functions 2024-03-31 18:36:20 -07:00
Chris Copeland ec1e67c984
word wrap rust/test.bash 2024-03-28 22:55:48 -07:00
Chris Copeland 20b9d8859b
remove extraneous brackets in TEST_INIT.call_once 2024-03-28 22:54:08 -07:00
Chris Copeland 3814e430bc
remove extraneous export of bindings::rt_syscall_record 2024-03-28 20:44:05 -07:00
Chris Copeland 09c03229c7
bump rust package version to 0.1.1 2024-03-27 02:07:21 -07:00
Chris Copeland 35a58297dd
add cargo features for each of the arm/ar interrupt controllers 2024-03-27 01:49:49 -07:00
Chris Copeland 1a2e750313
reduce scope of unsafe in rust task constructor 2024-03-26 23:07:50 -07:00
Chris Copeland 4fb87ce26d
put rust task stacks in the .stack section on none targets 2024-03-26 22:40:41 -07:00
Chris Copeland da97fc9bd8
make rust Task not a static mut anymore 2024-03-26 22:40:10 -07:00
Chris Copeland 98d60a504b
yield_ -> yield_now 2024-03-26 22:28:50 -07:00
Chris Copeland 46e42e468a
use cast, cast_const, and cast_mut instead of as * 2024-03-26 22:02:12 -07:00
Chris Copeland 91f347b05a
bump rust package version to 0.1.0 2024-03-26 09:52:30 -07:00
Chris Copeland b9b6bcd6fc
update task.rs to remove references to static mut 2024-03-26 09:49:44 -07:00
Chris Copeland 6beea0defb
update queue.rs to remove references to static mut 2024-03-26 09:49:25 -07:00
Chris Copeland e94e61acd8
update msrv to 1.76.0 and use core::ptr::from_ref where possible 2024-03-26 09:49:19 -07:00
Chris Copeland b731a2e3f8
remove unnecessary barriers in hercules/vic.S, add comments 2024-03-25 09:39:48 -07:00
Chris Copeland 33b25314c9
literal -> imm 2024-03-23 05:53:34 -07:00
Chris Copeland 2198588dc1
use irqvec offset immediate in sitara/vim inline assembly 2024-03-23 05:52:48 -07:00
Chris Copeland cb08c2e8e3
remove unnecessary barriers in sitara/vim/vic.S, add comments 2024-03-23 05:51:38 -07:00
Chris Copeland 43f6125f17
fix RT_SYSCALL_EXIT after ready list refactor
previously exit implicitly made the task not runnable just by changing
its state, but now that active tasks remain in the ready list, an
exiting task must be explicitly removed
2024-03-22 10:36:48 -07:00
Chris Copeland da2682b51f
update vic.S to include isb and more detailed comments
remove dsb from hercules/vic.S for the syscall irq
2024-03-22 10:33:17 -07:00
Chris Copeland 24d9525447
run tests in parallel 2024-03-19 21:12:54 -07:00
Chris Copeland ae18c72704
update arm/m syscall sequences to use pseudo.S
shorten armv6m/v8m.base MPU sequence using stmia
2024-03-19 00:43:39 -07:00
Chris Copeland ace7733ebd
consolidate cbz/cbnz macros to pseudo.S 2024-03-19 00:20:50 -07:00
Chris Copeland bf750c75f6
add pseudo.S with mov32 macro and use it instead of ldr rN, =sym 2024-03-19 00:20:50 -07:00
Chris Copeland 3238b31a92
remove mask in armv8m.base mpu assembly region number 2024-03-19 00:20:19 -07:00
Chris Copeland 35779d9799
let the default STACK CACHE MPU attribute for armv7 be overridden 2024-03-17 04:42:59 -07:00
Chris Copeland 3cbea40dbd
refactor mpu.h some more and rename RT_MPU_ENABLE to RT_MPU_TASK_REGIONS_ENABLE 2024-03-17 02:45:13 -07:00
Chris Copeland e823dc524b
remove unnecessary store to IRQVEC in sitara/vim vic_svc_finish 2024-03-17 02:35:13 -07:00
Chris Copeland d4e2a50c73
refactor mpu.h so that rt/arch/mpu.h can be used directly 2024-03-17 02:35:13 -07:00
Chris Copeland bb0f25cf7f
add more comments to wake_mutex_waiter 2024-03-14 03:18:40 -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