From: Borislav Petkov <bp@xxxxxxxxx> Sent: Monday, November 28, 2022 11:57 AM > > On Mon, Nov 28, 2022 at 05:55:11PM +0000, Michael Kelley (LINUX) wrote: > > But vendor AMD effectively offers two different encryption schemes that > > could be seen by the guest VM. The hypervisor chooses which scheme a > > particular guest will see. Hyper-V has chosen to present the vTOM scheme > > to guest VMs, including normal Linux and Windows guests, that have been > > modestly updated to understand vTOM. > > If this is a standard SNP guest then you can detect vTOM support using > SEV_FEATURES. See this thread here: > > https://lore.kernel.org/all/20221117044433.244656-1-nikunj@xxxxxxx/ > > Which then means, you don't need any special gunk except extending this > patch above to check SNP has vTOM support. Yes, we could do that. But this patch set is still needed to get the preliminaries in place. The initial code for supporting AMD vTOM that went upstream a year ago is too Hyper-V specific. This patch set removes the Hyper-V specific stuff, and integrates vTOM support into the overall confidential computing framework in arch/x86/coco/core.c. The Hyper-V code was already somewhat there via CC_VENDOR_HYPERV, but that really should be named something else now. So that's why I'm suggesting CC_VENDOR_AMD_VTOM. > > > In the future, Hyper-V may also choose to present original AMD C-bit scheme > > in some guest VMs, depending on the use case. And it will present the Intel > > TDX scheme when running on that hardware. > > And all those should JustWork(tm) because we already support such guests. Agreed. That's where we want to be. Of course, when you go from N=1 hypervisors (i.e., KVM) to N=2 (KVM and Hyper-V, you find some places where incorrect assumptions were made or some generalizations are needed. Dexuan Cui's patch set for TDX support is fixing those places that he has encountered. But with those fixes, the TDX support will JustWork(tm) for Linux guests on Hyper-V. I haven't gone deeply into the situation with AMD C-bit support on Hyper-V. Tianyu Lan's set of patches for that support is a bit bigger, and I'm planning to look closely to understand whether it's also just fixing incorrect assumptions and such, or whether they really are some differences with Hyper-V. If there are differences, I want to understand why. Michael