commons.rs 721 B

1234567891011121314151617181920212223242526272829303132333435
  1. use rustsbi::{HartMask, MachineInfo};
  2. use sbi_spec::binary::SbiRet;
  3. pub struct MyFence;
  4. impl rustsbi::Fence for MyFence {
  5. fn remote_fence_i(&self, _: HartMask) -> SbiRet {
  6. println!("MyFence remote_fence_i function is called!");
  7. SbiRet::success(0)
  8. }
  9. fn remote_sfence_vma(&self, _: HartMask, _: usize, _: usize) -> SbiRet {
  10. todo!()
  11. }
  12. fn remote_sfence_vma_asid(&self, _: HartMask, _: usize, _: usize, _: usize) -> SbiRet {
  13. todo!()
  14. }
  15. }
  16. pub struct MyMachineInfo;
  17. impl MachineInfo for MyMachineInfo {
  18. fn mvendorid(&self) -> usize {
  19. 0x100
  20. }
  21. fn marchid(&self) -> usize {
  22. 0x200
  23. }
  24. fn mimpid(&self) -> usize {
  25. 0x300
  26. }
  27. }