Chris Copeland
ad24bc930c
bump rust package version to 0.3.0
...
update bindgen to 0.69
2024-05-16 01:47:04 -07:00
Chris Copeland
51b29dabde
improvements to arch/signal
...
use mmap for stacks
split up main into different steps
add SA_RESTART to sigaction flags
2024-05-16 01:39:55 -07:00
Chris Copeland
c1d56c6c6d
fix condvar initialization in rust barrier and rwlock
2024-05-13 01:07:07 -07:00
Chris Copeland
5d417de3bd
get arch/signal rt_trap to work in the debugger
...
make test scripts exit with failure if any tests failed
2024-05-13 00:00:08 -07:00
Chris Copeland
0ad0bd508b
remove trap statement from test scripts
2024-05-05 17:22:36 -07:00
Chris Copeland
32774b0158
arch/signal with aarch64 and x86_64 on Linux and macOS
2024-05-04 20:24:32 -07:00
Chris Copeland
83e223cdf4
make rust task stacks aligned to 16 bytes
2024-05-02 10:31:52 -07:00
Chris Copeland
b1652ca4d6
add #[repr(transparent)] where applicable
2024-04-20 00:29:31 -07:00
Chris Copeland
8170a8484c
only look at rust arm/ar features if the target is arm
2024-04-19 23:33:09 -07:00
Chris Copeland
bfb77a07b3
add clang-tidy to Dockerfiles
2024-04-16 06:46:25 -07:00
Chris Copeland
4b18d53d7a
rename rust rt::sync::Semaphore to rt::sync::Sem
2024-04-14 17:16:53 -07:00
Chris Copeland
634a007749
rustfmt
2024-04-01 00:07:32 -07:00
Chris Copeland
7e225ba2df
fix clippy lints
2024-04-01 00:02:07 -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
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
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
24d9525447
run tests in parallel
2024-03-19 21:12:54 -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
82d9af898e
remove RT_SYSCALL_TASK_READY
...
have rust's task init add directly to ready lists, which themselves don't need a constructor anymore
2024-03-03 18:18:47 -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
4e080c271a
use core::mem::zeroed where possible and update msrv to 1.75.0
2023-12-29 01:27:30 -08:00
Chris Copeland
b40b253e74
clean up lib.rs
2023-12-19 00:00:57 -08:00
Chris Copeland
0fda9abfaf
add support for arm A-profile
...
add support for the intc from the sitara am335x
refactor arm port to move more headers into rt/arch/
add rt/arch/profile.h
2023-11-26 18:17:37 -08:00
Chris Copeland
783dda62ff
use then and then_some in rust interfaces
2023-10-29 11:14:30 -07: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
4192c24579
rwlock.m -> rwlock.mutex
2023-10-28 12:30:10 -07:00
Chris Copeland
edd070fc14
cargo fmt
2023-10-25 00:37:24 -07:00
Chris Copeland
520c28fb38
fix rust mutex test
2023-10-22 12:13:05 -07:00
Chris Copeland
f9f8a30bd0
update rust donate example
2023-10-22 12:09:07 -07:00
Chris Copeland
eebe9b3af5
add missing level initializer to mutex in rust
2023-10-22 11:58:52 -07:00
Chris Copeland
d8182e4f1c
clean up comments, use #pragma once everywhere
2023-10-14 13:50:37 -07:00
Chris Copeland
e2d4cb6c63
add rt_syscall_pend to rust task init, rustfmt
2023-10-10 23:52:42 -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
092ced3ecf
fix rust notify initialization and test
2023-10-10 23:09:50 -07:00
Chris Copeland
598d9759c7
implement lazy enable fp for cortex r
2023-09-22 09:05:42 -07:00
Chris Copeland
778399d0d3
refactor rt_syscall and rt_syscall_pend
...
make rt_syscall_pend work from interrupts and rt_syscall work from tasks
remove old rt_syscall_pend that works from both
rename enum rt_syscall to enum rt_syscall_op
2023-09-19 23:19:33 -07:00
Chris Copeland
b606cf06c7
move syscall records out of the task and put tasks in privileged memory
2023-09-17 21:47:58 -07:00
Chris Copeland
8c758588a7
add missing task_entry.S in arm rust build
2023-09-16 22:03:09 -07:00