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-hartfor single CPU targets
- moved to
riscvrepository.riscv-rtis now deprecated - Use inline assembly instead of pre-compiled blobs
- Removed bors in favor of GitHub Merge Queue
start_trap_rustis now marked asunsafe- Implement
r0as inline assembly - Use
${ARCH_WIDTH}inlink.x.into 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
riscvto version 0.10.1 fixing a critical section bug
v0.10.0 - 2022-11-04
- Optional cargo feature
s-modefor supervisor mode, including conditional compilation for supervisor/machine mode instructions.
- Remove superfluous parentheses from link.x, which caused linker errors with nightly.
- Changed
mp_hooksignature, hartid as passed as usize parameter by the caller (required fors-modefeature). - Update
riscvto version 0.9
v0.9.0 - 2022-07-01
- Pass
a0..a2register values to the#[entry]function.
- Update
riscvto version 0.8 - Update
riscv-rt-macrosto 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-asmfeature 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
riscvto version 0.7 - Update
quoteto version 1.0 - Update
proc-macro2to version 1.0 - Update
randto version to version 0.7.3
v0.8.0 - 2020-07-18
- Update
riscvto version 0.6 - Update Minimum Supported Rust Version to 1.42.0
v0.7.2 - 2020-07-16
- Preserve
.eh_frameand.eh_frame_hdrsections - Place
.srodataand.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-elftarget - Added Changelog
- Fix linker script compatibility with GNU linker
- Move
abortout of the.initsection - Update
r0to v1.0.0 - Set MSRV to 1.38