linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Kai Huang <kai.huang@intel.com>
Cc: Tina Zhang <tina.zhang@intel.com>,
	Hang Yuan <hang.yuan@intel.com>,  Bo Chen <chen.bo@intel.com>,
	"sagis@google.com" <sagis@google.com>,
	 "isaku.yamahata@gmail.com" <isaku.yamahata@gmail.com>,
	 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Erdem Aktas <erdemaktas@google.com>,
	 "kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"pbonzini@redhat.com" <pbonzini@redhat.com>,
	 Isaku Yamahata <isaku.yamahata@intel.com>,
	 "isaku.yamahata@linux.intel.com"
	<isaku.yamahata@linux.intel.com>
Subject: Re: [PATCH v19 023/130] KVM: TDX: Initialize the TDX module when loading the KVM intel kernel module
Date: Wed, 17 Apr 2024 07:40:04 -0700	[thread overview]
Message-ID: <Zh_exbWc90khzmYm@google.com> (raw)
In-Reply-To: <900fc6f75b3704780ac16c90ace23b2f465bb689.camel@intel.com>

On Wed, Apr 17, 2024, Kai Huang wrote:
> On Tue, 2024-04-16 at 13:58 -0700, Sean Christopherson wrote:
> > On Fri, Apr 12, 2024, Kai Huang wrote:
> > > On 12/04/2024 2:03 am, Sean Christopherson wrote:
> > > > On Thu, Apr 11, 2024, Kai Huang wrote:
> > > > > I can certainly follow up with this and generate a reviewable patchset if I
> > > > > can confirm with you that this is what you want?
> > > > 
> > > > Yes, I think it's the right direction.  I still have minor concerns about VMX
> > > > being enabled while kvm.ko is loaded, which means that VMXON will _always_ be
> > > > enabled if KVM is built-in.  But after seeing the complexity that is needed to
> > > > safely initialize TDX, and after seeing just how much complexity KVM already
> > > > has because it enables VMX on-demand (I hadn't actually tried removing that code
> > > > before), I think the cost of that complexity far outweighs the risk of "always"
> > > > being post-VMXON.
> > > 
> > > Does always leaving VMXON have any actual damage, given we have emergency
> > > virtualization shutdown?
> > 
> > Being post-VMXON increases the risk of kexec() into the kdump kernel failing.
> > The tradeoffs that we're trying to balance are: is the risk of kexec() failing
> > due to the complexity of the emergency VMX code higher than the risk of us breaking
> > things in general due to taking on a ton of complexity to juggle VMXON for TDX?
> > 
> > After seeing the latest round of TDX code, my opinion is that being post-VMXON
> > is less risky overall, in no small part because we need that to work anyways for
> > hosts that are actively running VMs.
> 
> How about we only keep VMX always on when TDX is enabled?

Paolo also suggested that forcing VMXON only if TDX is enabled, mostly because
kvm-intel.ko and kvm-amd.ko may be auto-loaded based on MODULE_DEVICE_TABLE(),
which in turn causes problems for out-of-tree hypervisors that want control over
VMX and SVM.

I'm not opposed to the idea, it's the complexity and messiness I dislike.  E.g.
the TDX code shouldn't have to deal with CPU hotplug locks, core KVM shouldn't
need to expose nolock helpers, etc.  And if we're going to make non-trivial
changes to the core KVM hardware enabling code anyways...

What about this?  Same basic idea as before, but instead of unconditionally doing
hardware enabling during module initialization, let TDX do hardware enabling in
a late_hardware_setup(), and then have KVM x86 ensure virtualization is enabled
when creating VMs.

This way, architectures that aren't saddled with out-of-tree hypervisors can do
the dead simple thing of enabling hardware during their initialization sequence,
and the TDX code is much more sane, e.g. invoke kvm_x86_enable_virtualization()
during late_hardware_setup(), and kvm_x86_disable_virtualization() during module
exit (presumably).

---
 Documentation/virt/kvm/locking.rst |   4 -
 arch/x86/include/asm/kvm_host.h    |   3 +
 arch/x86/kvm/svm/svm.c             |   5 +-
 arch/x86/kvm/vmx/vmx.c             |  18 ++-
 arch/x86/kvm/x86.c                 |  59 +++++++---
 arch/x86/kvm/x86.h                 |   2 +
 include/linux/kvm_host.h           |   2 +
 virt/kvm/kvm_main.c                | 181 +++++++----------------------
 8 files changed, 104 insertions(+), 170 deletions(-)

diff --git a/Documentation/virt/kvm/locking.rst b/Documentation/virt/kvm/locking.rst
index 02880d5552d5..0d6eff13fd46 100644
--- a/Documentation/virt/kvm/locking.rst
+++ b/Documentation/virt/kvm/locking.rst
@@ -227,10 +227,6 @@ time it will be set using the Dirty tracking mechanism described above.
 :Type:		mutex
 :Arch:		any
 :Protects:	- vm_list
-		- kvm_usage_count
-		- hardware virtualization enable/disable
-:Comment:	KVM also disables CPU hotplug via cpus_read_lock() during
-		enable/disable.
 
 ``kvm->mn_invalidate_lock``
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 73740d698ebe..7422239987d8 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -36,6 +36,7 @@
 #include <asm/kvm_page_track.h>
 #include <asm/kvm_vcpu_regs.h>
 #include <asm/hyperv-tlfs.h>
+#include <asm/reboot.h>
 
 #define __KVM_HAVE_ARCH_VCPU_DEBUGFS
 
@@ -1605,6 +1606,8 @@ struct kvm_x86_ops {
 
 	int (*hardware_enable)(void);
 	void (*hardware_disable)(void);
+	cpu_emergency_virt_cb *emergency_disable;
+
 	void (*hardware_unsetup)(void);
 	bool (*has_emulated_msr)(struct kvm *kvm, u32 index);
 	void (*vcpu_after_set_cpuid)(struct kvm_vcpu *vcpu);
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index 9aaf83c8d57d..7e118284934c 100644
--- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c
@@ -4917,6 +4917,7 @@ static void *svm_alloc_apic_backing_page(struct kvm_vcpu *vcpu)
 static struct kvm_x86_ops svm_x86_ops __initdata = {
 	.name = KBUILD_MODNAME,
 
+	.emergency_disable = svm_emergency_disable,
 	.check_processor_compatibility = svm_check_processor_compat,
 
 	.hardware_unsetup = svm_hardware_unsetup,
@@ -5348,8 +5349,6 @@ static struct kvm_x86_init_ops svm_init_ops __initdata = {
 static void __svm_exit(void)
 {
 	kvm_x86_vendor_exit();
-
-	cpu_emergency_unregister_virt_callback(svm_emergency_disable);
 }
 
 static int __init svm_init(void)
@@ -5365,8 +5364,6 @@ static int __init svm_init(void)
 	if (r)
 		return r;
 
-	cpu_emergency_register_virt_callback(svm_emergency_disable);
-
 	/*
 	 * Common KVM initialization _must_ come last, after this, /dev/kvm is
 	 * exposed to userspace!
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index d18dcb1e11a6..0dbe74da7ee3 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -8320,6 +8320,8 @@ static struct kvm_x86_ops vmx_x86_ops __initdata = {
 
 	.hardware_enable = vmx_hardware_enable,
 	.hardware_disable = vmx_hardware_disable,
+	.emergency_disable = vmx_emergency_disable,
+
 	.has_emulated_msr = vmx_has_emulated_msr,
 
 	.vm_size = sizeof(struct kvm_vmx),
@@ -8733,8 +8735,6 @@ static void __vmx_exit(void)
 {
 	allow_smaller_maxphyaddr = false;
 
-	cpu_emergency_unregister_virt_callback(vmx_emergency_disable);
-
 	vmx_cleanup_l1d_flush();
 }
 
@@ -8760,6 +8760,12 @@ static int __init vmx_init(void)
 	 */
 	hv_init_evmcs();
 
+	for_each_possible_cpu(cpu) {
+		INIT_LIST_HEAD(&per_cpu(loaded_vmcss_on_cpu, cpu));
+
+		pi_init_cpu(cpu);
+	}
+
 	r = kvm_x86_vendor_init(&vmx_init_ops);
 	if (r)
 		return r;
@@ -8775,14 +8781,6 @@ static int __init vmx_init(void)
 	if (r)
 		goto err_l1d_flush;
 
-	for_each_possible_cpu(cpu) {
-		INIT_LIST_HEAD(&per_cpu(loaded_vmcss_on_cpu, cpu));
-
-		pi_init_cpu(cpu);
-	}
-
-	cpu_emergency_register_virt_callback(vmx_emergency_disable);
-
 	vmx_check_vmcs12_offsets();
 
 	/*
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 26288ca05364..fdf6e05000c1 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -134,6 +134,7 @@ static void __get_sregs2(struct kvm_vcpu *vcpu, struct kvm_sregs2 *sregs2);
 
 static DEFINE_MUTEX(vendor_module_lock);
 struct kvm_x86_ops kvm_x86_ops __read_mostly;
+static int kvm_usage_count;
 
 #define KVM_X86_OP(func)					     \
 	DEFINE_STATIC_CALL_NULL(kvm_x86_##func,			     \
@@ -9687,15 +9688,10 @@ static int kvm_x86_check_processor_compatibility(void)
 	return static_call(kvm_x86_check_processor_compatibility)();
 }
 
-static void kvm_x86_check_cpu_compat(void *ret)
-{
-	*(int *)ret = kvm_x86_check_processor_compatibility();
-}
-
 int kvm_x86_vendor_init(struct kvm_x86_init_ops *ops)
 {
 	u64 host_pat;
-	int r, cpu;
+	int r;
 
 	guard(mutex)(&vendor_module_lock);
 
@@ -9771,11 +9767,11 @@ int kvm_x86_vendor_init(struct kvm_x86_init_ops *ops)
 
 	kvm_ops_update(ops);
 
-	for_each_online_cpu(cpu) {
-		smp_call_function_single(cpu, kvm_x86_check_cpu_compat, &r, 1);
-		if (r < 0)
-			goto out_unwind_ops;
-	}
+	cpu_emergency_register_virt_callback(kvm_x86_ops.emergency_disable);
+
+	r = ops->late_hardware_setup();
+	if (r)
+		goto out_unwind_ops;
 
 	/*
 	 * Point of no return!  DO NOT add error paths below this point unless
@@ -9818,6 +9814,7 @@ int kvm_x86_vendor_init(struct kvm_x86_init_ops *ops)
 	return 0;
 
 out_unwind_ops:
+	cpu_emergency_unregister_virt_callback(kvm_x86_ops.emergency_disable);
 	kvm_x86_ops.hardware_enable = NULL;
 	static_call(kvm_x86_hardware_unsetup)();
 out_mmu_exit:
@@ -9858,6 +9855,10 @@ void kvm_x86_vendor_exit(void)
 	static_key_deferred_flush(&kvm_xen_enabled);
 	WARN_ON(static_branch_unlikely(&kvm_xen_enabled.key));
 #endif
+
+	kvm_disable_virtualization();
+	cpu_emergency_unregister_virt_callback(kvm_x86_ops.emergency_disable);
+
 	mutex_lock(&vendor_module_lock);
 	kvm_x86_ops.hardware_enable = NULL;
 	mutex_unlock(&vendor_module_lock);
@@ -12522,6 +12523,33 @@ void kvm_arch_free_vm(struct kvm *kvm)
 	__kvm_arch_free_vm(kvm);
 }
 
+int kvm_x86_enable_virtualization(void)
+{
+	int r;
+
+	guard(mutex)(&vendor_module_lock);
+
+	if (kvm_usage_count++)
+		return 0;
+
+	r = kvm_enable_virtualization();
+	if (r)
+		--kvm_usage_count;
+
+	return r;
+}
+EXPORT_SYMBOL_GPL(kvm_x86_enable_virtualization);
+
+void kvm_x86_disable_virtualization(void)
+{
+	guard(mutex)(&vendor_module_lock);
+
+	if (--kvm_usage_count)
+		return;
+
+	kvm_disable_virtualization();
+}
+EXPORT_SYMBOL_GPL(kvm_x86_disable_virtualization);
 
 int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
 {
@@ -12533,9 +12561,13 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
 
 	kvm->arch.vm_type = type;
 
+	ret = kvm_x86_enable_virtualization();
+	if (ret)
+		return ret;
+
 	ret = kvm_page_track_init(kvm);
 	if (ret)
-		goto out;
+		goto out_disable_virtualization;
 
 	kvm_mmu_init_vm(kvm);
 
@@ -12582,7 +12614,8 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
 out_uninit_mmu:
 	kvm_mmu_uninit_vm(kvm);
 	kvm_page_track_cleanup(kvm);
-out:
+out_disable_virtualization:
+	kvm_x86_disable_virtualization();
 	return ret;
 }
 
diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
index a8b71803777b..427c5d102525 100644
--- a/arch/x86/kvm/x86.h
+++ b/arch/x86/kvm/x86.h
@@ -32,6 +32,8 @@ struct kvm_caps {
 };
 
 void kvm_spurious_fault(void);
+int kvm_x86_enable_virtualization(void);
+void kvm_x86_disable_virtualization(void);
 
 #define KVM_NESTED_VMENTER_CONSISTENCY_CHECK(consistency_check)		\
 ({									\
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 48f31dcd318a..92da2eee7448 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -1518,6 +1518,8 @@ static inline void kvm_create_vcpu_debugfs(struct kvm_vcpu *vcpu) {}
 #endif
 
 #ifdef CONFIG_KVM_GENERIC_HARDWARE_ENABLING
+int kvm_enable_virtualization(void);
+void kvm_disable_virtualization(void);
 int kvm_arch_hardware_enable(void);
 void kvm_arch_hardware_disable(void);
 #endif
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index f345dc15854f..326e3225c052 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -139,8 +139,6 @@ static int kvm_no_compat_open(struct inode *inode, struct file *file)
 #define KVM_COMPAT(c)	.compat_ioctl	= kvm_no_compat_ioctl,	\
 			.open		= kvm_no_compat_open
 #endif
-static int hardware_enable_all(void);
-static void hardware_disable_all(void);
 
 static void kvm_io_bus_destroy(struct kvm_io_bus *bus);
 
@@ -1261,10 +1259,6 @@ static struct kvm *kvm_create_vm(unsigned long type, const char *fdname)
 	if (r)
 		goto out_err_no_arch_destroy_vm;
 
-	r = hardware_enable_all();
-	if (r)
-		goto out_err_no_disable;
-
 #ifdef CONFIG_HAVE_KVM_IRQCHIP
 	INIT_HLIST_HEAD(&kvm->irq_ack_notifier_list);
 #endif
@@ -1304,8 +1298,6 @@ static struct kvm *kvm_create_vm(unsigned long type, const char *fdname)
 		mmu_notifier_unregister(&kvm->mmu_notifier, current->mm);
 #endif
 out_err_no_mmu_notifier:
-	hardware_disable_all();
-out_err_no_disable:
 	kvm_arch_destroy_vm(kvm);
 out_err_no_arch_destroy_vm:
 	WARN_ON_ONCE(!refcount_dec_and_test(&kvm->users_count));
@@ -1393,7 +1385,6 @@ static void kvm_destroy_vm(struct kvm *kvm)
 #endif
 	kvm_arch_free_vm(kvm);
 	preempt_notifier_dec();
-	hardware_disable_all();
 	mmdrop(mm);
 }
 
@@ -5536,9 +5527,8 @@ __visible bool kvm_rebooting;
 EXPORT_SYMBOL_GPL(kvm_rebooting);
 
 static DEFINE_PER_CPU(bool, hardware_enabled);
-static int kvm_usage_count;
 
-static int __hardware_enable_nolock(void)
+static int __kvm_enable_virtualization(void)
 {
 	if (__this_cpu_read(hardware_enabled))
 		return 0;
@@ -5553,34 +5543,18 @@ static int __hardware_enable_nolock(void)
 	return 0;
 }
 
-static void hardware_enable_nolock(void *failed)
-{
-	if (__hardware_enable_nolock())
-		atomic_inc(failed);
-}
-
 static int kvm_online_cpu(unsigned int cpu)
 {
-	int ret = 0;
-
 	/*
 	 * Abort the CPU online process if hardware virtualization cannot
 	 * be enabled. Otherwise running VMs would encounter unrecoverable
 	 * errors when scheduled to this CPU.
 	 */
-	mutex_lock(&kvm_lock);
-	if (kvm_usage_count)
-		ret = __hardware_enable_nolock();
-	mutex_unlock(&kvm_lock);
-	return ret;
+	return __kvm_enable_virtualization();
 }
 
-static void hardware_disable_nolock(void *junk)
+static void __kvm_disable_virtualization(void *ign)
 {
-	/*
-	 * Note, hardware_disable_all_nolock() tells all online CPUs to disable
-	 * hardware, not just CPUs that successfully enabled hardware!
-	 */
 	if (!__this_cpu_read(hardware_enabled))
 		return;
 
@@ -5591,78 +5565,10 @@ static void hardware_disable_nolock(void *junk)
 
 static int kvm_offline_cpu(unsigned int cpu)
 {
-	mutex_lock(&kvm_lock);
-	if (kvm_usage_count)
-		hardware_disable_nolock(NULL);
-	mutex_unlock(&kvm_lock);
+	__kvm_disable_virtualization(NULL);
 	return 0;
 }
 
-static void hardware_disable_all_nolock(void)
-{
-	BUG_ON(!kvm_usage_count);
-
-	kvm_usage_count--;
-	if (!kvm_usage_count)
-		on_each_cpu(hardware_disable_nolock, NULL, 1);
-}
-
-static void hardware_disable_all(void)
-{
-	cpus_read_lock();
-	mutex_lock(&kvm_lock);
-	hardware_disable_all_nolock();
-	mutex_unlock(&kvm_lock);
-	cpus_read_unlock();
-}
-
-static int hardware_enable_all(void)
-{
-	atomic_t failed = ATOMIC_INIT(0);
-	int r;
-
-	/*
-	 * Do not enable hardware virtualization if the system is going down.
-	 * If userspace initiated a forced reboot, e.g. reboot -f, then it's
-	 * possible for an in-flight KVM_CREATE_VM to trigger hardware enabling
-	 * after kvm_reboot() is called.  Note, this relies on system_state
-	 * being set _before_ kvm_reboot(), which is why KVM uses a syscore ops
-	 * hook instead of registering a dedicated reboot notifier (the latter
-	 * runs before system_state is updated).
-	 */
-	if (system_state == SYSTEM_HALT || system_state == SYSTEM_POWER_OFF ||
-	    system_state == SYSTEM_RESTART)
-		return -EBUSY;
-
-	/*
-	 * When onlining a CPU, cpu_online_mask is set before kvm_online_cpu()
-	 * is called, and so on_each_cpu() between them includes the CPU that
-	 * is being onlined.  As a result, hardware_enable_nolock() may get
-	 * invoked before kvm_online_cpu(), which also enables hardware if the
-	 * usage count is non-zero.  Disable CPU hotplug to avoid attempting to
-	 * enable hardware multiple times.
-	 */
-	cpus_read_lock();
-	mutex_lock(&kvm_lock);
-
-	r = 0;
-
-	kvm_usage_count++;
-	if (kvm_usage_count == 1) {
-		on_each_cpu(hardware_enable_nolock, &failed, 1);
-
-		if (atomic_read(&failed)) {
-			hardware_disable_all_nolock();
-			r = -EBUSY;
-		}
-	}
-
-	mutex_unlock(&kvm_lock);
-	cpus_read_unlock();
-
-	return r;
-}
-
 static void kvm_shutdown(void)
 {
 	/*
@@ -5678,34 +5584,22 @@ static void kvm_shutdown(void)
 	 */
 	pr_info("kvm: exiting hardware virtualization\n");
 	kvm_rebooting = true;
-	on_each_cpu(hardware_disable_nolock, NULL, 1);
+	on_each_cpu(__kvm_disable_virtualization, NULL, 1);
 }
 
 static int kvm_suspend(void)
 {
-	/*
-	 * Secondary CPUs and CPU hotplug are disabled across the suspend/resume
-	 * callbacks, i.e. no need to acquire kvm_lock to ensure the usage count
-	 * is stable.  Assert that kvm_lock is not held to ensure the system
-	 * isn't suspended while KVM is enabling hardware.  Hardware enabling
-	 * can be preempted, but the task cannot be frozen until it has dropped
-	 * all locks (userspace tasks are frozen via a fake signal).
-	 */
-	lockdep_assert_not_held(&kvm_lock);
 	lockdep_assert_irqs_disabled();
 
-	if (kvm_usage_count)
-		hardware_disable_nolock(NULL);
+	__kvm_disable_virtualization(NULL);
 	return 0;
 }
 
 static void kvm_resume(void)
 {
-	lockdep_assert_not_held(&kvm_lock);
 	lockdep_assert_irqs_disabled();
 
-	if (kvm_usage_count)
-		WARN_ON_ONCE(__hardware_enable_nolock());
+	WARN_ON_ONCE(__kvm_enable_virtualization());
 }
 
 static struct syscore_ops kvm_syscore_ops = {
@@ -5713,16 +5607,45 @@ static struct syscore_ops kvm_syscore_ops = {
 	.resume = kvm_resume,
 	.shutdown = kvm_shutdown,
 };
-#else /* CONFIG_KVM_GENERIC_HARDWARE_ENABLING */
-static int hardware_enable_all(void)
+
+int kvm_enable_virtualization(void)
 {
+	int r;
+
+	r = cpuhp_setup_state(CPUHP_AP_KVM_ONLINE, "kvm/cpu:online",
+			      kvm_online_cpu, kvm_offline_cpu);
+	if (r)
+		return r;
+
+	register_syscore_ops(&kvm_syscore_ops);
+
+	/*
+	 * Manually undo virtualization enabling if the system is going down.
+	 * If userspace initiated a forced reboot, e.g. reboot -f, then it's
+	 * possible for an in-flight module load to enable virtualization
+	 * after syscore_shutdown() is called, i.e. without kvm_shutdown()
+	 * being invoked.  Note, this relies on system_state being set _before_
+	 * kvm_shutdown(), e.g. to ensure either kvm_shutdown() is invoked
+	 * or this CPU observes the impedning shutdown.  Which is why KVM uses
+	 * a syscore ops hook instead of registering a dedicated reboot
+	 * notifier (the latter runs before system_state is updated).
+	 */
+	if (system_state == SYSTEM_HALT || system_state == SYSTEM_POWER_OFF ||
+	    system_state == SYSTEM_RESTART) {
+		unregister_syscore_ops(&kvm_syscore_ops);
+		cpuhp_remove_state(CPUHP_AP_KVM_ONLINE);
+		return -EBUSY;
+	}
+
 	return 0;
 }
 
-static void hardware_disable_all(void)
+void kvm_disable_virtualization(void)
 {
-
+	unregister_syscore_ops(&kvm_syscore_ops);
+	cpuhp_remove_state(CPUHP_AP_KVM_ONLINE);
 }
+
 #endif /* CONFIG_KVM_GENERIC_HARDWARE_ENABLING */
 
 static void kvm_iodevice_destructor(struct kvm_io_device *dev)
@@ -6418,15 +6341,6 @@ int kvm_init(unsigned vcpu_size, unsigned vcpu_align, struct module *module)
 	int r;
 	int cpu;
 
-#ifdef CONFIG_KVM_GENERIC_HARDWARE_ENABLING
-	r = cpuhp_setup_state_nocalls(CPUHP_AP_KVM_ONLINE, "kvm/cpu:online",
-				      kvm_online_cpu, kvm_offline_cpu);
-	if (r)
-		return r;
-
-	register_syscore_ops(&kvm_syscore_ops);
-#endif
-
 	/* A kmem cache lets us meet the alignment requirements of fx_save. */
 	if (!vcpu_align)
 		vcpu_align = __alignof__(struct kvm_vcpu);
@@ -6437,10 +6351,8 @@ int kvm_init(unsigned vcpu_size, unsigned vcpu_align, struct module *module)
 					   offsetofend(struct kvm_vcpu, stats_id)
 					   - offsetof(struct kvm_vcpu, arch),
 					   NULL);
-	if (!kvm_vcpu_cache) {
-		r = -ENOMEM;
-		goto err_vcpu_cache;
-	}
+	if (!kvm_vcpu_cache)
+		return -ENOMEM;
 
 	for_each_possible_cpu(cpu) {
 		if (!alloc_cpumask_var_node(&per_cpu(cpu_kick_mask, cpu),
@@ -6497,11 +6409,6 @@ int kvm_init(unsigned vcpu_size, unsigned vcpu_align, struct module *module)
 	for_each_possible_cpu(cpu)
 		free_cpumask_var(per_cpu(cpu_kick_mask, cpu));
 	kmem_cache_destroy(kvm_vcpu_cache);
-err_vcpu_cache:
-#ifdef CONFIG_KVM_GENERIC_HARDWARE_ENABLING
-	unregister_syscore_ops(&kvm_syscore_ops);
-	cpuhp_remove_state_nocalls(CPUHP_AP_KVM_ONLINE);
-#endif
 	return r;
 }
 EXPORT_SYMBOL_GPL(kvm_init);
@@ -6523,10 +6430,6 @@ void kvm_exit(void)
 	kmem_cache_destroy(kvm_vcpu_cache);
 	kvm_vfio_ops_exit();
 	kvm_async_pf_deinit();
-#ifdef CONFIG_KVM_GENERIC_HARDWARE_ENABLING
-	unregister_syscore_ops(&kvm_syscore_ops);
-	cpuhp_remove_state_nocalls(CPUHP_AP_KVM_ONLINE);
-#endif
 	kvm_irqfd_exit();
 }
 EXPORT_SYMBOL_GPL(kvm_exit);

base-commit: 2d181d84af38146748042a6974c577fc46c3f1c3
-- 


  reply	other threads:[~2024-04-17 14:40 UTC|newest]

Thread overview: 695+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-26  8:25 [PATCH v19 000/130] KVM TDX basic feature support isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 001/130] x86/virt/tdx: Rename _offset to _member for TD_SYSINFO_MAP() macro isaku.yamahata
2024-03-08  7:25   ` Binbin Wu
2024-03-08 10:36     ` Huang, Kai
2024-02-26  8:25 ` [PATCH v19 002/130] x86/virt/tdx: Move TDMR metadata fields map table to local variable isaku.yamahata
2024-03-08  7:36   ` Binbin Wu
2024-04-04 14:08   ` Kirill A. Shutemov
2024-04-04 20:18     ` Huang, Kai
2024-02-26  8:25 ` [PATCH v19 003/130] x86/virt/tdx: Unbind global metadata read with 'struct tdx_tdmr_sysinfo' isaku.yamahata
2024-03-08  7:46   ` Binbin Wu
2024-02-26  8:25 ` [PATCH v19 004/130] x86/virt/tdx: Support global metadata read for all element sizes isaku.yamahata
2024-02-26 14:32   ` Juergen Gross
2024-02-27  8:40     ` Huang, Kai
2024-02-26  8:25 ` [PATCH v19 005/130] x86/virt/tdx: Export global metadata read infrastructure isaku.yamahata
2024-03-06  9:05   ` Yi Sun
2024-03-06 21:23     ` Huang, Kai
2024-03-08  8:31   ` Binbin Wu
2024-02-26  8:25 ` [PATCH v19 006/130] x86/virt/tdx: Export TDX KeyID information isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 007/130] x86/virt/tdx: Export SEAMCALL functions isaku.yamahata
2024-03-15  0:02   ` Huang, Kai
2024-03-15  1:17     ` Edgecombe, Rick P
2024-03-15  1:33       ` Dave Hansen
2024-03-15 16:33         ` Sean Christopherson
2024-03-15 17:46           ` Sean Christopherson
2024-03-15 17:51             ` Edgecombe, Rick P
2024-03-15 19:20               ` Sean Christopherson
2024-03-15 17:48           ` Edgecombe, Rick P
2024-03-20 11:27             ` Huang, Kai
2024-03-15 18:28           ` Dave Hansen
2024-03-15 19:38             ` Sean Christopherson
2024-03-15 23:53               ` Dave Hansen
2024-03-20 12:09               ` Huang, Kai
2024-03-20 15:07                 ` Dave Hansen
2024-03-20 21:00                   ` Huang, Kai
2024-04-03 21:36                   ` Sean Christopherson
2024-04-10 12:49           ` Kirill A. Shutemov
2024-04-16 19:45             ` Edgecombe, Rick P
2024-04-18 14:16               ` kirill.shutemov
2024-04-18 18:26                 ` Sean Christopherson
2024-04-19 14:46                   ` kirill.shutemov
2024-04-19 19:53                     ` Sean Christopherson
2024-04-25 16:46                       ` kirill.shutemov
2024-04-19 20:04                     ` Edgecombe, Rick P
2024-04-22 11:46                       ` kirill.shutemov
2024-04-22 15:56                         ` Edgecombe, Rick P
2024-04-22 19:50                           ` Sean Christopherson
2024-04-23  0:28                             ` Edgecombe, Rick P
2024-02-26  8:25 ` [PATCH v19 008/130] x86/tdx: Warning with 32bit build shift-count-overflow isaku.yamahata
2024-02-28 22:49   ` Huang, Kai
2024-03-01 11:36     ` Kirill A. Shutemov
2024-03-05  8:12       ` Isaku Yamahata
2024-03-05 21:35         ` Huang, Kai
2024-03-06 22:17           ` Isaku Yamahata
2024-03-06 22:25             ` Huang, Kai
2024-02-26  8:25 ` [PATCH v19 009/130] KVM: x86: Add gmem hook for determining max NPT mapping level isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 010/130] KVM: x86: Pass is_private to gmem hook of gmem_max_level isaku.yamahata
2024-04-19  1:19   ` Yan Zhao
2024-04-19 18:28     ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 011/130] KVM: Add new members to struct kvm_gfn_range to operate on isaku.yamahata
2024-03-12 13:33   ` Binbin Wu
2024-03-13 17:14     ` Isaku Yamahata
2024-03-19  2:50       ` Edgecombe, Rick P
2024-03-19 14:47         ` Edgecombe, Rick P
2024-03-19 21:50           ` Isaku Yamahata
2024-04-26  7:39             ` Fuad Tabba
2024-04-26 13:50               ` Edgecombe, Rick P
2024-04-26 15:28                 ` Sean Christopherson
2024-04-26 15:57                   ` Edgecombe, Rick P
2024-04-26 16:49                     ` Sean Christopherson
2024-04-26 17:01                       ` Edgecombe, Rick P
2024-04-26 17:13                         ` Sean Christopherson
2024-02-26  8:25 ` [PATCH v19 012/130] KVM: x86/mmu: Pass around full 64-bit error code for the KVM page fault isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 013/130] KVM: x86: Use PFERR_GUEST_ENC_MASK to indicate fault is private isaku.yamahata
2024-03-07  7:04   ` Yin Fengwei
2024-02-26  8:25 ` [PATCH v19 014/130] KVM: Add KVM vcpu ioctl to pre-populate guest memory isaku.yamahata
2024-03-07  7:01   ` Yin Fengwei
2024-03-08 21:01     ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 015/130] KVM: Document KVM_MEMORY_MAPPING ioctl isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 016/130] KVM: x86/mmu: Introduce kvm_mmu_map_tdp_page() for use by TDX isaku.yamahata
2024-03-06  7:13   ` Binbin Wu
2024-03-06 22:22     ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 017/130] KVM: x86: Implement kvm_arch_{, pre_}vcpu_memory_mapping() isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 018/130] KVM: x86/mmu: Assume guest MMIOs are shared isaku.yamahata
2024-03-25 23:41   ` Edgecombe, Rick P
2024-03-27 17:22     ` Isaku Yamahata
2024-03-27 17:27       ` Edgecombe, Rick P
2024-04-04 22:31         ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 019/130] KVM: x86: Add is_vm_type_supported callback isaku.yamahata
2024-03-14  8:32   ` Chao Gao
2024-03-14 16:13     ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 020/130] KVM: VMX: Move out vmx_x86_ops to 'main.c' to wrap VMX and TDX isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 021/130] KVM: x86/vmx: initialize loaded_vmcss_on_cpu in vmx_init() isaku.yamahata
2024-03-13 15:30   ` Binbin Wu
2024-03-13 17:36     ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 022/130] KVM: x86/vmx: Refactor KVM VMX module init/exit functions isaku.yamahata
2024-03-11  5:32   ` Yin, Fengwei
2024-03-12  2:15     ` Isaku Yamahata
2024-03-12  2:21       ` Yin Fengwei
2024-03-12  4:42         ` Isaku Yamahata
2024-03-21 11:27   ` Huang, Kai
2024-03-22 17:39     ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 023/130] KVM: TDX: Initialize the TDX module when loading the KVM intel kernel module isaku.yamahata
2024-03-14  2:05   ` Binbin Wu
2024-03-14 16:27     ` Isaku Yamahata
2024-03-15  4:44       ` Binbin Wu
2024-03-15 23:25         ` Isaku Yamahata
2024-03-21 12:39           ` Huang, Kai
2024-03-22 18:01             ` Isaku Yamahata
2024-03-21 13:07   ` Huang, Kai
2024-03-22 21:23     ` Isaku Yamahata
2024-04-10 13:12       ` Huang, Kai
2024-04-10 15:29         ` Sean Christopherson
2024-04-10 23:15           ` Huang, Kai
2024-04-11 14:03             ` Sean Christopherson
2024-04-11 22:58               ` Huang, Kai
2024-04-16 20:58                 ` Sean Christopherson
2024-04-17 13:20                   ` Huang, Kai
2024-04-17 14:40                     ` Sean Christopherson [this message]
2024-04-17 23:09                       ` Huang, Kai
2024-04-17 23:35                         ` Sean Christopherson
2024-04-18  0:47                           ` Huang, Kai
2024-04-18 14:30                             ` Sean Christopherson
2024-04-18 23:09                               ` Huang, Kai
2024-04-19 17:23                                 ` Sean Christopherson
2024-04-22 12:46                                   ` Huang, Kai
2024-04-22 16:54                                     ` Sean Christopherson
2024-04-22 22:47                                       ` Huang, Kai
2024-04-23  0:08                                         ` Sean Christopherson
2024-04-23  1:34                                           ` Huang, Kai
2024-04-23  1:45                                             ` Huang, Kai
2024-04-23 15:15                                               ` Sean Christopherson
2024-04-23 22:59                                                 ` Huang, Kai
2024-04-23 23:29                                                   ` Huang, Kai
2024-04-25 16:30                                                     ` Sean Christopherson
2024-04-25 22:34                                                       ` Huang, Kai
2024-04-25 22:43                                                         ` Sean Christopherson
2024-04-29 11:41                                                           ` Huang, Kai
2024-04-29 20:06                                                             ` Sean Christopherson
2024-04-29 23:12                                                               ` Huang, Kai
2024-04-30 16:13                                                                 ` Sean Christopherson
2024-05-01  2:56                                                                   ` Huang, Kai
2024-04-25 16:35                                                   ` Sean Christopherson
2024-04-25 21:53                                                     ` Huang, Kai
2024-04-25 22:07                                                       ` Sean Christopherson
2024-04-26  0:21                                                         ` Huang, Kai
2024-04-26  3:21                                                           ` Chao Gao
2024-04-26  9:44                                                             ` Huang, Kai
2024-05-07 12:40                                   ` Huang, Kai
2024-05-07 16:24                                     ` Sean Christopherson
2024-05-07 21:59                                       ` Huang, Kai
2024-04-09  0:37   ` Huang, Kai
2024-02-26  8:25 ` [PATCH v19 024/130] KVM: TDX: Add placeholders for TDX VM/vcpu structure isaku.yamahata
2024-03-14  6:21   ` Binbin Wu
2024-03-14 16:37     ` Isaku Yamahata
2024-03-21 21:37   ` Huang, Kai
2024-03-22 22:45     ` Isaku Yamahata
2024-03-25 10:22       ` Huang, Kai
2024-04-23 13:59       ` Huang, Kai
2024-02-26  8:25 ` [PATCH v19 025/130] KVM: TDX: Make TDX VM type supported isaku.yamahata
2024-03-14  6:29   ` Binbin Wu
2024-03-15 21:36     ` Isaku Yamahata
2024-03-21 21:40       ` Huang, Kai
2024-02-26  8:25 ` [PATCH v19 026/130] [MARKER] The start of TDX KVM patch series: TDX architectural definitions isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 027/130] KVM: TDX: Define " isaku.yamahata
2024-03-01  7:25   ` Yan Zhao
2024-03-05  8:21     ` Isaku Yamahata
2024-04-16  0:55       ` Huang, Kai
2024-04-16 16:28         ` Isaku Yamahata
2024-04-16 22:06           ` Huang, Kai
2024-03-14  7:30   ` Binbin Wu
2024-03-14 16:48     ` Isaku Yamahata
2024-03-21 21:57   ` Huang, Kai
2024-03-22 23:15     ` Isaku Yamahata
2024-03-22  7:06   ` Yuan Yao
2024-03-22 23:17     ` Isaku Yamahata
2024-04-03 15:04   ` Sean Christopherson
2024-04-03 16:30     ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 028/130] KVM: TDX: Add TDX "architectural" error codes isaku.yamahata
2024-02-26 19:27   ` Isaku Yamahata
2024-03-14  7:45     ` Binbin Wu
2024-03-14 17:21       ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 029/130] KVM: TDX: Add C wrapper functions for SEAMCALLs to the TDX module isaku.yamahata
2024-03-15 17:41   ` Sean Christopherson
2024-03-15 19:23     ` Isaku Yamahata
2024-03-19 23:24   ` Edgecombe, Rick P
2024-03-20  0:09     ` Isaku Yamahata
2024-03-20  0:11       ` Edgecombe, Rick P
2024-03-20  5:41         ` Isaku Yamahata
2024-03-20 20:20           ` Isaku Yamahata
2024-03-20  0:03   ` Huang, Kai
2024-03-20 21:36     ` Isaku Yamahata
2024-03-20 22:37       ` Huang, Kai
2024-03-22  0:16         ` Isaku Yamahata
2024-03-22  4:33           ` Huang, Kai
2024-03-22 23:26             ` Isaku Yamahata
2024-04-24 10:50   ` Huang, Kai
2024-02-26  8:25 ` [PATCH v19 030/130] KVM: TDX: Add helper functions to print TDX SEAMCALL error isaku.yamahata
2024-03-20  0:29   ` Huang, Kai
2024-03-20 21:50     ` Isaku Yamahata
2024-03-20 23:09       ` Huang, Kai
2024-03-21 23:52         ` Isaku Yamahata
2024-03-22  4:37           ` Huang, Kai
2024-04-24  0:11   ` Huang, Kai
2024-04-26 18:38     ` Isaku Yamahata
2024-04-24 11:06   ` Huang, Kai
2024-02-26  8:25 ` [PATCH v19 031/130] [MARKER] The start of TDX KVM patch series: TD VM creation/destruction isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 032/130] KVM: TDX: Add helper functions to allocate/free TDX private host key id isaku.yamahata
2024-03-13  0:44   ` Edgecombe, Rick P
2024-03-13 17:44     ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 033/130] KVM: TDX: Add helper function to read TDX metadata in array isaku.yamahata
2024-03-14  9:17   ` Binbin Wu
2024-03-14 14:35     ` Binbin Wu
2024-03-14 17:00       ` Isaku Yamahata
2024-03-14 22:27   ` Huang, Kai
2024-02-26  8:25 ` [PATCH v19 034/130] KVM: TDX: Get system-wide info about TDX module on initialization isaku.yamahata
2024-03-14 15:06   ` Binbin Wu
2024-03-14 23:09   ` Huang, Kai
2024-03-15  2:18     ` Xiaoyao Li
2024-03-15  4:57       ` Huang, Kai
2024-03-15  5:11         ` Xiaoyao Li
2024-03-15  5:39           ` Huang, Kai
2024-03-15  5:50             ` Xiaoyao Li
2024-03-15 16:22     ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 035/130] KVM: TDX: Add place holder for TDX VM specific mem_enc_op ioctl isaku.yamahata
2024-03-21 22:10   ` Huang, Kai
2024-03-22 23:36     ` Isaku Yamahata
2024-03-23  4:27       ` Huang, Kai
2024-03-26  3:10         ` Edgecombe, Rick P
2024-02-26  8:25 ` [PATCH v19 036/130] KVM: TDX: x86: Add ioctl to get TDX systemwide parameters isaku.yamahata
2024-03-21 22:26   ` Huang, Kai
2024-03-23  0:28     ` Isaku Yamahata
2024-03-25  0:25       ` Huang, Kai
2024-04-24 10:30   ` Huang, Kai
2024-02-26  8:25 ` [PATCH v19 037/130] KVM: TDX: Make KVM_CAP_MAX_VCPUS backend specific isaku.yamahata
2024-03-21 23:36   ` Huang, Kai
2024-03-23  1:13     ` Isaku Yamahata
2024-03-25  8:42       ` Binbin Wu
2024-03-25 21:31         ` Isaku Yamahata
2024-03-25 22:47           ` Huang, Kai
2024-03-25  8:43       ` Huang, Kai
2024-03-25 21:29         ` isaku.yamahata
2024-05-09 16:35   ` Sean Christopherson
2024-05-09 22:40     ` Huang, Kai
2024-05-09 22:47       ` Huang, Kai
2024-05-09 22:52       ` Sean Christopherson
2024-05-09 23:19         ` Huang, Kai
2024-05-09 23:55           ` Isaku Yamahata
2024-05-10 14:04             ` Sean Christopherson
2024-05-14  2:01               ` Huang, Kai
2024-05-29 23:15                 ` Sean Christopherson
2024-05-30 12:21                   ` Huang, Kai
2024-05-30 23:12                     ` Sean Christopherson
2024-05-31  0:36                       ` Huang, Kai
2024-06-04 10:48                       ` Huang, Kai
2024-06-14  0:20                         ` Huang, Kai
2024-06-15  0:04                           ` Sean Christopherson
2024-06-17 23:44                             ` Huang, Kai
2024-06-18 14:49                               ` Sean Christopherson
2024-06-18 22:19                                 ` Huang, Kai
2024-06-19  4:52                                   ` Huang, Kai
2024-02-26  8:25 ` [PATCH v19 038/130] KVM: TDX: create/destroy VM structure isaku.yamahata
2024-03-20  5:12   ` Chao Gao
2024-03-21 14:17     ` Isaku Yamahata
2024-03-22  3:46       ` Yuan Yao
2024-03-22  5:32         ` Yuan Yao
2024-03-22 23:44           ` Isaku Yamahata
2024-03-29  6:22       ` Binbin Wu
2024-04-01 22:55         ` Isaku Yamahata
2024-04-03 22:13       ` Huang, Kai
2024-04-04  1:03         ` Chao Gao
2024-04-04  1:24           ` Huang, Kai
2024-03-22  1:06   ` Huang, Kai
2024-03-23  1:36     ` Isaku Yamahata
2024-03-25  9:58   ` Binbin Wu
2024-03-25 21:48     ` Isaku Yamahata
2024-03-26  1:43   ` Huang, Kai
2024-03-27 22:53     ` Isaku Yamahata
2024-03-28  1:49       ` Huang, Kai
2024-03-28  5:34         ` Isaku Yamahata
2024-03-28 11:14           ` Huang, Kai
2024-03-28 14:12             ` Chao Gao
2024-03-28 20:39             ` Isaku Yamahata
2024-03-29  7:25               ` Binbin Wu
2024-04-02  6:16                 ` Isaku Yamahata
2024-04-01 10:41               ` Huang, Kai
2024-03-27 23:33   ` Huang, Kai
2024-04-03 17:24     ` Isaku Yamahata
2024-04-03 22:26       ` Huang, Kai
2024-04-15  8:17   ` Xiaoyao Li
2024-04-16 16:40     ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 039/130] KVM: TDX: initialize VM with TDX specific parameters isaku.yamahata
2024-03-20  6:12   ` Chao Gao
2024-03-21 15:55     ` Isaku Yamahata
2024-03-28  1:12       ` Edgecombe, Rick P
2024-03-28  1:36         ` Xiaoyao Li
2024-03-28 18:26           ` Edgecombe, Rick P
2024-04-01  7:23             ` Xiaoyao Li
2024-03-20  8:15   ` Xiaoyao Li
2024-03-21 17:30     ` Isaku Yamahata
2024-03-22 11:20   ` Huang, Kai
2024-03-23  1:22     ` Isaku Yamahata
2024-03-25 10:39       ` Huang, Kai
2024-03-25 22:04         ` Isaku Yamahata
2024-04-03 23:59   ` Huang, Kai
2024-04-11 18:54     ` Isaku Yamahata
2024-04-08 18:38   ` Edgecombe, Rick P
2024-04-11 19:26     ` Isaku Yamahata
2024-04-11 19:51       ` Edgecombe, Rick P
2024-04-11 20:46         ` Isaku Yamahata
2024-04-11 21:03           ` Edgecombe, Rick P
2024-05-17 14:32   ` Kirill A. Shutemov
2024-05-17 14:37     ` Juergen Gross
2024-05-17 14:53       ` Kirill A. Shutemov
2024-05-17 15:00         ` Jürgen Groß
2024-05-17 16:25           ` Kirill A. Shutemov
2024-05-23 10:35             ` Kirill A. Shutemov
2024-05-23 10:37               ` Jürgen Groß
2024-05-23 23:37             ` Huang, Kai
2024-05-28  8:19               ` Kirill A. Shutemov
2024-02-26  8:25 ` [PATCH v19 040/130] KVM: TDX: Make pmu_intel.c ignore guest TD case isaku.yamahata
2024-03-20  7:01   ` Chao Gao
2024-03-21 17:46     ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 041/130] KVM: TDX: Refuse to unplug the last cpu on the package isaku.yamahata
2024-03-21  1:06   ` Chao Gao
2024-03-21 17:59     ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 042/130] [MARKER] The start of TDX KVM patch series: TD vcpu creation/destruction isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 043/130] KVM: TDX: create/free TDX vcpu structure isaku.yamahata
2024-03-21  1:30   ` Chao Gao
2024-03-21 20:21     ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 044/130] KVM: TDX: Do TDX specific vcpu initialization isaku.yamahata
2024-03-21  5:43   ` Chao Gao
2024-03-21 20:43     ` Isaku Yamahata
2024-03-27  0:27   ` Edgecombe, Rick P
2024-03-27 22:56     ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 045/130] [MARKER] The start of TDX KVM patch series: KVM MMU GPA shared bits isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 046/130] KVM: x86/mmu: Add address conversion functions for TDX shared bit of GPA isaku.yamahata
2024-03-27  3:08   ` Chenyi Qiang
2024-03-27 14:09     ` Binbin Wu
2024-03-27 23:50       ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 047/130] [MARKER] The start of TDX KVM patch series: KVM TDP refactoring for TDX isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 048/130] KVM: Allow page-sized MMU caches to be initialized with custom 64-bit values isaku.yamahata
2024-03-26 15:53   ` Binbin Wu
2024-03-26 17:34     ` Isaku Yamahata
2024-03-27  0:47       ` Binbin Wu
2024-02-26  8:25 ` [PATCH v19 049/130] KVM: x86/mmu: Replace hardcoded value 0 for the initial value for SPTE isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 050/130] KVM: x86/mmu: Allow non-zero value for non-present SPTE and removed SPTE isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 051/130] KVM: x86/mmu: Add Suppress VE bit to shadow_mmio_mask/shadow_present_mask isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 052/130] KVM: x86/mmu: Track shadow MMIO value on a per-VM basis isaku.yamahata
2024-03-26  3:31   ` Edgecombe, Rick P
2024-03-27 23:58     ` Isaku Yamahata
2024-02-26  8:25 ` [PATCH v19 053/130] KVM: x86/mmu: Disallow fast page fault on private GPA isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 054/130] KVM: VMX: Introduce test mode related to EPT violation VE isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 055/130] [MARKER] The start of TDX KVM patch series: KVM TDP MMU hooks isaku.yamahata
2024-02-26  8:25 ` [PATCH v19 056/130] KVM: x86/tdp_mmu: Init role member of struct kvm_mmu_page at allocation isaku.yamahata
2024-03-21  0:11   ` Edgecombe, Rick P
2024-03-21 21:24     ` Isaku Yamahata
2024-03-22  7:18       ` Chao Gao
2024-03-22 15:19         ` Isaku Yamahata
2024-04-20 19:05     ` Edgecombe, Rick P
2024-02-26  8:25 ` [PATCH v19 057/130] KVM: x86/mmu: Add a new is_private member for union kvm_mmu_page_role isaku.yamahata
2024-03-21  0:18   ` Edgecombe, Rick P
2024-03-21 21:59     ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 058/130] KVM: x86/mmu: Add a private pointer to struct kvm_mmu_page isaku.yamahata
2024-03-13 20:51   ` Edgecombe, Rick P
2024-03-14 18:10     ` Isaku Yamahata
2024-03-14 21:23       ` Huang, Kai
2024-03-14 21:39         ` Edgecombe, Rick P
2024-03-15  1:09           ` Isaku Yamahata
2024-03-27 13:49             ` Binbin Wu
2024-03-28  0:02               ` Isaku Yamahata
2024-03-28  3:17                 ` Binbin Wu
2024-03-14 21:52       ` Edgecombe, Rick P
2024-03-15  0:24         ` Isaku Yamahata
2024-04-22  3:34   ` Yan Zhao
2024-04-22 17:30     ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 059/130] KVM: x86/tdp_mmu: Don't zap private pages for unsupported cases isaku.yamahata
2024-03-18 23:46   ` Edgecombe, Rick P
2024-03-19 23:56     ` Isaku Yamahata
2024-03-20  0:56       ` Edgecombe, Rick P
2024-03-21  1:17         ` Edgecombe, Rick P
2024-03-21 22:59           ` Isaku Yamahata
2024-03-22  0:40             ` Edgecombe, Rick P
2024-03-25 19:05               ` Isaku Yamahata
2024-03-25 19:55                 ` Edgecombe, Rick P
2024-03-25 22:18                   ` Isaku Yamahata
2024-03-25 23:10                     ` Isaku Yamahata
2024-03-25 23:21                       ` Edgecombe, Rick P
2024-03-25 23:35                         ` Isaku Yamahata
2024-03-26  2:32                           ` Chao Gao
2024-03-26  2:42                             ` Edgecombe, Rick P
2024-03-26 11:13                               ` Chao Gao
2024-03-26 17:48                                 ` Isaku Yamahata
2024-03-27  2:54                                   ` Xiaoyao Li
2024-03-27 17:36                                     ` Edgecombe, Rick P
2024-03-28  0:06                                       ` Isaku Yamahata
2024-03-28  0:06                                       ` Xiaoyao Li
2024-03-28  0:36                                         ` Isaku Yamahata
2024-03-28  1:04                                           ` Xiaoyao Li
2024-03-28  0:45                                         ` Edgecombe, Rick P
2024-03-28  0:58                                           ` Xiaoyao Li
2024-03-28  1:06                                             ` Edgecombe, Rick P
2024-03-28  1:30                                               ` Xiaoyao Li
2024-03-28  3:04                                                 ` Edgecombe, Rick P
2024-03-28  3:40                                                   ` Xiaoyao Li
2024-03-28 10:17                                                     ` Chao Gao
2024-03-28 13:21                                                       ` Xiaoyao Li
2024-03-28 13:38                                                         ` Chao Gao
2024-03-28 14:45                                                           ` Xiaoyao Li
2024-03-28 16:57                                                             ` Edgecombe, Rick P
2024-03-28  9:53                                         ` Chao Gao
2024-03-28  0:23                   ` Xiaoyao Li
2024-03-21 22:39         ` Isaku Yamahata
2024-04-17  2:21   ` Chao Gao
2024-04-17  6:47     ` Isaku Yamahata
2024-04-21  1:58   ` Edgecombe, Rick P
2024-02-26  8:26 ` [PATCH v19 060/130] KVM: x86/tdp_mmu: Apply mmu notifier callback to only shared GPA isaku.yamahata
2024-03-28  8:29   ` Binbin Wu
2024-03-28 20:55     ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 061/130] KVM: x86/tdp_mmu: Sprinkle __must_check isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 062/130] KVM: x86/tdp_mmu: Support TDX private mapping for TDP MMU isaku.yamahata
2024-03-23 23:39   ` Edgecombe, Rick P
2024-03-25 20:01     ` Isaku Yamahata
2024-03-25 22:31       ` Edgecombe, Rick P
2024-03-26 18:06         ` Isaku Yamahata
2024-04-19 18:55           ` Edgecombe, Rick P
2024-03-27 13:07   ` Chao Gao
2024-03-28  0:25     ` Isaku Yamahata
2024-04-01  9:12   ` Binbin Wu
2024-04-02  6:37     ` Isaku Yamahata
2024-04-22  9:08   ` Yan Zhao
2024-02-26  8:26 ` [PATCH v19 063/130] [MARKER] The start of TDX KVM patch series: TDX EPT violation isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 064/130] KVM: x86/mmu: Do not enable page track for TD guest isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 065/130] KVM: VMX: Split out guts of EPT violation to common/exposed function isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 066/130] KVM: TDX: Add accessors VMX VMCS helpers isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 067/130] KVM: TDX: Add load_mmu_pgd method for TDX isaku.yamahata
2024-04-01 15:49   ` Binbin Wu
2024-04-03 17:33     ` Isaku Yamahata
2024-04-06  0:09       ` Edgecombe, Rick P
2024-04-06  0:58         ` Huang, Kai
2024-04-07  1:32           ` Binbin Wu
2024-04-08 15:32             ` Edgecombe, Rick P
2024-02-26  8:26 ` [PATCH v19 068/130] KVM: TDX: Retry seamcall when TDX_OPERAND_BUSY with operand SEPT isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 069/130] KVM: TDX: Require TDP MMU and mmio caching for TDX isaku.yamahata
2024-03-28  5:24   ` Binbin Wu
2024-03-28 21:03     ` Isaku Yamahata
2024-04-01 17:34   ` Sean Christopherson
2024-04-02  6:03     ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 070/130] KVM: TDX: TDP MMU TDX support isaku.yamahata
2024-03-28  3:12   ` Chao Gao
2024-03-28  3:55     ` Isaku Yamahata
2024-05-26  8:45     ` Chen Yu
2024-05-29  0:55       ` Isaku Yamahata
2024-05-29  0:58         ` Isaku Yamahata
2024-05-29  7:56           ` Chen Yu
2024-05-31 22:16             ` Edgecombe, Rick P
2024-04-02  6:21   ` Binbin Wu
2024-04-03 17:50     ` Isaku Yamahata
2024-04-02  9:13   ` Binbin Wu
2024-04-03 18:01     ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 071/130] KVM: TDX: MTRR: implement get_mt_mask() for TDX isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 072/130] [MARKER] The start of TDX KVM patch series: TD finalization isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 073/130] KVM: x86: Add hooks in kvm_arch_vcpu_memory_mapping() isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 074/130] KVM: TDX: Create initial guest memory isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 075/130] KVM: TDX: Extend memory measurement with " isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 076/130] KVM: TDX: Finalize VM initialization isaku.yamahata
2024-04-11 16:39   ` Adrian Hunter
2024-04-12  1:08     ` Isaku Yamahata
2024-04-12 12:22       ` Adrian Hunter
2024-04-12 18:09         ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 077/130] [MARKER] The start of TDX KVM patch series: TD vcpu enter/exit isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 078/130] KVM: TDX: Implement TDX vcpu enter/exit path isaku.yamahata
2024-03-15 17:26   ` Sean Christopherson
2024-03-15 20:42     ` Isaku Yamahata
2024-04-07  1:42     ` Binbin Wu
2024-03-18 21:01   ` Edgecombe, Rick P
2024-03-18 23:40     ` Isaku Yamahata
2024-04-04 13:22   ` Kirill A. Shutemov
2024-04-04 21:51     ` Huang, Kai
2024-04-04 22:45       ` Sean Christopherson
2024-04-04 23:28         ` Huang, Kai
2024-02-26  8:26 ` [PATCH v19 079/130] KVM: TDX: vcpu_run: save/restore host state(host kernel gs) isaku.yamahata
2024-04-07  3:02   ` Binbin Wu
2024-04-12 20:17     ` Isaku Yamahata
2024-04-18  7:57       ` Binbin Wu
2024-02-26  8:26 ` [PATCH v19 080/130] KVM: TDX: restore host xsave state when exit from the guest TD isaku.yamahata
2024-03-07  8:32   ` Chen Yu
2024-03-08 20:58     ` Isaku Yamahata
2024-03-09 16:28       ` Chen Yu
2024-03-12  2:03         ` Isaku Yamahata
2024-04-07  3:47   ` Binbin Wu
2024-04-12 20:19     ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 081/130] KVM: x86: Allow to update cached values in kvm_user_return_msrs w/o wrmsr isaku.yamahata
2024-04-07  5:36   ` Binbin Wu
2024-04-12 20:23     ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 082/130] KVM: TDX: restore user ret MSRs isaku.yamahata
2024-04-07  5:59   ` Binbin Wu
2024-04-12 20:32     ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 083/130] KVM: TDX: Add TSX_CTRL msr into uret_msrs list isaku.yamahata
2024-04-07  7:05   ` Binbin Wu
2024-04-12 20:35     ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 084/130] [MARKER] The start of TDX KVM patch series: TD vcpu exits/interrupts/hypercalls isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 085/130] KVM: TDX: Complete interrupts after tdexit isaku.yamahata
2024-04-16 18:23   ` Reinette Chatre
2024-04-17  6:56     ` Isaku Yamahata
2024-04-23 13:15     ` Binbin Wu
2024-04-23 14:48       ` Reinette Chatre
2024-06-17  8:07   ` Yuan Yao
2024-06-17  9:07     ` Binbin Wu
2024-06-18  3:28       ` Yuan Yao
2024-07-08  6:11         ` Binbin Wu
2024-02-26  8:26 ` [PATCH v19 086/130] KVM: TDX: restore debug store when TD exit isaku.yamahata
2024-04-16 18:24   ` Reinette Chatre
2024-04-17  4:03     ` Chao Gao
2024-02-26  8:26 ` [PATCH v19 087/130] KVM: TDX: handle vcpu migration over logical processor isaku.yamahata
2024-04-07  9:03   ` Binbin Wu
2024-04-12 16:15   ` Reinette Chatre
2024-04-12 21:42     ` Isaku Yamahata
2024-04-12 22:46       ` Sean Christopherson
2024-04-13  0:40         ` Isaku Yamahata
2024-04-15 13:49           ` Sean Christopherson
2024-04-15 22:48             ` Isaku Yamahata
2024-04-16  0:05               ` Huang, Kai
2024-04-16 16:44                 ` Isaku Yamahata
2024-04-18  1:09                   ` Huang, Kai
2024-04-23 12:13     ` Binbin Wu
2024-05-06 19:02       ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 088/130] KVM: x86: Add a switch_db_regs flag to handle TDX's auto-switched behavior isaku.yamahata
2024-04-07 10:52   ` Binbin Wu
2024-04-13  0:20     ` Isaku Yamahata
2024-05-06  3:30   ` Binbin Wu
2024-05-06 19:10     ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 089/130] KVM: TDX: Add support for find pending IRQ in a protected local APIC isaku.yamahata
2024-04-16 14:12   ` Edgecombe, Rick P
2024-02-26  8:26 ` [PATCH v19 090/130] KVM: x86: Assume timer IRQ was injected if APIC state is proteced isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 091/130] KVM: TDX: remove use of struct vcpu_vmx from posted_interrupt.c isaku.yamahata
2024-02-27  8:52   ` Binbin Wu
2024-03-05  8:35     ` Isaku Yamahata
2024-03-28  8:12   ` Chao Gao
2024-03-28 21:10     ` Isaku Yamahata
2024-04-08  3:16       ` Binbin Wu
2024-02-26  8:26 ` [PATCH v19 092/130] KVM: TDX: Implement interrupt injection isaku.yamahata
2024-03-28 10:56   ` Chao Gao
2024-03-28 21:12     ` Isaku Yamahata
2024-04-08  7:01   ` Binbin Wu
2024-02-26  8:26 ` [PATCH v19 093/130] KVM: TDX: Implements vcpu request_immediate_exit isaku.yamahata
2024-03-29  1:54   ` Chao Gao
2024-04-02  6:52     ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 094/130] KVM: TDX: Implement methods to inject NMI isaku.yamahata
2024-03-29  2:11   ` Chao Gao
2024-04-02  7:09     ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 095/130] KVM: VMX: Modify NMI and INTR handlers to take intr_info as function argument isaku.yamahata
2024-03-29  2:55   ` Chao Gao
2024-02-26  8:26 ` [PATCH v19 096/130] KVM: VMX: Move NMI/exception handler to common helper isaku.yamahata
2024-04-09  8:52   ` Binbin Wu
2024-02-26  8:26 ` [PATCH v19 097/130] KVM: x86: Split core of hypercall emulation to helper function isaku.yamahata
2024-03-29  3:24   ` Chao Gao
2024-04-03 18:34     ` Isaku Yamahata
2024-04-03 18:55       ` Sean Christopherson
2024-05-09  3:26       ` Binbin Wu
2024-04-09  9:28   ` Binbin Wu
2024-04-15 22:51     ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 098/130] KVM: TDX: Add a place holder to handle TDX VM exit isaku.yamahata
2024-03-15 17:45   ` Sean Christopherson
2024-03-19 21:57     ` Isaku Yamahata
2024-04-09 10:36   ` Binbin Wu
2024-04-15 22:58     ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 099/130] KVM: TDX: Handle vmentry failure for INTEL TD guest isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 100/130] KVM: TDX: handle EXIT_REASON_OTHER_SMI isaku.yamahata
2024-04-09 14:53   ` Binbin Wu
2024-02-26  8:26 ` [PATCH v19 101/130] KVM: TDX: handle ept violation/misconfig exit isaku.yamahata
2024-03-04  7:39   ` Chenyi Qiang
2024-04-01  4:10   ` Chao Gao
2024-04-03 18:42     ` Isaku Yamahata
2024-04-30 20:47       ` Reinette Chatre
2024-05-01 15:56         ` Isaku Yamahata
2024-05-01 16:54           ` Reinette Chatre
2024-05-01 18:19             ` Isaku Yamahata
2024-05-01 18:22               ` Reinette Chatre
2024-05-06  7:21             ` Chao Gao
2024-05-06 14:21               ` Sean Christopherson
2024-05-06 14:22   ` Sean Christopherson
2024-02-26  8:26 ` [PATCH v19 102/130] KVM: TDX: handle EXCEPTION_NMI and EXTERNAL_INTERRUPT isaku.yamahata
2024-04-01  8:22   ` Chao Gao
2024-04-03 18:51     ` Isaku Yamahata
2024-04-17  3:05       ` Binbin Wu
2024-04-18  0:08         ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 103/130] KVM: TDX: Handle EXIT_REASON_OTHER_SMI with MSMI isaku.yamahata
2024-04-01  9:14   ` Chao Gao
2024-04-03 22:23     ` Isaku Yamahata
2024-05-07  7:06       ` Binbin Wu
2024-05-07 20:55         ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 104/130] KVM: TDX: Add a place holder for handler of TDX hypercalls (TDG.VP.VMCALL) isaku.yamahata
2024-04-01  9:59   ` Chao Gao
2024-04-04  1:15     ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 105/130] KVM: TDX: handle KVM hypercall with TDG.VP.VMCALL isaku.yamahata
2024-04-02  8:52   ` Chao Gao
2024-04-04  1:27     ` Isaku Yamahata
2024-04-17  6:16       ` Binbin Wu
2024-04-17  7:02         ` Isaku Yamahata
2024-05-27  0:57           ` Binbin Wu
2024-05-28 17:16             ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 106/130] KVM: TDX: Add KVM Exit for TDX TDG.VP.VMCALL isaku.yamahata
2024-04-03  2:49   ` Chao Gao
2024-04-03 15:58   ` Sean Christopherson
2024-04-04 23:02     ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 107/130] KVM: TDX: Handle TDX PV CPUID hypercall isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 108/130] KVM: TDX: Handle TDX PV HLT hypercall isaku.yamahata
2024-04-03  3:25   ` Chao Gao
2024-04-03 14:49     ` Sean Christopherson
2024-04-04 23:25       ` Isaku Yamahata
2024-04-07  3:50         ` Chao Gao
2024-04-08 18:56           ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 109/130] KVM: TDX: Handle TDX PV port io hypercall isaku.yamahata
2024-04-17 12:51   ` Binbin Wu
2024-04-17 20:10     ` Isaku Yamahata
2024-07-09  6:26       ` Binbin Wu
2024-07-16 21:19         ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 110/130] KVM: TDX: Handle TDX PV MMIO hypercall isaku.yamahata
2024-04-18  9:29   ` Binbin Wu
2024-04-18 11:04     ` Binbin Wu
2024-04-18 21:22       ` Isaku Yamahata
2024-04-19  1:42         ` Binbin Wu
2024-04-19 17:34           ` Isaku Yamahata
2024-06-25  6:54   ` Binbin Wu
2024-06-25  7:00     ` Binbin Wu
2024-06-25 21:09     ` Edgecombe, Rick P
2024-06-26  2:09       ` Binbin Wu
2024-06-26  7:29         ` Binbin Wu
2024-06-27  0:15           ` Edgecombe, Rick P
2024-07-16 22:25     ` Isaku Yamahata
2024-07-18  7:33       ` Binbin Wu
2024-07-18 17:10         ` Isaku Yamahata
2024-02-26  8:26 ` [PATCH v19 111/130] KVM: TDX: Implement callbacks for MSR operations for TDX isaku.yamahata
2024-04-03  6:51   ` Chao Gao
2024-04-03 15:07     ` Sean Christopherson
2024-04-03 15:14   ` Sean Christopherson
2024-04-04 23:42     ` Isaku Yamahata
2024-04-18 13:36       ` Binbin Wu
2024-04-18 13:54   ` Binbin Wu
2024-04-18 21:27     ` Isaku Yamahata
2024-04-19  2:33   ` Binbin Wu
2024-02-26  8:26 ` [PATCH v19 112/130] KVM: TDX: Handle TDX PV rdmsr/wrmsr hypercall isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 113/130] KVM: TDX: Handle MSR MTRRCap and MTRRDefType access isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 114/130] KVM: TDX: Handle MSR IA32_FEAT_CTL MSR and IA32_MCG_EXT_CTL isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 115/130] KVM: TDX: Handle TDG.VP.VMCALL<GetTdVmCallInfo> hypercall isaku.yamahata
2024-02-26  8:26 ` [PATCH v19 116/130] KVM: TDX: Silently discard SMI request isaku.yamahata
2024-04-19  7:04   ` Binbin Wu
2024-04-19 13:52   ` Sean Christopherson
2024-04-19 18:11     ` Isaku Yamahata
2024-06-11 13:18     ` Binbin Wu
2024-06-11 14:11       ` Paolo Bonzini
2024-06-12 13:06         ` Binbin Wu
2024-06-12 16:06           ` Paolo Bonzini
2024-02-26  8:26 ` [PATCH v19 117/130] KVM: TDX: Silently ignore INIT/SIPI isaku.yamahata
2024-04-19  8:31   ` Binbin Wu
2024-04-19 18:06     ` Isaku Yamahata
2024-06-17  1:20   ` Binbin Wu
2024-07-16 22:55     ` Isaku Yamahata
2024-07-18  1:42       ` Binbin Wu
2024-07-18 17:26         ` Isaku Yamahata
2024-02-26  8:27 ` [PATCH v19 118/130] KVM: TDX: Add methods to ignore accesses to CPU state isaku.yamahata
2024-04-19 10:04   ` Binbin Wu
2024-04-19 18:09     ` Isaku Yamahata
2024-02-26  8:27 ` [PATCH v19 119/130] KVM: TDX: Add methods to ignore guest instruction emulation isaku.yamahata
2024-02-26  8:27 ` [PATCH v19 120/130] KVM: TDX: Add a method to ignore dirty logging isaku.yamahata
2024-03-15  0:06   ` Edgecombe, Rick P
2024-03-15  1:35     ` Isaku Yamahata
2024-03-15 14:01       ` Edgecombe, Rick P
2024-03-18 17:12         ` Isaku Yamahata
2024-03-18 17:43           ` Edgecombe, Rick P
2024-03-18 23:16             ` Isaku Yamahata
2024-03-22 22:57               ` Isaku Yamahata
2024-03-22 23:05                 ` Edgecombe, Rick P
2024-02-26  8:27 ` [PATCH v19 121/130] KVM: TDX: Add methods to ignore VMX preemption timer isaku.yamahata
2024-02-26  8:27 ` [PATCH v19 122/130] KVM: TDX: Add methods to ignore accesses to TSC isaku.yamahata
2024-02-26  8:27 ` [PATCH v19 123/130] KVM: TDX: Ignore setting up mce isaku.yamahata
2024-02-26  8:27 ` [PATCH v19 124/130] KVM: TDX: Add a method to ignore for TDX to ignore hypercall patch isaku.yamahata
2024-02-26  8:27 ` [PATCH v19 125/130] KVM: TDX: Add methods to ignore virtual apic related operation isaku.yamahata
2024-04-22  1:56   ` Binbin Wu
2024-04-22 17:34     ` Isaku Yamahata
2024-02-26  8:27 ` [PATCH v19 126/130] KVM: TDX: Inhibit APICv for TDX guest isaku.yamahata
2024-02-26  8:27 ` [PATCH v19 127/130] Documentation/virt/kvm: Document on Trust Domain Extensions(TDX) isaku.yamahata
2024-02-26  8:27 ` [PATCH v19 128/130] KVM: x86: design documentation on TDX support of x86 KVM TDP MMU isaku.yamahata
2024-02-26  8:27 ` [PATCH v19 129/130] RFC: KVM: x86: Add x86 callback to check cpuid isaku.yamahata
2024-02-26  8:27 ` [PATCH v19 130/130] RFC: KVM: x86, TDX: Add check for KVM_SET_CPUID2 isaku.yamahata
2024-03-21 23:12   ` Edgecombe, Rick P
2024-03-22  7:10     ` Huang, Kai
2024-03-22 16:06       ` Edgecombe, Rick P
2024-03-25 11:14         ` Huang, Kai
2024-03-25 15:32           ` Edgecombe, Rick P
2024-03-25 21:17             ` Isaku Yamahata
2024-03-25 22:31             ` Huang, Kai
2024-03-25 22:37               ` Edgecombe, Rick P
2024-03-25 21:10           ` Isaku Yamahata
2024-03-23  1:54       ` Isaku Yamahata

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Zh_exbWc90khzmYm@google.com \
    --to=seanjc@google.com \
    --cc=chen.bo@intel.com \
    --cc=erdemaktas@google.com \
    --cc=hang.yuan@intel.com \
    --cc=isaku.yamahata@gmail.com \
    --cc=isaku.yamahata@intel.com \
    --cc=isaku.yamahata@linux.intel.com \
    --cc=kai.huang@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=sagis@google.com \
    --cc=tina.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).