mpxy.rs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. //! Chapter 20. Message Proxy Extension (EID #0x4D505859 "MPXY")
  2. /// Extension ID for Message Proxy Extension.
  3. pub const EID_MPXY: usize = crate::eid_from_str("MPXY") as _;
  4. pub use fid::*;
  5. /// Declared in §20.12.
  6. mod fid {
  7. /// Function ID to set the shared memory for sending and receiving messages on the calling hart.
  8. ///
  9. /// Declared in §20.5.
  10. pub const SET_SHMEM: usize = 0;
  11. /// Function ID to get channel ids of the message channels accessible to the supervisor software in the shared memory of the calling hart.
  12. ///
  13. /// Declared in §20.6.
  14. pub const GET_CHANNEL_IDS: usize = 1;
  15. /// Function ID to read message channel attributes.
  16. ///
  17. /// Declared in §20.7.
  18. pub const READ_ATTRIBUTE: usize = 2;
  19. /// Function ID to write message channel attributes.
  20. ///
  21. /// Declared in §20.8.
  22. pub const WRITE_ATTRIBUTE: usize = 3;
  23. /// Function ID to send a message to the mpxy channel and waits for sbi implementation for the message response.
  24. ///
  25. /// Declared in 20.9.
  26. pub const SEND_MESSAGE_WITH_RESPONSE: usize = 4;
  27. /// Function ID to send a message to the mpxy channel and does not waits for response.
  28. ///
  29. /// Declared in 20.10.
  30. pub const SEND_MESSAGE_WITHOUT_RESPONSE: usize = 5;
  31. /// Function ID to get the message protocol specific notification events on the mpxy channel.
  32. ///
  33. /// Declared in 20.11.
  34. pub const GET_NOTIFICATION_EVENTS: usize = 6;
  35. }