aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2017-04-09compile time verified ceilingsJorge Aparicio
2017-04-07drop global critical sections in checked::ResourceJorge Aparicio
2017-04-07use volatile read/writes for checked::Resource.lockedJorge Aparicio
2017-04-07removed global critical section from checked::releaseJorge Aparicio
2017-04-07use hw ceilings in checked::Resource.lock{,mut}Jorge Aparicio
2017-04-07allow returns from checked::Resource.lock{,mut}Jorge Aparicio
also add compiler barriers
2017-04-07impl Sync for checked::ResourceJorge Aparicio
2017-04-07initial version of checked resourcesJorge Aparicio
2017-04-07remove the borrow_mut method from resourcesJorge Aparicio
it can be used to break references rules within nested locks ``` rust static R1: Resource<bool, C1> = unsafe { Resource::new(false) }; static R2: Resource<bool, C2> = unsafe { Resource::new(false) }; static R3: Resource<bool, C3> = unsafe { Resource::new(false) }; // Priority = 1 extern "C" fn j1(task: interrupt::Exti0Irq) { R1.lock(&task, |r1, c1| { R2.lock(&task, |r2, c2| { R3.lock(&task, |r3, mut c3| { // BAD &- and &mut - that point to the same data let r1_ref: &bool = R1.borrow(&c2); let r1_ref_mut: &mut bool = R1.borrow_mut(&mut c3); }); }); }); } ```
2017-04-06partial thumbv6m-none-eabi supportJorge Aparicio
2017-04-04split get in get / get_mutJorge Aparicio
2017-04-04add a `queue` functionJorge Aparicio
2017-04-03add debug assertions to `lock` and `get`Jorge Aparicio
2017-04-02add a get method to get a raw pointer to the resource dataJorge Aparicio
2017-04-02rustfmtJorge Aparicio
2017-03-22add methods to borrow resources within `interrupt::free`Jorge Aparicio
2017-03-11make `logical` non-`const`, check input using assertionsJorge Aparicio
2017-03-11make borrows of non-cooperative resources safeJorge Aparicio
2017-03-10add mutable variants of borrow and claimJorge Aparicio
2017-03-10Token was renamed to ContextJorge Aparicio
2017-03-10rename `priority` to `logical`Jorge Aparicio
2017-03-09turn ceilings into typesJorge Aparicio
2017-03-08Resource::new is also unsafeJorge Aparicio
2017-03-08adapt to changes in cortex-m, verify the input of the `priority` functionJorge Aparicio
2017-03-05make priority a const fnJorge Aparicio
2017-03-05initial commitJorge Aparicio