From fabc940b65b9a24055b690a16ee4b5df58f410d9 Mon Sep 17 00:00:00 2001 From: Wei Liu Date: Fri, 8 Jul 2022 17:52:18 +0000 Subject: [PATCH] hypervisor: add UserMemoryRegion and flags Signed-off-by: Dev Rajput Signed-off-by: Wei Liu --- hypervisor/src/lib.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/hypervisor/src/lib.rs b/hypervisor/src/lib.rs index 0ee611863..93ff16452 100644 --- a/hypervisor/src/lib.rs +++ b/hypervisor/src/lib.rs @@ -116,3 +116,23 @@ pub fn vec_with_array_field(count: usize) -> Vec { let vec_size_bytes = size_of::() + element_space; vec_with_size_in_bytes(vec_size_bytes) } + +/// +/// User memory region structure +/// +#[derive(Debug, Default, Eq, PartialEq)] +pub struct UserMemoryRegion { + pub slot: u32, + pub guest_phys_addr: u64, + pub memory_size: u64, + pub userspace_addr: u64, + pub flags: u32, +} + +/// +/// Flags for user memory region +/// +pub const USER_MEMORY_REGION_READ: u32 = 1; +pub const USER_MEMORY_REGION_WRITE: u32 = 1 << 1; +pub const USER_MEMORY_REGION_EXECUTE: u32 = 1 << 2; +pub const USER_MEMORY_REGION_LOG_DIRTY: u32 = 1 << 3;