From eee31f1d41e63dd3153fc9ccaca488d860d3c475 Mon Sep 17 00:00:00 2001 From: Jinank Jain Date: Thu, 8 Feb 2024 20:04:01 +0530 Subject: [PATCH] vmm: Don't set rsdp addr in case of SEV-SNP guest Since the ACPI tables are generated inside the IGVM file in case of SEV-SNP guest. So, we don't need to generate it inside the cloud hypervisor. Signed-off-by: Jinank Jain Signed-off-by: Muminul Islam --- vmm/src/vm.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/vmm/src/vm.rs b/vmm/src/vm.rs index c3346b1ff..a3ce3561e 100644 --- a/vmm/src/vm.rs +++ b/vmm/src/vm.rs @@ -2022,7 +2022,21 @@ impl Vm { // Do earlier to parallelise with loading kernel #[cfg(target_arch = "x86_64")] - let rsdp_addr = self.create_acpi_tables(); + cfg_if::cfg_if! { + if #[cfg(feature = "sev_snp")] { + let sev_snp_enabled = self.config.lock().unwrap().is_sev_snp_enabled(); + let rsdp_addr = if sev_snp_enabled { + // In case of SEV-SNP guest ACPI tables are provided via + // IGVM. So skip the creation of ACPI tables and set the + // rsdp addr to None. + None + } else { + self.create_acpi_tables() + }; + } else { + let rsdp_addr = self.create_acpi_tables(); + } + } // Load kernel synchronously or if asynchronous then wait for load to // finish.