|
| 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