diff --git a/test_infra/src/lib.rs b/test_infra/src/lib.rs index e1af41bc0..b6d7641f6 100644 --- a/test_infra/src/lib.rs +++ b/test_infra/src/lib.rs @@ -1694,7 +1694,7 @@ impl<'a> GuestCommand<'a> { self.args(["--net", self.guest.default_net_string().as_str()]) } - pub fn default_kernel_cmdline(&mut self) -> &mut Self { + pub fn default_kernel_cmdline_with_platform(&mut self, platform: Option<&str>) -> &mut Self { if self.guest.vm_type == GuestVmType::Confidential { let console_str = if let Some(c) = &self.guest.console_type { c.as_str() @@ -1709,17 +1709,34 @@ impl<'a> GuestCommand<'a> { ]); self.command .args(["--host-data", generate_host_data().as_str()]); - self.command.args(["--platform", "sev_snp=on"]); + self.command.args([ + "--platform", + &format!( + "{}sev_snp=on", + if let Some(p) = platform { + format!("{p},") + } else { + String::new() + } + ), + ]); } else if let Some(kernel) = &self.guest.kernel_path { self.command.args(["--kernel", kernel.as_str()]); if let Some(cmdline) = &self.guest.kernel_cmdline { self.command.args(["--cmdline", cmdline]); } + if let Some(platform_arg) = platform { + self.command.args(["--platform", platform_arg]); + } } self } + pub fn default_kernel_cmdline(&mut self) -> &mut Self { + self.default_kernel_cmdline_with_platform(None) + } + pub fn default_cpus(&mut self) -> &mut Self { self.args(["--cpus", self.guest.default_cpus_string().as_str()]) }