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_mtimer
andclear_mtimer
removed as part of fixing issue #62
v0.8.0 - 2022-04-20
- Add
#[cfg(riscv32)]
topmpcfg1
andpmpcfg3
modules - Add enums
Range
,Permission
for PMP configuration - Add
set_pmp()
andclear_pmp()
functions to pmpcfg(x) modules - Add struct
Pmpcsr
and is returned frompmpcfgx::read()
- Add
singleton!
macro - Add delay structure and methods using embedded-hal traits and
mcycle
register - Add
asm::delay()
function for assembly-based busy-loops - Add
asm::nop()
, a wrapper for implementing anop
instruction - 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.vma
operand order
- Remove
inline-asm
feature which is now always enabled
v0.7.0 - 2021-07-29
- Add
medeleg
register - 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-metal
tov1.0.0
removingNr
trait - Build targets on
docs.rs
are 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
vexriscv
crate
v0.5.6 - 2020-03-14
- Added vexriscv-specific registers
v0.5.5 - 2020-02-28
- Added
riscv32i-unknown-none-elf
target support - Added user trap setup and handling registers
- Added write methods for the
mip
andsatp
registers - Added
mideleg
register - Added Changelog
- Fixed MSRV by restricting the upper bound of
bare-metal
version