Messages in this thread | | | From | Kuppuswamy Sathyanarayanan <> | Subject | [PATCH v2 0/7] Add TDX Guest Support (shared-mm support) | Date | Sat, 26 Jun 2021 07:25:28 -0700 |
| |
Hi All,
Intel's Trust Domain Extensions (TDX) protect guest VMs from malicious hosts and some physical attacks. Since VMM is untrusted entity, it does not allow VMM to access guest private memory. Any memory that is required for communication with VMM must be shared explicitly. This series adds support to securely share guest memory with VMM when it is required by guest.
This series is the continuation of the patch series titled "Add TDX Guest Support (Initial support)", "Add TDX Guest Support (#VE handler support)" and "Add TDX Guest Support (boot fixes)" which added initial support, #VE handler support and boot fixes for TDX guests. You can find the related patchsets in the following links.
[set 1] - https://lore.kernel.org/patchwork/project/lkml/list/?series=505232 [set 2] - https://lore.kernel.org/patchwork/project/lkml/list/?series=506230 [set 3] - https://lore.kernel.org/patchwork/project/lkml/list/?series=506231
Also please note that this series alone is not necessarily fully functional. You need to apply all the above 3 patch series to get a fully functional TDX guest.
You can find TDX related documents in the following link.
https://software.intel.com/content/www/br/pt/develop/articles/intel-trust-domain-extensions.html
Isaku Yamahata (1): x86/tdx: ioapic: Add shared bit for IOAPIC base address
Kirill A. Shutemov (6): x86/mm: Move force_dma_unencrypted() to common code x86/tdx: Exclude Shared bit from physical_mask x86/tdx: Make pages shared in ioremap() x86/tdx: Add helper to do MapGPA hypercall x86/tdx: Make DMA pages shared x86/kvm: Use bounce buffers for TD guest
arch/x86/Kconfig | 9 +++- arch/x86/include/asm/mem_encrypt_common.h | 20 ++++++++ arch/x86/include/asm/pgtable.h | 5 ++ arch/x86/include/asm/tdx.h | 22 +++++++++ arch/x86/kernel/apic/io_apic.c | 18 ++++++- arch/x86/kernel/tdx.c | 60 +++++++++++++++++++++++ arch/x86/mm/Makefile | 2 + arch/x86/mm/ioremap.c | 10 ++-- arch/x86/mm/mem_encrypt.c | 10 ++-- arch/x86/mm/mem_encrypt_common.c | 38 ++++++++++++++ arch/x86/mm/pat/set_memory.c | 49 +++++++++++++++--- 11 files changed, 222 insertions(+), 21 deletions(-) create mode 100644 arch/x86/include/asm/mem_encrypt_common.h create mode 100644 arch/x86/mm/mem_encrypt_common.c
-- 2.25.1
| |