vmm: ivshmem device support

Signed-off-by: Yi Wang <foxywang@tencent.com>
Signed-off-by: Songqian Li <sionli@tencent.com>
This commit is contained in:
Songqian Li
2024-08-29 15:58:50 +08:00
committed by Bo Chen
parent c72414552b
commit 2c282a5a54
7 changed files with 184 additions and 0 deletions

View File

@@ -650,6 +650,26 @@ impl ApplyLandlock for VsockConfig {
}
}
#[cfg(feature = "ivshmem")]
pub const DEFAULT_IVSHMEM_SIZE: usize = 128;
#[cfg(feature = "ivshmem")]
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
pub struct IvshmemConfig {
pub path: PathBuf,
pub size: usize,
}
#[cfg(feature = "ivshmem")]
impl Default for IvshmemConfig {
fn default() -> Self {
Self {
path: PathBuf::new(),
size: DEFAULT_IVSHMEM_SIZE << 20,
}
}
}
#[cfg(target_arch = "x86_64")]
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)]
pub struct SgxEpcConfig {
@@ -896,6 +916,8 @@ pub struct VmConfig {
#[serde(default)]
pub landlock_enable: bool,
pub landlock_rules: Option<Vec<LandlockConfig>>,
#[cfg(feature = "ivshmem")]
pub ivshmem: Option<IvshmemConfig>,
}
impl VmConfig {