use rustsbi::EnvInfo;
use sbi_spec::binary::{HartMask, SbiRet};
pub struct MyFence;
impl rustsbi::Fence for MyFence {
fn remote_fence_i(&self, _: HartMask) -> SbiRet {
println!("MyFence remote_fence_i function is called!");
SbiRet::success(0)
}
fn remote_sfence_vma(&self, _: HartMask, _: usize, _: usize) -> SbiRet {
todo!()
}
fn remote_sfence_vma_asid(&self, _: HartMask, _: usize, _: usize, _: usize) -> SbiRet {
todo!()
}
fn remote_hfence_gvma_vmid(&self, _: HartMask, _: usize, _: usize, _: usize) -> SbiRet {
todo!()
}
fn remote_hfence_gvma(&self, _: HartMask, _: usize, _: usize) -> SbiRet {
todo!()
}
fn remote_hfence_vvma_asid(&self, _: HartMask, _: usize, _: usize, _: usize) -> SbiRet {
todo!()
}
fn remote_hfence_vvma(&self, _: HartMask, _: usize, _: usize) -> SbiRet {
todo!()
}
}
pub struct MyEnvInfo;
impl EnvInfo for MyEnvInfo {
fn mvendorid(&self) -> usize {
0x100
}
fn marchid(&self) -> usize {
0x200
}
fn mimpid(&self) -> usize {
0x300
}
}