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