Skip to content

Commit 597b8e8

Browse files
authored
riscv: K extension (part 1), floating-point control and state register (#1278)
1 parent eaee02f commit 597b8e8

File tree

2 files changed

+304
-14
lines changed

2 files changed

+304
-14
lines changed

crates/core_arch/src/riscv64/mod.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@ use crate::arch::asm;
1010
/// This operation is not available under RV32 base instruction set.
1111
///
1212
/// This function is unsafe for it accesses the virtual supervisor or user via a `HLV.WU`
13-
/// instruction which is effectively an unreference to any memory address.
13+
/// instruction which is effectively a dereference to any memory address.
1414
#[inline]
1515
pub unsafe fn hlv_wu(src: *const u32) -> u32 {
1616
let value: u32;
1717
asm!(".insn i 0x73, 0x4, {}, {}, 0x681", out(reg) value, in(reg) src, options(readonly, nostack));
1818
value
1919
}
2020

21-
/// Loads virtual machine memory by unsigned double integer
21+
/// Loads virtual machine memory by double integer
2222
///
2323
/// This instruction performs an explicit memory access as though `V=1`;
2424
/// i.e., with the address translation and protection, and the endianness, that apply to memory
@@ -27,7 +27,7 @@ pub unsafe fn hlv_wu(src: *const u32) -> u32 {
2727
/// This operation is not available under RV32 base instruction set.
2828
///
2929
/// This function is unsafe for it accesses the virtual supervisor or user via a `HLV.D`
30-
/// instruction which is effectively an unreference to any memory address.
30+
/// instruction which is effectively a dereference to any memory address.
3131
#[inline]
3232
pub unsafe fn hlv_d(src: *const i64) -> i64 {
3333
let value: i64;
@@ -42,7 +42,7 @@ pub unsafe fn hlv_d(src: *const i64) -> i64 {
4242
/// accesses in either VS-mode or VU-mode.
4343
///
4444
/// This function is unsafe for it accesses the virtual supervisor or user via a `HSV.D`
45-
/// instruction which is effectively an unreference to any memory address.
45+
/// instruction which is effectively a dereference to any memory address.
4646
#[inline]
4747
pub unsafe fn hsv_d(dst: *mut i64, src: i64) {
4848
asm!(".insn r 0x73, 0x4, 0x37, x0, {}, {}", in(reg) dst, in(reg) src, options(nostack));

0 commit comments

Comments
 (0)