| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | add changelog | Ulf Lilleengen | 2023-04-27 | 1 | -0/+23 |
| | | |||||
| * | Bump versions preparing for -macros and -executor release | Ulf Lilleengen | 2023-04-27 | 1 | -2/+2 |
| | | |||||
| * | Executor: Replace unnecessary atomics in runqueue | Grant Miller | 2023-04-13 | 1 | -9/+16 |
| | | |||||
| * | re-export main_riscv macro as main for riscv arch. | Roy Buitenhuis | 2023-04-11 | 1 | -0/+3 |
| | | |||||
| * | executor: fix doc features. | Dario Nieuwenhuis | 2023-04-06 | 1 | -11/+8 |
| | | |||||
| * | executor: Replace unsound critical sections with atomics | Grant Miller | 2023-04-05 | 2 | -21/+25 |
| | | |||||
| * | executor: add Pender, rework Cargo features. | Dario Nieuwenhuis | 2023-04-03 | 8 | -361/+622 |
| | | | | | | | | | | This introduces a `Pender` struct with enum cases for thread-mode, interrupt-mode and custom callback executors. This avoids calls through function pointers when using only the thread or interrupt executors. Faster, and friendlier to `cargo-call-stack`. `embassy-executor` now has `arch-xxx` Cargo features to select the arch and to enable the builtin executors (thread and interrupt). | ||||
| * | executor: unify export mod. | Dario Nieuwenhuis | 2023-04-03 | 1 | -8/+4 |
| | | |||||
| * | executor,sync: add support for turbo-wakers. | Dario Nieuwenhuis | 2023-03-30 | 3 | -0/+37 |
| | | | | | | | | | | | | | | | | | | | | | | | | | This is a `core` patch to make wakers 1 word (the task pointer) instead of 2 (task pointer + vtable). It allows having the "waker optimization" we had a while back on `WakerRegistration/AtomicWaker`, but EVERYWHERE, without patching all crates. Advantages: - Less memory usage. - Faster. - `AtomicWaker` can actually use atomics to load/store the waker, No critical section needed. - No `dyn` call, which means `cargo-call-stack` can now see through wakes. Disadvantages: - You have to patch `core`... - Breaks all executors and other things that create wakers, unless they opt in to using the new `from_ptr` API. How to use: - Run this shell script to patch `core`. https://gist.github.com/Dirbaio/c67da7cf318515181539122c9d32b395 - Enable `build-std` - Enable `build-std-features = core/turbowakers` - Enable feature `turbowakers` in `embassy-executor`, `embassy-sync`. - Make sure you have no other crate creating wakers other than `embassy-executor`. These will panic at runtime. Note that the patched `core` is equivalent to the unpached one when the `turbowakers` feature is not enabled, so it should be fine to leave it there. | ||||
| * | executor: Use AtomicPtr for signal_ctx, removes 1 unsafe. | Dario Nieuwenhuis | 2023-03-27 | 1 | -6/+4 |
| | | |||||
| * | executor: deduplicate doc comments. | Dario Nieuwenhuis | 2023-03-27 | 1 | -24/+1 |
| | | |||||
| * | executor: Allow TaskStorage to auto-implement `Sync` | Grant Miller | 2023-03-20 | 4 | -57/+154 |
| | | |||||
| * | Make `poll_fn` lazily initialized again | Grant Miller | 2023-01-31 | 1 | -3/+5 |
| | | |||||
| * | Add internal `AvailableTask` type | Grant Miller | 2023-01-31 | 1 | -28/+40 |
| | | |||||
| * | Replace the pointer in `TaskHeader` with an `Option<&Executor>` | Grant Miller | 2023-01-31 | 2 | -11/+11 |
| | | |||||
| * | Set `poll_fn` in `TaskStorage::new` | Grant Miller | 2023-01-31 | 2 | -27/+14 |
| | | |||||
| * | Make `wake_task` safe | Grant Miller | 2023-01-29 | 1 | -9/+7 |
| | | |||||
| * | executor: Replace `NonNull<TaskHeader>` with `TaskRef` | Grant Miller | 2023-01-29 | 5 | -57/+76 |
| | | |||||
| * | Remove unnecessary use of atomic-polyfill. | Dario Nieuwenhuis | 2022-12-23 | 2 | -4/+2 |
| | | | | | Only use it when CAS is actually needed. | ||||
| * | Release embassy-executor v0.1.1 | Dario Nieuwenhuis | 2022-11-23 | 1 | -1/+1 |
| | | |||||
| * | executor: enable features for docs.rs | Dario Nieuwenhuis | 2022-11-23 | 1 | -0/+3 |
| | | | | | Otherwise the non-raw executor and the macros don't show up. | ||||
| * | Merge #1071 | bors[bot] | 2022-11-23 | 2 | -4/+11 |
| |\ | | | | | | | | | | | | | | | 1071: refactor: autodetect macro variant r=Dirbaio a=lulf Apply heuristics using target_arch, target_os and target_family to determine which variant of the entry point to use. Co-authored-by: Ulf Lilleengen <[email protected]> | ||||
| | * | refactor: autodetect macro variant | Ulf Lilleengen | 2022-11-23 | 2 | -4/+11 |
| | | | | | | | | | | | Export all main macro per target architecture from embassy-macros, and select the appropriate macro in embassy-executor. | ||||
| * | | fix: revert race condition introduced for riscv | Ulf Lilleengen | 2022-11-23 | 1 | -5/+13 |
| |/ | |||||
| * | Merge #1054 | bors[bot] | 2022-11-23 | 2 | -13/+6 |
| |\ | | | | | | | | | | | | | | | | | | | 1054: riscv fixes r=lulf a=swolix With these changes I can run embassy on our RISC-V processor, please consider merging this, feedback is very welcome. I don't fully understand the code in the executor, but I have implemented a critical section by globally disabling interrupts, which means the wfi inside the critical section will hang the whole thing. Co-authored-by: Sijmen Woutersen <[email protected]> | ||||
| | * | restore SIGNAL_WORK_THREAD_MODE | Sijmen Woutersen | 2022-11-12 | 1 | -1/+6 |
| | | | |||||
| | * | riscv support | Sijmen Woutersen | 2022-11-10 | 2 | -14/+2 |
| | | | |||||
| * | | doc: update cargo manifests with keywords | Ulf Lilleengen | 2022-11-22 | 1 | -1/+7 |
| |/ | |||||
| * | Remove the _embassy_time_schedule_wake magic | ivmarkov | 2022-10-26 | 1 | -6/+13 |
| | | |||||
| * | Change time Driver contract to never fire the alarm synchronously | ivmarkov | 2022-10-24 | 1 | -32/+40 |
| | | |||||
| * | all Cargo.toml: Add license to all crate Cargo.toml files | chrysn | 2022-10-07 | 1 | -0/+1 |
| | | | | | Closes: https://github.com/embassy-rs/embassy/issues/1002 | ||||
| * | Build docs in CI | Dario Nieuwenhuis | 2022-10-02 | 1 | -1/+1 |
| | | |||||
| * | Replace futures::future::poll_fn -> core::future::poll_fn. | Dario Nieuwenhuis | 2022-09-22 | 1 | -2/+1 |
| | | |||||
| * | Add critical-section/std to std feature | Daniel Bevenius | 2022-09-08 | 1 | -1/+1 |
| | | | | | | This commit suggests adding critical-section/std to the std feature as without this a link time error is generated. | ||||
| * | Ensure interrupt::take works without embassy-executor | Ulf Lilleengen | 2022-08-25 | 1 | -2/+2 |
| | | | | | | | Add "rtos-trace-interrupt" feature flag on embassy-macros and enable it for embassy-executor, to ensure that the interrupt::take! macro can be used without depending on embassy-executor. | ||||
| * | Enable 'std' feature on critical-section for WASM | Ulf Lilleengen | 2022-08-23 | 1 | -2/+2 |
| | | | | | | | This fixes the WASM support which was failing due to missing critical-section implementation. This also upgrades the bindgen dependency and ensures that tooling works. | ||||
| * | Remove warnings | Ulf Lilleengen | 2022-08-22 | 1 | -2/+2 |
| | | |||||
| * | Remove Forever, switch to static_cell. | Dario Nieuwenhuis | 2022-08-22 | 7 | -5/+12 |
| | | |||||
| * | Merge branch 'master' of https://github.com/embassy-rs/embassy into rtos-trace | Quentin Smith | 2022-08-19 | 24 | -1308/+81 |
| |\ | |||||
| | * | Split embassy-time from embassy-executor. | Dario Nieuwenhuis | 2022-08-18 | 24 | -1307/+75 |
| | | | |||||
| | * | Update to critical-section 1.0, atomic-polyfill 1.0 | Dario Nieuwenhuis | 2022-08-17 | 1 | -2/+2 |
| | | | |||||
| * | | Add separate feature flag to enable interrupt tracing | Quentin Smith | 2022-08-16 | 2 | -6/+9 |
| | | | |||||
| * | | cargo fmt | Quentin Smith | 2022-08-10 | 2 | -2/+1 |
| | | | |||||
| * | | Add support for rtos-trace behind a feature flag | Quentin Smith | 2022-08-10 | 3 | -0/+57 |
| |/ | |||||
| * | executor: miri fixes | Dario Nieuwenhuis | 2022-08-01 | 3 | -32/+26 |
| | | |||||
| * | Split embassy crate into embassy-executor, embassy-util. | Dario Nieuwenhuis | 2022-07-29 | 24 | -0/+2834 |
