public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/9] KVM: guest_memfd: New hooks and functionality for SEV-SNP and TDX
@ 2024-05-07 18:07 Paolo Bonzini
  2024-05-07 18:07 ` [PATCH 1/9] mm: Introduce AS_INACCESSIBLE for encrypted/confidential memory Paolo Bonzini
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Paolo Bonzini @ 2024-05-07 18:07 UTC (permalink / raw)
  To: linux-kernel, kvm
  Cc: vbabka, isaku.yamahata, xiaoyao.li, binbin.wu, seanjc,
	rick.p.edgecombe, michael.roth, yilun.xu

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


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-05-08  0:15 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-07 18:07 [PATCH v2 0/9] KVM: guest_memfd: New hooks and functionality for SEV-SNP and TDX Paolo Bonzini
2024-05-07 18:07 ` [PATCH 1/9] mm: Introduce AS_INACCESSIBLE for encrypted/confidential memory Paolo Bonzini
2024-05-07 18:07 ` [PATCH 2/9] KVM: guest_memfd: Use AS_INACCESSIBLE when creating guest_memfd inode Paolo Bonzini
2024-05-07 18:07 ` [PATCH 3/9] KVM: guest_memfd: pass error up from filemap_grab_folio Paolo Bonzini
2024-05-07 18:07 ` [PATCH 4/9] KVM: guest_memfd: limit overzealous WARN Paolo Bonzini
2024-05-07 18:07 ` [PATCH 5/9] KVM: guest_memfd: Add hook for initializing memory Paolo Bonzini
2024-05-07 18:07 ` [PATCH 6/9] KVM: guest_memfd: extract __kvm_gmem_get_pfn() Paolo Bonzini
2024-05-07 18:07 ` [PATCH 7/9] KVM: guest_memfd: Add interface for populating gmem pages with user data Paolo Bonzini
2024-05-07 18:07 ` [PATCH 8/9] KVM: guest_memfd: Add hook for invalidating memory Paolo Bonzini
2024-05-07 18:07 ` [PATCH 9/9] KVM: x86: Add hook for determining max NPT mapping level Paolo Bonzini
2024-05-08  0:15 ` [PATCH v2 0/9] KVM: guest_memfd: New hooks and functionality for SEV-SNP and TDX Isaku Yamahata

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox