• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 use super::common::{Hypervisor, HypervisorCap};
2 use crate::error::Result;
3 use crate::util::SIZE_4KB;
4 use uuid::{uuid, Uuid};
5 
6 pub(super) struct GunyahHypervisor;
7 
8 impl GunyahHypervisor {
9     pub const UUID: Uuid = uuid!("c1d58fcd-a453-5fdb-9265-ce36673d5f14");
10 }
11 
12 impl Hypervisor for GunyahHypervisor {
mmio_guard_init(&self) -> Result<()>13     fn mmio_guard_init(&self) -> Result<()> {
14         Ok(())
15     }
16 
mmio_guard_map(&self, _addr: usize) -> Result<()>17     fn mmio_guard_map(&self, _addr: usize) -> Result<()> {
18         Ok(())
19     }
20 
mmio_guard_unmap(&self, _addr: usize) -> Result<()>21     fn mmio_guard_unmap(&self, _addr: usize) -> Result<()> {
22         Ok(())
23     }
24 
mem_share(&self, _base_ipa: u64) -> Result<()>25     fn mem_share(&self, _base_ipa: u64) -> Result<()> {
26         unimplemented!();
27     }
28 
mem_unshare(&self, _base_ipa: u64) -> Result<()>29     fn mem_unshare(&self, _base_ipa: u64) -> Result<()> {
30         unimplemented!();
31     }
32 
memory_protection_granule(&self) -> Result<usize>33     fn memory_protection_granule(&self) -> Result<usize> {
34         Ok(SIZE_4KB)
35     }
36 
has_cap(&self, _cap: HypervisorCap) -> bool37     fn has_cap(&self, _cap: HypervisorCap) -> bool {
38         false
39     }
40 }
41