All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- New GitHub workflow for checking invalid labels in PRs
- New GitHub workflow for checking modifications on CHANGELOG.md
- New GitHub workflow for checking clippy lints in PRs
- Optional cargo feature
single-hart
for single CPU targets
- moved to
riscv
repository.riscv-rt
is now deprecated - Use inline assembly instead of pre-compiled blobs
- Removed bors in favor of GitHub Merge Queue
start_trap_rust
is now marked asunsafe
- Implement
r0
as inline assembly - Use
${ARCH_WIDTH}
inlink.x.in
to adapt to different archs - mhartid CSR is no longer read in single-hart mode, assumed zero
- Ensure stack pointer is 16-byte aligned before jumping to Rust entry point
- Update
riscv
to version 0.10.1 fixing a critical section bug
v0.10.0 - 2022-11-04
- Optional cargo feature
s-mode
for supervisor mode, including conditional compilation for supervisor/machine mode instructions.
- Remove superfluous parentheses from link.x, which caused linker errors with nightly.
- Changed
mp_hook
signature, hartid as passed as usize parameter by the caller (required fors-mode
feature). - Update
riscv
to version 0.9
v0.9.0 - 2022-07-01
- Pass
a0..a2
register values to the#[entry]
function.
- Update
riscv
to version 0.8 - Update
riscv-rt-macros
to 0.2.0 - Update Minimum Supported Rust Version to 1.59
- The main symbol is no longer randomly generated in the
#[entry]
macro, instead it uses__risc_v_rt__main
.
- Remove
inline-asm
feature which is now always enabled
v0.8.1 - 2022-01-25
- Enable float support for targets with extension sets F and D
- Add ability to override trap handling mechanism
- Update
riscv
to version 0.7 - Update
quote
to version 1.0 - Update
proc-macro2
to version 1.0 - Update
rand
to version to version 0.7.3
v0.8.0 - 2020-07-18
- Update
riscv
to version 0.6 - Update Minimum Supported Rust Version to 1.42.0
v0.7.2 - 2020-07-16
- Preserve
.eh_frame
and.eh_frame_hdr
sections - Place
.srodata
and.srodata.*
sections in.rodata
v0.7.1 - 2020-06-02
- Add support to initialize custom interrupt controllers.
- Exception handler may return now
v0.7.0 - 2020-03-10
- Assure address of PC at startup
- Implement interrupt and exception handling
- Add support for the
riscv32i-unknown-none-elf
target - Added Changelog
- Fix linker script compatibility with GNU linker
- Move
abort
out of the.init
section - Update
r0
to v1.0.0 - Set MSRV to 1.38