aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jorge Aparicio <jorge@japaric.io> 2017-06-30 19:05:11 -0500
committerGravatar Jorge Aparicio <jorge@japaric.io> 2017-06-30 19:05:11 -0500
commit6c642b7f3efbe8806a2e6d12ba1beb04c83486d5 (patch)
treeeff01cd42f80b4688bee9e402091221c03535048
parent45ec58c6bf16e5ea00eac9753de7f8acffa464f8 (diff)
downloadcortex-m-6c642b7f3efbe8806a2e6d12ba1beb04c83486d5.tar.gz
cortex-m-6c642b7f3efbe8806a2e6d12ba1beb04c83486d5.tar.zst
cortex-m-6c642b7f3efbe8806a2e6d12ba1beb04c83486d5.zip
update CHANGELOG
-rw-r--r--CHANGELOG.md30
-rw-r--r--src/exception.rs12
2 files changed, 36 insertions, 6 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e52c26e..ec96200 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,36 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
## [Unreleased]
+### Changed
+
+- [breaking-change] Renamed `StackedRergisters` to `ExceptionFrame` to better
+ reflect the ARM documentation.
+
+- [breaking-change] Renamed the variants of `Exception` to better match the
+ ARM documentation.
+
+- [breaking-change] Renamed `Exception::current` to `Exception::active` and
+ changed the signature to return `None` when no exception is being serviced.
+
+### Removed
+
+- [breaking-change] The `ctxt` module along with the exception "tokens" in the
+ `exception` module. The `cortex-m-rt` crate v0.3.0 provides a more ergonomic
+ mechanism to add state to interrupts / exceptions; replace your uses of
+ `Local` with that.
+
+- [breaking-change] `default_handler`, `DEFAULT_HANDLERS` and `Handlers` from
+ the `exception` module as well as `Reserved` from the root of the crate.
+ `cortex-m-rt` v0.3.0 provides a mechanism to override exceptions and the
+ default exception handler. Change your use of these `Handlers` and others to
+ that.
+
+### Fixed
+
+- `interrupt::{enable,disable}` are now compiler barriers. The compiler should
+ not reorder code around these function calls for memory safety; that is the
+ case now.
+
## [v0.2.11] - 2017-06-16
### Added
diff --git a/src/exception.rs b/src/exception.rs
index 4195d67..3052f66 100644
--- a/src/exception.rs
+++ b/src/exception.rs
@@ -4,7 +4,7 @@
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum Exception {
/// Non-maskable interrupt
- Nmi,
+ NMI,
/// Other type of faults and unhandled faults
HardFault,
/// Memory protection related fault
@@ -14,9 +14,9 @@ pub enum Exception {
/// Fault due to undefined instruction or illegal state
UsageFault,
/// Supervisor call
- Svcall,
+ SVCall,
/// Pendable request for system-level service
- Pendsv,
+ PendSV,
/// System timer exception
SysTick,
/// An interrupt
@@ -36,13 +36,13 @@ impl Exception {
Some(match icsr as u8 {
0 => return None,
- 2 => Exception::Nmi,
+ 2 => Exception::NMI,
3 => Exception::HardFault,
4 => Exception::MenManage,
5 => Exception::BusFault,
6 => Exception::UsageFault,
- 11 => Exception::Svcall,
- 14 => Exception::Pendsv,
+ 11 => Exception::SVCall,
+ 14 => Exception::PendSV,
15 => Exception::SysTick,
n if n >= 16 => Exception::Interrupt(n - 16),
_ => Exception::Reserved,