|  | 
|  | 1 | +From ba45bc1cd4624badfab75d73286d753403b3cfb5 Mon Sep 17 00:00:00 2001 | 
|  | 2 | +From: Fuad Tabba <[email protected] > | 
|  | 3 | +Date: Wed, 11 Jun 2025 14:33:13 +0100 | 
|  | 4 | +Subject: [PATCH 02/42] KVM: Rename CONFIG_KVM_PRIVATE_MEM to CONFIG_KVM_GMEM | 
|  | 5 | + | 
|  | 6 | +The option KVM_PRIVATE_MEM enables guest_memfd in general. Subsequent | 
|  | 7 | +patches add shared memory support to guest_memfd. Therefore, rename it | 
|  | 8 | +to KVM_GMEM to make its purpose clearer. | 
|  | 9 | + | 
|  | 10 | +Reviewed-by: Ira Weiny <[email protected] > | 
|  | 11 | +Reviewed-by: Gavin Shan <[email protected] > | 
|  | 12 | +Reviewed-by: Shivank Garg <[email protected] > | 
|  | 13 | +Reviewed-by: Vlastimil Babka <[email protected] > | 
|  | 14 | +Co-developed-by: David Hildenbrand <[email protected] > | 
|  | 15 | +Signed-off-by: David Hildenbrand <[email protected] > | 
|  | 16 | +Signed-off-by: Fuad Tabba <[email protected] > | 
|  | 17 | +--- | 
|  | 18 | + arch/x86/include/asm/kvm_host.h |  2 +- | 
|  | 19 | + include/linux/kvm_host.h        | 10 +++++----- | 
|  | 20 | + virt/kvm/Kconfig                |  8 ++++---- | 
|  | 21 | + virt/kvm/Makefile.kvm           |  2 +- | 
|  | 22 | + virt/kvm/kvm_main.c             |  4 ++-- | 
|  | 23 | + virt/kvm/kvm_mm.h               |  4 ++-- | 
|  | 24 | + 6 files changed, 15 insertions(+), 15 deletions(-) | 
|  | 25 | + | 
|  | 26 | +diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h | 
|  | 27 | +index b4a391929cdb..6e0bbf4c2202 100644 | 
|  | 28 | +--- a/arch/x86/include/asm/kvm_host.h | 
|  | 29 | ++++ b/arch/x86/include/asm/kvm_host.h | 
|  | 30 | +@@ -2269,7 +2269,7 @@ void kvm_configure_mmu(bool enable_tdp, int tdp_forced_root_level, | 
|  | 31 | + 		       int tdp_max_root_level, int tdp_huge_page_level); | 
|  | 32 | +  | 
|  | 33 | +  | 
|  | 34 | +-#ifdef CONFIG_KVM_PRIVATE_MEM | 
|  | 35 | ++#ifdef CONFIG_KVM_GMEM | 
|  | 36 | + #define kvm_arch_has_private_mem(kvm) ((kvm)->arch.has_private_mem) | 
|  | 37 | + #else | 
|  | 38 | + #define kvm_arch_has_private_mem(kvm) false | 
|  | 39 | +diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h | 
|  | 40 | +index 3bde4fb5c6aa..b2c415e81e2e 100644 | 
|  | 41 | +--- a/include/linux/kvm_host.h | 
|  | 42 | ++++ b/include/linux/kvm_host.h | 
|  | 43 | +@@ -601,7 +601,7 @@ struct kvm_memory_slot { | 
|  | 44 | + 	short id; | 
|  | 45 | + 	u16 as_id; | 
|  | 46 | +  | 
|  | 47 | +-#ifdef CONFIG_KVM_PRIVATE_MEM | 
|  | 48 | ++#ifdef CONFIG_KVM_GMEM | 
|  | 49 | + 	struct { | 
|  | 50 | + 		/* | 
|  | 51 | + 		 * Writes protected by kvm->slots_lock.  Acquiring a | 
|  | 52 | +@@ -722,7 +722,7 @@ static inline int kvm_arch_vcpu_memslots_id(struct kvm_vcpu *vcpu) | 
|  | 53 | +  * Arch code must define kvm_arch_has_private_mem if support for private memory | 
|  | 54 | +  * is enabled. | 
|  | 55 | +  */ | 
|  | 56 | +-#if !defined(kvm_arch_has_private_mem) && !IS_ENABLED(CONFIG_KVM_PRIVATE_MEM) | 
|  | 57 | ++#if !defined(kvm_arch_has_private_mem) && !IS_ENABLED(CONFIG_KVM_GMEM) | 
|  | 58 | + static inline bool kvm_arch_has_private_mem(struct kvm *kvm) | 
|  | 59 | + { | 
|  | 60 | + 	return false; | 
|  | 61 | +@@ -2527,7 +2527,7 @@ bool kvm_arch_post_set_memory_attributes(struct kvm *kvm, | 
|  | 62 | +  | 
|  | 63 | + static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn) | 
|  | 64 | + { | 
|  | 65 | +-	return IS_ENABLED(CONFIG_KVM_PRIVATE_MEM) && | 
|  | 66 | ++	return IS_ENABLED(CONFIG_KVM_GMEM) && | 
|  | 67 | + 	       kvm_get_memory_attributes(kvm, gfn) & KVM_MEMORY_ATTRIBUTE_PRIVATE; | 
|  | 68 | + } | 
|  | 69 | + #else | 
|  | 70 | +@@ -2537,7 +2537,7 @@ static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn) | 
|  | 71 | + } | 
|  | 72 | + #endif /* CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES */ | 
|  | 73 | +  | 
|  | 74 | +-#ifdef CONFIG_KVM_PRIVATE_MEM | 
|  | 75 | ++#ifdef CONFIG_KVM_GMEM | 
|  | 76 | + int kvm_gmem_get_pfn(struct kvm *kvm, struct kvm_memory_slot *slot, | 
|  | 77 | + 		     gfn_t gfn, kvm_pfn_t *pfn, struct page **page, | 
|  | 78 | + 		     int *max_order); | 
|  | 79 | +@@ -2550,7 +2550,7 @@ static inline int kvm_gmem_get_pfn(struct kvm *kvm, | 
|  | 80 | + 	KVM_BUG_ON(1, kvm); | 
|  | 81 | + 	return -EIO; | 
|  | 82 | + } | 
|  | 83 | +-#endif /* CONFIG_KVM_PRIVATE_MEM */ | 
|  | 84 | ++#endif /* CONFIG_KVM_GMEM */ | 
|  | 85 | +  | 
|  | 86 | + #ifdef CONFIG_HAVE_KVM_ARCH_GMEM_PREPARE | 
|  | 87 | + int kvm_arch_gmem_prepare(struct kvm *kvm, gfn_t gfn, kvm_pfn_t pfn, int max_order); | 
|  | 88 | +diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig | 
|  | 89 | +index 727b542074e7..49df4e32bff7 100644 | 
|  | 90 | +--- a/virt/kvm/Kconfig | 
|  | 91 | ++++ b/virt/kvm/Kconfig | 
|  | 92 | +@@ -112,19 +112,19 @@ config KVM_GENERIC_MEMORY_ATTRIBUTES | 
|  | 93 | +        depends on KVM_GENERIC_MMU_NOTIFIER | 
|  | 94 | +        bool | 
|  | 95 | +  | 
|  | 96 | +-config KVM_PRIVATE_MEM | 
|  | 97 | ++config KVM_GMEM | 
|  | 98 | +        select XARRAY_MULTI | 
|  | 99 | +        bool | 
|  | 100 | +  | 
|  | 101 | + config KVM_GENERIC_PRIVATE_MEM | 
|  | 102 | +        select KVM_GENERIC_MEMORY_ATTRIBUTES | 
|  | 103 | +-       select KVM_PRIVATE_MEM | 
|  | 104 | ++       select KVM_GMEM | 
|  | 105 | +        bool | 
|  | 106 | +  | 
|  | 107 | + config HAVE_KVM_ARCH_GMEM_PREPARE | 
|  | 108 | +        bool | 
|  | 109 | +-       depends on KVM_PRIVATE_MEM | 
|  | 110 | ++       depends on KVM_GMEM | 
|  | 111 | +  | 
|  | 112 | + config HAVE_KVM_ARCH_GMEM_INVALIDATE | 
|  | 113 | +        bool | 
|  | 114 | +-       depends on KVM_PRIVATE_MEM | 
|  | 115 | ++       depends on KVM_GMEM | 
|  | 116 | +diff --git a/virt/kvm/Makefile.kvm b/virt/kvm/Makefile.kvm | 
|  | 117 | +index 724c89af78af..8d00918d4c8b 100644 | 
|  | 118 | +--- a/virt/kvm/Makefile.kvm | 
|  | 119 | ++++ b/virt/kvm/Makefile.kvm | 
|  | 120 | +@@ -12,4 +12,4 @@ kvm-$(CONFIG_KVM_ASYNC_PF) += $(KVM)/async_pf.o | 
|  | 121 | + kvm-$(CONFIG_HAVE_KVM_IRQ_ROUTING) += $(KVM)/irqchip.o | 
|  | 122 | + kvm-$(CONFIG_HAVE_KVM_DIRTY_RING) += $(KVM)/dirty_ring.o | 
|  | 123 | + kvm-$(CONFIG_HAVE_KVM_PFNCACHE) += $(KVM)/pfncache.o | 
|  | 124 | +-kvm-$(CONFIG_KVM_PRIVATE_MEM) += $(KVM)/guest_memfd.o | 
|  | 125 | ++kvm-$(CONFIG_KVM_GMEM) += $(KVM)/guest_memfd.o | 
|  | 126 | +diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c | 
|  | 127 | +index eec82775c5bf..898c3d5a7ba8 100644 | 
|  | 128 | +--- a/virt/kvm/kvm_main.c | 
|  | 129 | ++++ b/virt/kvm/kvm_main.c | 
|  | 130 | +@@ -4910,7 +4910,7 @@ static int kvm_vm_ioctl_check_extension_generic(struct kvm *kvm, long arg) | 
|  | 131 | + 	case KVM_CAP_MEMORY_ATTRIBUTES: | 
|  | 132 | + 		return kvm_supported_mem_attributes(kvm); | 
|  | 133 | + #endif | 
|  | 134 | +-#ifdef CONFIG_KVM_PRIVATE_MEM | 
|  | 135 | ++#ifdef CONFIG_KVM_GMEM | 
|  | 136 | + 	case KVM_CAP_GUEST_MEMFD: | 
|  | 137 | + 		return !kvm || kvm_arch_has_private_mem(kvm); | 
|  | 138 | + #endif | 
|  | 139 | +@@ -5344,7 +5344,7 @@ static long kvm_vm_ioctl(struct file *filp, | 
|  | 140 | + 	case KVM_GET_STATS_FD: | 
|  | 141 | + 		r = kvm_vm_ioctl_get_stats_fd(kvm); | 
|  | 142 | + 		break; | 
|  | 143 | +-#ifdef CONFIG_KVM_PRIVATE_MEM | 
|  | 144 | ++#ifdef CONFIG_KVM_GMEM | 
|  | 145 | + 	case KVM_CREATE_GUEST_MEMFD: { | 
|  | 146 | + 		struct kvm_create_guest_memfd guest_memfd; | 
|  | 147 | +  | 
|  | 148 | +diff --git a/virt/kvm/kvm_mm.h b/virt/kvm/kvm_mm.h | 
|  | 149 | +index acef3f5c582a..ec311c0d6718 100644 | 
|  | 150 | +--- a/virt/kvm/kvm_mm.h | 
|  | 151 | ++++ b/virt/kvm/kvm_mm.h | 
|  | 152 | +@@ -67,7 +67,7 @@ static inline void gfn_to_pfn_cache_invalidate_start(struct kvm *kvm, | 
|  | 153 | + } | 
|  | 154 | + #endif /* HAVE_KVM_PFNCACHE */ | 
|  | 155 | +  | 
|  | 156 | +-#ifdef CONFIG_KVM_PRIVATE_MEM | 
|  | 157 | ++#ifdef CONFIG_KVM_GMEM | 
|  | 158 | + void kvm_gmem_init(struct module *module); | 
|  | 159 | + int kvm_gmem_create(struct kvm *kvm, struct kvm_create_guest_memfd *args); | 
|  | 160 | + int kvm_gmem_bind(struct kvm *kvm, struct kvm_memory_slot *slot, | 
|  | 161 | +@@ -91,6 +91,6 @@ static inline void kvm_gmem_unbind(struct kvm_memory_slot *slot) | 
|  | 162 | + { | 
|  | 163 | + 	WARN_ON_ONCE(1); | 
|  | 164 | + } | 
|  | 165 | +-#endif /* CONFIG_KVM_PRIVATE_MEM */ | 
|  | 166 | ++#endif /* CONFIG_KVM_GMEM */ | 
|  | 167 | +  | 
|  | 168 | + #endif /* __KVM_MM_H__ */ | 
|  | 169 | +--  | 
|  | 170 | +2.49.0 | 
|  | 171 | + | 
0 commit comments