[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240507180729.3975856-1-pbonzini@redhat.com>
Date: Tue, 7 May 2024 14:07:20 -0400
From: Paolo Bonzini <pbonzini@...hat.com>
To: linux-kernel@...r.kernel.org,
kvm@...r.kernel.org
Cc: vbabka@...e.cz,
isaku.yamahata@...el.com,
xiaoyao.li@...el.com,
binbin.wu@...ux.intel.com,
seanjc@...gle.com,
rick.p.edgecombe@...el.com,
michael.roth@....com,
yilun.xu@...el.com
Subject: [PATCH v2 0/9] KVM: guest_memfd: New hooks and functionality for SEV-SNP and TDX
This is the hopefully final version of the gmem common API patches,
adding target-independent functionality and hooks that are
needed by SEV-SNP and TDX.
Changes from https://patchew.org/linux/20240404185034.3184582-1-pbonzini@redhat.com/:
- added acks and comments from Vlastimil to patches 1-2
- dropped FGP_CREAT_ONLY, which also means removing kvm_gmem_undo_get_pfn()
in the last patch
- filemap_grab_folio() cannot return NULL
- dropped weak implementation of kvm_arch_gmem_prepare_needed()
- dropped __kvm_gmem_punch_hole()
- introduced kvm_gmem_populate_cb typedef
- renamed argument of kvm_gmem_populate from gfn to start_gfn,
variable from this_gfn to gfn
- post_populate hook is mandatory
- replaced implementation of "KVM: x86: Add hook for determining max NPT
mapping level" with suggestion from SNP series
Contrarily to my answer to Yilun, prepare does not need to test
hwpoison. It's kvm_gmem_populate() that needs it, and in fact
it already does via __kvm_gmem_get_pfn().
Paolo
Michael Roth (4):
mm: Introduce AS_INACCESSIBLE for encrypted/confidential memory
KVM: guest_memfd: Use AS_INACCESSIBLE when creating guest_memfd inode
KVM: guest_memfd: Add hook for invalidating memory
KVM: x86: Add hook for determining max NPT mapping level
Paolo Bonzini (5):
KVM: guest_memfd: pass error up from filemap_grab_folio
KVM: guest_memfd: limit overzealous WARN
KVM: guest_memfd: Add hook for initializing memory
KVM: guest_memfd: extract __kvm_gmem_get_pfn()
KVM: guest_memfd: Add interface for populating gmem pages with user
data
arch/x86/include/asm/kvm-x86-ops.h | 3 +
arch/x86/include/asm/kvm_host.h | 3 +
arch/x86/kvm/mmu/mmu.c | 23 +++-
arch/x86/kvm/x86.c | 13 +++
include/linux/kvm_host.h | 36 +++++++
include/linux/pagemap.h | 1 +
mm/truncate.c | 3 +-
virt/kvm/Kconfig | 8 ++
virt/kvm/guest_memfd.c | 167 +++++++++++++++++++++++++----
9 files changed, 231 insertions(+), 26 deletions(-)
--
2.43.0
Powered by blists - more mailing lists