sbi_spec/rfnc.rs
1//! Chapter 8. RFENCE Extension (EID #0x52464E43 "RFNC").
2
3/// Extension ID for Remote Fence extension.
4pub const EID_RFNC: usize = crate::eid_from_str("RFNC") as _;
5pub use fid::*;
6
7/// Declared in §8.8.
8mod fid {
9 /// Function ID to `FENCE.I` instruction on remote harts.
10 ///
11 /// Declared in §8.1.
12 pub const REMOTE_FENCE_I: usize = 0;
13 /// Function ID to `SFENCE.VMA` for all address spaces on remote harts.
14 ///
15 /// Declared in §8.2.
16 pub const REMOTE_SFENCE_VMA: usize = 1;
17 /// Function ID to address space based `SFENCE.VMA` on remote harts.
18 ///
19 /// Declared in §8.3.
20 pub const REMOTE_SFENCE_VMA_ASID: usize = 2;
21 /// Function ID to virtual machine id based `HFENCE.GVMA` on remote harts.
22 ///
23 /// Declared in §8.4.
24 pub const REMOTE_HFENCE_GVMA_VMID: usize = 3;
25 /// Function ID to `HFENCE.GVMA` for all virtual machines on remote harts.
26 ///
27 /// Declared in §8.5.
28 pub const REMOTE_HFENCE_GVMA: usize = 4;
29 /// Function ID to address space based `HFENCE.VVMA` for current virtual machine on remote harts.
30 ///
31 /// Declared in §8.6.
32 pub const REMOTE_HFENCE_VVMA_ASID: usize = 5;
33 /// Function ID to `HFENCE.VVMA` for all address spaces in the current virtual machine on remote harts.
34 ///
35 /// Declared in §8.7.
36 pub const REMOTE_HFENCE_VVMA: usize = 6;
37}