Skip to content

Commit 988f9c2

Browse files
Merge pull request #163 from thejpster/release-prep
Release prep
2 parents 597d259 + de82432 commit 988f9c2

8 files changed

Lines changed: 63 additions & 13 deletions

File tree

aarch32-cpu/CHANGELOG.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,33 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
77

88
## [Unreleased]
99

10+
## [aarch32-cpu v0.3.0]
11+
12+
### Added
13+
1014
- Added `Iciallu` register which allows invalidating the instruction cache.
15+
- Added `asm::fiq_enable` and `asm::fiq_disable`
16+
- Added `stacks::stack_used_bytes` to count how much stack has been used
17+
- Added `svc1!`-`svc6!` macros for making syscalls
18+
- Added `hvc!` and `hvc1!`-`hvc6!` macros for making hypercalls
19+
- Added `mmu::L1Table` type for basic MMU L1 page-tables
20+
- Added `Prlar::limit_address` method
21+
- Added `Prbar::base_address` method
1122
- `register::vbar` and `register::Vbar` are also available for ARMv7-A now.
1223
- Added `defmt` implementations for PMSA types.
1324

25+
### Changed
26+
27+
- Updated `bitbybit` crate to version 2
28+
- Updated `SysRegRead::read_raw` and `SysRegRead64::read_raw` to now be safe operations
29+
- Updated `Dfsr` datatype to support a range of Arm architecture versions
30+
- Updated Arm Generic Timer support - now works on Armv7-A as well
31+
- Updated Hypervisor support - now works on Armv7-A as well
32+
33+
### Removed
34+
35+
- Removed `__sync_synchronize` function
36+
1437
## [aarch32-cpu v0.2.0]
1538

1639
- Mark `asm::irq_enable()` as unsafe to match `interrupt::enable()`
@@ -70,7 +93,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
7093

7194
Initial release
7295

73-
[Unreleased]: https://github.com/rust-embedded/aarch32/compare/aarch32-cpu-v0.2.0...HEAD
96+
[Unreleased]: https://github.com/rust-embedded/aarch32/compare/aarch32-cpu-v0.3.0...HEAD
97+
[aarch32-cpu v0.3.0]: https://github.com/rust-embedded/aarch32/compare/aarch32-cpu-v0.2.0...aarch32-cpu-v0.3.0
7498
[aarch32-cpu v0.2.0]: https://github.com/rust-embedded/aarch32/compare/aarch32-cpu-v0.1.0...aarch32-cpu-v0.2.0
7599
[aarch32-cpu v0.1.0]: https://github.com/rust-embedded/aarch32/compare/cortex-ar-v0.3.0...aarch32-cpu-v0.1.0
76100
[cortex-ar v0.3.0]: https://github.com/rust-embedded/aarch32/compare/cortex-ar-v0.2.0...cortex-ar-v0.3.0

aarch32-cpu/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ readme = "README.md"
2222
repository = "https://github.com/rust-embedded/aarch32.git"
2323
homepage = "https://github.com/rust-embedded/aarch32"
2424
rust-version = "1.83"
25-
version = "0.2.0"
25+
version = "0.3.0"
2626

2727
[dependencies]
2828
arbitrary-int = "2"

aarch32-rt-macros/CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,12 @@ As of *aarch32-rt-macros v0.1.0*, this project is released in lock-step with
1010

1111
## [Unreleased]
1212

13+
## [aarch32-rt-macros v0.3.0]
14+
1315
- Handle outer `unsafe` for whitelisted proc macro attributes. For example, this allows
1416
`#[unsafe(link_section="...")]` which previously did not work.
17+
- Added support for `HypervisorCall` exception
18+
- Changed `SupervisorCall` handler to add `&Frame` parameter, and keep original code as inner function
1519

1620
## [aarch32-rt-macros v0.2.0]
1721

@@ -29,7 +33,8 @@ As of *aarch32-rt-macros v0.1.0*, this project is released in lock-step with
2933

3034
Initial release
3135

32-
[Unreleased]: https://github.com/rust-embedded/aarch32/compare/aarch32-rt-v0.2.0...HEAD
36+
[Unreleased]: https://github.com/rust-embedded/aarch32/compare/aarch32-rt-v0.3.0...HEAD
37+
[aarch32-rt-macros v0.3.0]: https://github.com/rust-embedded/aarch32/compare/aarch32-rt-v0.2.0...aarch32-rt-v0.3.0
3338
[aarch32-rt-macros v0.2.0]: https://github.com/rust-embedded/aarch32/compare/aarch32-rt-v0.1.0...aarch32-rt-v0.2.0
3439
[aarch32-rt-macros v0.1.0]: https://github.com/rust-embedded/aarch32/compare/cortex-ar-rt-macros-v0.1.1...aarch32-rt-v0.1.0
3540
[cortex-ar-rt-macros v0.1.1]: https://github.com/rust-embedded/aarch32/compare/cortex-ar-rt-macros-v0.1.0...cortex-ar-rt-macros-v0.1.1

aarch32-rt-macros/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ readme = "README.md"
1212
repository = "https://github.com/rust-embedded/aarch32.git"
1313
homepage = "https://github.com/rust-embedded/aarch32"
1414
rust-version = "1.83"
15-
version = "0.2.0"
15+
version = "0.3.0"
1616

1717
[lib]
1818
proc-macro = true

aarch32-rt/CHANGELOG.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
77

88
## [Unreleased]
99

10+
## [aarch32-rt v0.3.0]
11+
12+
### Added
13+
14+
- `el2-mode` feature, to keep CPU in EL2 mode
15+
- Discard entry for `.ARM.exidx` and `.ARM.extab` sections
16+
- Region alignment support, with `_region_alignment` linker symbol
17+
- `__sXXX` and `__eXXX` linker symbols for each output section
18+
- Support for setting up stacks for multiple cores
19+
- Support for exception handling at EL2 (including a new `HypervisorCall` handler)
20+
- `.pushsection` and `.popsection` to all assembly blocks to avoid accidentally changing the section of another piece of code
21+
- New `sections` module for getting information about linker output sections at run-time
22+
23+
### Changed
24+
25+
- Default stack size now 16K, except FIQ and IRQ which are 64 bytes
26+
- `SupervisorCall` now gets a `&Frame` argument
27+
- `_init_segments` function now zeroes out the stack space
28+
1029
## [aarch32-rt v0.2.0]
1130

1231
### Changed
@@ -59,7 +78,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
5978

6079
Initial release
6180

62-
[Unreleased]: https://github.com/rust-embedded/aarch32/compare/aarch32-rt-v0.2.0...HEAD
81+
[Unreleased]: https://github.com/rust-embedded/aarch32/compare/aarch32-rt-v0.3.0...HEAD
82+
[aarch32-rt v0.3.0]: https://github.com/rust-embedded/aarch32/compare/aarch32-rt-v0.2.0...aarch32-rt-v0.3.0
6383
[aarch32-rt v0.2.0]: https://github.com/rust-embedded/aarch32/compare/aarch32-rt-v0.1.0...aarch32-rt-v0.2.0
6484
[aarch32-rt v0.1.0]: https://github.com/rust-embedded/aarch32/compare/cortex-r-rt-v0.2.1...aarch32-rt-v0.1.0
6585
[cortex-r-rt v0.2.1]: https://github.com/rust-embedded/aarch32/compare/cortex-r-rt-v0.2.0...cortex-r-rt-v0.2.1

aarch32-rt/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ name = "aarch32-rt"
2121
readme = "README.md"
2222
repository = "https://github.com/rust-embedded/aarch32.git"
2323
rust-version = "1.83"
24-
version = "0.2.0"
24+
version = "0.3.0"
2525

2626
[dependencies]
27-
aarch32-cpu = { version = "0.2.0", path = "../aarch32-cpu" }
28-
aarch32-rt-macros = { path = "../aarch32-rt-macros", version = "=0.2.0" }
27+
aarch32-cpu = { version = "0.3.0", path = "../aarch32-cpu" }
28+
aarch32-rt-macros = { path = "../aarch32-rt-macros", version = "=0.3.0" }
2929

3030
[features]
3131
# Enable the FPU on start-up, even on a soft-float EABI target

arm-targets/CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
77

88
## [Unreleased]
99

10+
## [v0.4.2]
11+
1012
### Changed
1113

1214
- Take `CARGO_CFG_TARGET_*` variables into account for detecting targets.
@@ -57,7 +59,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
5759

5860
Initial release
5961

60-
[Unreleased]: https://github.com/rust-embedded/aarch32/compare/arm-targets-v0.4.0...HEAD
62+
[Unreleased]: https://github.com/rust-embedded/aarch32/compare/arm-targets-v0.4.2...HEAD
63+
[v0.4.2]: https://github.com/rust-embedded/aarch32/compare/arm-targets-v0.4.1...arm-targets-v0.4.2
64+
[v0.4.1]: https://github.com/rust-embedded/aarch32/compare/arm-targets-v0.4.0...arm-targets-v0.4.1
6165
[v0.4.0]: https://github.com/rust-embedded/aarch32/compare/arm-targets-v0.3.0...arm-targets-v0.4.0
6266
[v0.3.0]: https://github.com/rust-embedded/aarch32/compare/arm-targets-v0.2.0...arm-targets-v0.3.0
6367
[v0.2.0]: https://github.com/rust-embedded/aarch32/compare/arm-targets-v0.1.0...arm-targets-v0.2.0

examples/versatileab/Cargo.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ aarch32-rt = { path = "../../aarch32-rt" }
2020
arbitrary-int = "2.1.1"
2121
derive-mmio = "0.6.1"
2222
libm = "0.2.15"
23-
pl190-vic = "0.1.1"
23+
pl190-vic = "0.1.2"
2424
portable-atomic = { version = "1.11.1", features = ["critical-section"] }
2525
semihosting = { version = "0.1.18", features = ["stdio"] }
2626

@@ -30,6 +30,3 @@ arm-targets = { version = "0.4.0", path = "../../arm-targets" }
3030
[features]
3131
eabi-fpu = ["aarch32-rt/eabi-fpu"]
3232
fpu-d32 = ["aarch32-rt/fpu-d32"]
33-
34-
[patch.crates-io]
35-
aarch32-cpu = { path = "../../aarch32-cpu" }

0 commit comments

Comments
 (0)