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.
v0.9.0 - 2022-10-06
- Fix
asm::delay()to ensure count register is always reloaded - Fix reading marchid and mimpid (#107)
set_msoft,clear_msoft,set_mtimerandclear_mtimerremoved as part of fixing issue #62
v0.8.0 - 2022-04-20
- Add
#[cfg(riscv32)]topmpcfg1andpmpcfg3modules - Add enums
Range,Permissionfor PMP configuration - Add
set_pmp()andclear_pmp()functions to pmpcfg(x) modules - Add struct
Pmpcsrand is returned frompmpcfgx::read() - Add
singleton!macro - Add delay structure and methods using embedded-hal traits and
mcycleregister - Add
asm::delay()function for assembly-based busy-loops - Add
asm::nop(), a wrapper for implementing anopinstruction - Add missing
#[inline]attribute to register reads, type conversations andinterrupt::free
- Use new
asm!instead ofllvm_asm! - Change
pmpcfgx::read()macro toread_csr_as!()fromread_csr_as_usize!() - Inline assembly is now always used
- Update Minimum Supported Rust Version to 1.59
- Fix
sfence.vmaoperand order
- Remove
inline-asmfeature which is now always enabled
v0.7.0 - 2021-07-29
- Add
medelegregister - Add
cycle[h],instret[h]andmcounteren - Add additional binaries for floating-point ABIs
- Add support for
mxr - Add support for
mprv
- Fix
scause::set - Various formatting and comment fixes
- Update
bare-metaltov1.0.0removingNrtrait - Build targets on
docs.rsare now RISC-V targets other than default ones
v0.6.0 - 2020-06-20
Mtvec::trap_mode(),Stvec::trap_mode()andUtvec::trap_mode()functions now returnOption<TrapMode>(breaking change)- Updated Minimum Supported Rust Version to 1.42.0
- Use
llvm_asm!instead ofasm!
- vexriscv-specific registers were moved to the
vexriscvcrate
v0.5.6 - 2020-03-14
- Added vexriscv-specific registers
v0.5.5 - 2020-02-28
- Added
riscv32i-unknown-none-elftarget support - Added user trap setup and handling registers
- Added write methods for the
mipandsatpregisters - Added
midelegregister - Added Changelog
- Fixed MSRV by restricting the upper bound of
bare-metalversion