Re: [PATCHv6 27/30] x86/kvm: Make SWIOTLB buffer shared for TD guest
From: Dave Hansen
Date: Wed Mar 16 2022 - 18:24:50 EST
On 3/15/22 19:08, Kirill A. Shutemov wrote:
> Intel TDX doesn't allow VMM to directly access guest private memory.
> Any memory that is required for communication with the VMM must be
> shared explicitly. The same rule applies for any DMA to and from the
> TDX guest. All DMA pages have to be marked as shared pages. A generic way
> to achieve this without any changes to device drivers is to use the
> SWIOTLB framework.
>
> Make SWIOTLB buffer shared by generalizing mem_encrypt_init() to cover
> TDX.
This could have saved me a trip to the console if it would have also said:
Stop selecting DYNAMIC_PHYSICAL_MASK directly. It will get set
indirectly by selcting X86_MEM_ENCRYPT.
It's probably also worth noting:
mem_encrypt_init() is currently under an AMD-specific #ifdef.
Move it to a more generic area of the header.
The other adorable thing about this patch:
> arch/x86/Kconfig | 2 +-
> arch/x86/coco/core.c | 1 +
> arch/x86/include/asm/mem_encrypt.h | 6 +++---
> arch/x86/mm/mem_encrypt.c | 9 ++++++++-
> 4 files changed, 13 insertions(+), 5 deletions(-)
Is that it superficially has *zero* to do with SWIOTLB, also known as
the declared Subject. It almost looks like this patch found a smaller
and weaker patch, beat it up, and stole its Subject.
I'd be fine with an "x86/mm" tag on this too. I'm not sure what makes
it truly KVM-specific.
Can you send a revision with something a bit more descriptive, please?