1- From 000264f8823f76fb6cf91dc40ace84a29a0fa089 Mon Sep 17 00:00:00 2001
1+ From 83ed02c1c583b5b831e7827453845fe4fd7b4c80 Mon Sep 17 00:00:00 2001
22From: Fuad Tabba <
[email protected] >
3- Date: Tue, 15 Jul 2025 10:33:30 +0100
4- Subject: [PATCH 01/46] KVM: Rename CONFIG_KVM_PRIVATE_MEM to CONFIG_KVM_GMEM
3+ Date: Tue, 29 Jul 2025 15:54:32 -0700
4+ Subject: [PATCH 01/49] KVM: Rename CONFIG_KVM_PRIVATE_MEM to
5+ CONFIG_KVM_GUEST_MEMFD
56
6- Rename the Kconfig option CONFIG_KVM_PRIVATE_MEM to CONFIG_KVM_GMEM. The
7- original name implied that the feature only supported "private" memory.
8- However, CONFIG_KVM_PRIVATE_MEM enables guest_memfd in general, which is
9- not exclusively for private memory. Subsequent patches in this series
10- will add guest_memfd support for non-CoCo VMs, whose memory is not
11- private.
7+ Rename the Kconfig option CONFIG_KVM_PRIVATE_MEM to
8+ CONFIG_KVM_GUEST_MEMFD. The original name implied that the feature only
9+ supported "private" memory. However, CONFIG_KVM_PRIVATE_MEM enables
10+ guest_memfd in general, which is not exclusively for private memory.
11+ Subsequent patches in this series will add guest_memfd support for
12+ non-CoCo VMs, whose memory is not private.
1213
13- Renaming the Kconfig option to CONFIG_KVM_GMEM more accurately reflects
14- its broader scope as the main Kconfig option for all guest_memfd-backed
15- memory. This provides clearer semantics for the option and avoids
16- confusion as new features are introduced.
14+ Renaming the Kconfig option to CONFIG_KVM_GUEST_MEMFD more accurately
15+ reflects its broader scope as the main Kconfig option for all
16+ guest_memfd-backed memory. This provides clearer semantics for the
17+ option and avoids confusion as new features are introduced.
1718
1819Reviewed-by: Ira Weiny <
[email protected] >
1920Reviewed-by: Gavin Shan <
[email protected] >
2021Reviewed-by: Shivank Garg <
[email protected] >
2122Reviewed-by: Vlastimil Babka <
[email protected] >
23+ Reviewed-by: Xiaoyao Li <
[email protected] >
2224Co-developed-by: David Hildenbrand <
[email protected] >
2325Signed-off-by: David Hildenbrand <
[email protected] >
2426Signed-off-by: Fuad Tabba <
[email protected] >
27+ Signed-off-by: Sean Christopherson <
[email protected] >
2528---
2629 arch/x86/include/asm/kvm_host.h | 2 +-
2730 include/linux/kvm_host.h | 14 +++++++-------
3235 6 files changed, 17 insertions(+), 17 deletions(-)
3336
3437diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
35- index f7af967aa16f..acb25f935d84 100644
38+ index f19a76d3ca0e..7b0f2b3e492d 100644
3639--- a/arch/x86/include/asm/kvm_host.h
3740+++ b/arch/x86/include/asm/kvm_host.h
38- @@ -2275 ,7 +2275 ,7 @@ void kvm_configure_mmu(bool enable_tdp, int tdp_forced_root_level,
41+ @@ -2276 ,7 +2276 ,7 @@ void kvm_configure_mmu(bool enable_tdp, int tdp_forced_root_level,
3942 int tdp_max_root_level, int tdp_huge_page_level);
4043
4144
4245- #ifdef CONFIG_KVM_PRIVATE_MEM
43- + #ifdef CONFIG_KVM_GMEM
46+ + #ifdef CONFIG_KVM_GUEST_MEMFD
4447 #define kvm_arch_has_private_mem(kvm) ((kvm)->arch.has_private_mem)
4548 #else
4649 #define kvm_arch_has_private_mem(kvm) false
4750diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
48- index 3bde4fb5c6aa..755b09dcafce 100644
51+ index 15656b7fba6c..8cdc0b3cc1b1 100644
4952--- a/include/linux/kvm_host.h
5053+++ b/include/linux/kvm_host.h
51- @@ -601 ,7 +601 ,7 @@ struct kvm_memory_slot {
54+ @@ -602 ,7 +602 ,7 @@ struct kvm_memory_slot {
5255 short id;
5356 u16 as_id;
5457
5558- #ifdef CONFIG_KVM_PRIVATE_MEM
56- + #ifdef CONFIG_KVM_GMEM
59+ + #ifdef CONFIG_KVM_GUEST_MEMFD
5760 struct {
5861 /*
5962 * Writes protected by kvm->slots_lock. Acquiring a
60- @@ -719 ,10 +719 ,10 @@ static inline int kvm_arch_vcpu_memslots_id(struct kvm_vcpu *vcpu)
63+ @@ -720 ,10 +720 ,10 @@ static inline int kvm_arch_vcpu_memslots_id(struct kvm_vcpu *vcpu)
6164 #endif
6265
6366 /*
@@ -67,107 +70,107 @@ index 3bde4fb5c6aa..755b09dcafce 100644
6770+ * enabled.
6871 */
6972- #if !defined(kvm_arch_has_private_mem) && !IS_ENABLED(CONFIG_KVM_PRIVATE_MEM)
70- + #if !defined(kvm_arch_has_private_mem) && !IS_ENABLED(CONFIG_KVM_GMEM )
73+ + #if !defined(kvm_arch_has_private_mem) && !IS_ENABLED(CONFIG_KVM_GUEST_MEMFD )
7174 static inline bool kvm_arch_has_private_mem(struct kvm *kvm)
7275 {
7376 return false;
74- @@ -2527 ,7 +2527 ,7 @@ bool kvm_arch_post_set_memory_attributes(struct kvm *kvm,
77+ @@ -2505 ,7 +2505 ,7 @@ bool kvm_arch_post_set_memory_attributes(struct kvm *kvm,
7578
7679 static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn)
7780 {
7881- return IS_ENABLED(CONFIG_KVM_PRIVATE_MEM) &&
79- + return IS_ENABLED(CONFIG_KVM_GMEM ) &&
82+ + return IS_ENABLED(CONFIG_KVM_GUEST_MEMFD ) &&
8083 kvm_get_memory_attributes(kvm, gfn) & KVM_MEMORY_ATTRIBUTE_PRIVATE;
8184 }
8285 #else
83- @@ -2537 ,7 +2537 ,7 @@ static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn)
86+ @@ -2515 ,7 +2515 ,7 @@ static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn)
8487 }
8588 #endif /* CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES */
8689
8790- #ifdef CONFIG_KVM_PRIVATE_MEM
88- + #ifdef CONFIG_KVM_GMEM
91+ + #ifdef CONFIG_KVM_GUEST_MEMFD
8992 int kvm_gmem_get_pfn(struct kvm *kvm, struct kvm_memory_slot *slot,
9093 gfn_t gfn, kvm_pfn_t *pfn, struct page **page,
9194 int *max_order);
92- @@ -2550 ,7 +2550 ,7 @@ static inline int kvm_gmem_get_pfn(struct kvm *kvm,
95+ @@ -2528 ,7 +2528 ,7 @@ static inline int kvm_gmem_get_pfn(struct kvm *kvm,
9396 KVM_BUG_ON(1, kvm);
9497 return -EIO;
9598 }
9699- #endif /* CONFIG_KVM_PRIVATE_MEM */
97- + #endif /* CONFIG_KVM_GMEM */
100+ + #endif /* CONFIG_KVM_GUEST_MEMFD */
98101
99102 #ifdef CONFIG_HAVE_KVM_ARCH_GMEM_PREPARE
100103 int kvm_arch_gmem_prepare(struct kvm *kvm, gfn_t gfn, kvm_pfn_t pfn, int max_order);
101104diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
102- index 727b542074e7..49df4e32bff7 100644
105+ index 727b542074e7..e4b400feff94 100644
103106--- a/virt/kvm/Kconfig
104107+++ b/virt/kvm/Kconfig
105108@@ -112,19 +112,19 @@ config KVM_GENERIC_MEMORY_ATTRIBUTES
106109 depends on KVM_GENERIC_MMU_NOTIFIER
107110 bool
108111
109112- config KVM_PRIVATE_MEM
110- + config KVM_GMEM
113+ + config KVM_GUEST_MEMFD
111114 select XARRAY_MULTI
112115 bool
113116
114117 config KVM_GENERIC_PRIVATE_MEM
115118 select KVM_GENERIC_MEMORY_ATTRIBUTES
116119- select KVM_PRIVATE_MEM
117- + select KVM_GMEM
120+ + select KVM_GUEST_MEMFD
118121 bool
119122
120123 config HAVE_KVM_ARCH_GMEM_PREPARE
121124 bool
122125- depends on KVM_PRIVATE_MEM
123- + depends on KVM_GMEM
126+ + depends on KVM_GUEST_MEMFD
124127
125128 config HAVE_KVM_ARCH_GMEM_INVALIDATE
126129 bool
127130- depends on KVM_PRIVATE_MEM
128- + depends on KVM_GMEM
131+ + depends on KVM_GUEST_MEMFD
129132diff --git a/virt/kvm/Makefile.kvm b/virt/kvm/Makefile.kvm
130- index 724c89af78af..8d00918d4c8b 100644
133+ index 724c89af78af..d047d4cf58c9 100644
131134--- a/virt/kvm/Makefile.kvm
132135+++ b/virt/kvm/Makefile.kvm
133136@@ -12,4 +12,4 @@ kvm-$(CONFIG_KVM_ASYNC_PF) += $(KVM)/async_pf.o
134137 kvm-$(CONFIG_HAVE_KVM_IRQ_ROUTING) += $(KVM)/irqchip.o
135138 kvm-$(CONFIG_HAVE_KVM_DIRTY_RING) += $(KVM)/dirty_ring.o
136139 kvm-$(CONFIG_HAVE_KVM_PFNCACHE) += $(KVM)/pfncache.o
137140- kvm-$(CONFIG_KVM_PRIVATE_MEM) += $(KVM)/guest_memfd.o
138- + kvm-$(CONFIG_KVM_GMEM ) += $(KVM)/guest_memfd.o
141+ + kvm-$(CONFIG_KVM_GUEST_MEMFD ) += $(KVM)/guest_memfd.o
139142diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
140- index 222f0e894a0c..d5f0ec2d321f 100644
143+ index 6c07dd423458..25a94eed75fd 100644
141144--- a/virt/kvm/kvm_main.c
142145+++ b/virt/kvm/kvm_main.c
143- @@ -4913 ,7 +4913 ,7 @@ static int kvm_vm_ioctl_check_extension_generic(struct kvm *kvm, long arg)
146+ @@ -4915 ,7 +4915 ,7 @@ static int kvm_vm_ioctl_check_extension_generic(struct kvm *kvm, long arg)
144147 case KVM_CAP_MEMORY_ATTRIBUTES:
145148 return kvm_supported_mem_attributes(kvm);
146149 #endif
147150- #ifdef CONFIG_KVM_PRIVATE_MEM
148- + #ifdef CONFIG_KVM_GMEM
151+ + #ifdef CONFIG_KVM_GUEST_MEMFD
149152 case KVM_CAP_GUEST_MEMFD:
150153 return !kvm || kvm_arch_has_private_mem(kvm);
151154 #endif
152- @@ -5347 ,7 +5347 ,7 @@ static long kvm_vm_ioctl(struct file *filp,
155+ @@ -5352 ,7 +5352 ,7 @@ static long kvm_vm_ioctl(struct file *filp,
153156 case KVM_GET_STATS_FD:
154157 r = kvm_vm_ioctl_get_stats_fd(kvm);
155158 break;
156159- #ifdef CONFIG_KVM_PRIVATE_MEM
157- + #ifdef CONFIG_KVM_GMEM
160+ + #ifdef CONFIG_KVM_GUEST_MEMFD
158161 case KVM_CREATE_GUEST_MEMFD: {
159162 struct kvm_create_guest_memfd guest_memfd;
160163
161164diff --git a/virt/kvm/kvm_mm.h b/virt/kvm/kvm_mm.h
162- index acef3f5c582a..ec311c0d6718 100644
165+ index acef3f5c582a..31defb08ccba 100644
163166--- a/virt/kvm/kvm_mm.h
164167+++ b/virt/kvm/kvm_mm.h
165168@@ -67,7 +67,7 @@ static inline void gfn_to_pfn_cache_invalidate_start(struct kvm *kvm,
166169 }
167170 #endif /* HAVE_KVM_PFNCACHE */
168171
169172- #ifdef CONFIG_KVM_PRIVATE_MEM
170- + #ifdef CONFIG_KVM_GMEM
173+ + #ifdef CONFIG_KVM_GUEST_MEMFD
171174 void kvm_gmem_init(struct module *module);
172175 int kvm_gmem_create(struct kvm *kvm, struct kvm_create_guest_memfd *args);
173176 int kvm_gmem_bind(struct kvm *kvm, struct kvm_memory_slot *slot,
@@ -176,7 +179,7 @@ index acef3f5c582a..ec311c0d6718 100644
176179 WARN_ON_ONCE(1);
177180 }
178181- #endif /* CONFIG_KVM_PRIVATE_MEM */
179- + #endif /* CONFIG_KVM_GMEM */
182+ + #endif /* CONFIG_KVM_GUEST_MEMFD */
180183
181184 #endif /* __KVM_MM_H__ */
182185- -
0 commit comments