Re: [PATCH v2 2/5] x86/kexec: do unconditional WBINVD in relocate_kernel()

From: Huang, Kai
Date: Wed Mar 20 2024 - 16:48:54 EST



Hi Tom,

I am not aware of kexec() support status for SEV-ES/SEV-SNP guests. Does patch 1 break them?

SNP guests can kexec with some patches that are currently in process around shared to private memory conversions. ES guests can only kexec with a single vCPU. There was a recent patch series to add support for multiple vCPUs.

Patch #1 doesn't break either ES or SNP because we still have an IDT and traditional kernel addressing in place, so the #VC can be handled.

How about plain SEV guest?


Whereas patch #2 has switched to identity mapping and removed the IDT, so a #VC causes a triple fault.

That makes sense. Thanks.

Hi Kirill,

Does TDX guest have similar behaviour -- that WBINVD in stop_this_cpu() can be handled although it causes #VE, while WBINVD in relocate_kernel() will just triple fault the guest?