mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Yan Zhao <yan.y.zhao@intel.com>
To: Rick Edgecombe <rick.p.edgecombe@intel.com>
Cc: <seanjc@google.com>, <pbonzini@redhat.com>, <kvm@vger.kernel.org>,
	<kai.huang@intel.com>, <isaku.yamahata@gmail.com>,
	<tony.lindgren@linux.intel.com>, <xiaoyao.li@intel.com>,
	<linux-kernel@vger.kernel.org>,
	Isaku Yamahata <isaku.yamahata@intel.com>
Subject: Re: [PATCH 14/25] KVM: TDX: initialize VM with TDX specific parameters
Date: Thu, 29 Aug 2024 14:27:56 +0800	[thread overview]
Message-ID: <ZtAU7FIV2Xkw+L3O@yzhao56-desk.sh.intel.com> (raw)
In-Reply-To: <20240812224820.34826-15-rick.p.edgecombe@intel.com>

On Mon, Aug 12, 2024 at 03:48:09PM -0700, Rick Edgecombe wrote:
> From: Isaku Yamahata <isaku.yamahata@intel.com>
> 
...
> +static int tdx_td_init(struct kvm *kvm, struct kvm_tdx_cmd *cmd)
> +{
> +	struct kvm_tdx *kvm_tdx = to_kvm_tdx(kvm);
> +	struct kvm_tdx_init_vm *init_vm;
> +	struct td_params *td_params = NULL;
> +	int ret;
> +
> +	BUILD_BUG_ON(sizeof(*init_vm) != 256 + sizeof_field(struct kvm_tdx_init_vm, cpuid));
> +	BUILD_BUG_ON(sizeof(struct td_params) != 1024);
> +
> +	if (is_hkid_assigned(kvm_tdx))
> +		return -EINVAL;
> +
> +	if (cmd->flags)
> +		return -EINVAL;
> +
> +	init_vm = kmalloc(sizeof(*init_vm) +
> +			  sizeof(init_vm->cpuid.entries[0]) * KVM_MAX_CPUID_ENTRIES,
> +			  GFP_KERNEL);
> +	if (!init_vm)
> +		return -ENOMEM;
> +
> +	if (copy_from_user(init_vm, u64_to_user_ptr(cmd->data), sizeof(*init_vm))) {
> +		ret = -EFAULT;
> +		goto out;
> +	}
> +
> +	if (init_vm->cpuid.nent > KVM_MAX_CPUID_ENTRIES) {
> +		ret = -E2BIG;
> +		goto out;
> +	}
> +
> +	if (copy_from_user(init_vm->cpuid.entries,
> +			   u64_to_user_ptr(cmd->data) + sizeof(*init_vm),
> +			   flex_array_size(init_vm, cpuid.entries, init_vm->cpuid.nent))) {
> +		ret = -EFAULT;
> +		goto out;
> +	}
> +
> +	if (memchr_inv(init_vm->reserved, 0, sizeof(init_vm->reserved))) {
> +		ret = -EINVAL;
> +		goto out;
> +	}
> +
> +	if (init_vm->cpuid.padding) {
> +		ret = -EINVAL;
> +		goto out;
> +	}
> +
> +	td_params = kzalloc(sizeof(struct td_params), GFP_KERNEL);
> +	if (!td_params) {
> +		ret = -ENOMEM;
> +		goto out;
> +	}
> +
> +	ret = setup_tdparams(kvm, td_params, init_vm);
> +	if (ret)
> +		goto out;
> +
> +	ret = __tdx_td_init(kvm, td_params, &cmd->hw_error);
> +	if (ret)
> +		goto out;
> +
> +	kvm_tdx->tsc_offset = td_tdcs_exec_read64(kvm_tdx, TD_TDCS_EXEC_TSC_OFFSET);
> +	kvm_tdx->attributes = td_params->attributes;
> +	kvm_tdx->xfam = td_params->xfam;
> +
> +	if (td_params->exec_controls & TDX_EXEC_CONTROL_MAX_GPAW)
> +		kvm->arch.gfn_direct_bits = gpa_to_gfn(BIT_ULL(51));
> +	else
> +		kvm->arch.gfn_direct_bits = gpa_to_gfn(BIT_ULL(47));
> +
Could we introduce a initialized field in struct kvm_tdx and set it true
here? e.g
+       kvm_tdx->initialized = true;

Then reject vCPU creation in tdx_vcpu_create() before KVM_TDX_INIT_VM is
executed successfully? e.g.

@@ -584,6 +589,9 @@ int tdx_vcpu_create(struct kvm_vcpu *vcpu)
        struct kvm_tdx *kvm_tdx = to_kvm_tdx(vcpu->kvm);
        struct vcpu_tdx *tdx = to_tdx(vcpu);

+       if (!kvm_tdx->initialized)
+               return -EIO;
+
        /* TDX only supports x2APIC, which requires an in-kernel local APIC. */
        if (!vcpu->arch.apic)
                return -EINVAL;

Allowing vCPU creation only after TD is initialized can prevent unexpected
userspace access to uninitialized TD primitives.
See details in the next comment.

> +out:
> +	/* kfree() accepts NULL. */
> +	kfree(init_vm);
> +	kfree(td_params);
> +
> +	return ret;
> +}
> +
>  int tdx_vm_ioctl(struct kvm *kvm, void __user *argp)
>  {
>  	struct kvm_tdx_cmd tdx_cmd;
> @@ -613,6 +827,9 @@ int tdx_vm_ioctl(struct kvm *kvm, void __user *argp)
>  	case KVM_TDX_CAPABILITIES:
>  		r = tdx_get_capabilities(&tdx_cmd);
>  		break;
> +	case KVM_TDX_INIT_VM:
> +		r = tdx_td_init(kvm, &tdx_cmd);
> +		break;
>  	default:
>  		r = -EINVAL;
>  		goto out;


QEMU should invoke VM ioctl KVM_TDX_INIT_VM in tdx_pre_create_vcpu() before
creating vCPUs via VM ioctl KVM_CREATE_VCPU, but KVM should not count on
userspace always doing the right thing.
e.g. running below selftest would produce warning in KVM due to
td_vmcs_write64() error in tdx_load_mmu_pgd().

void verify_td_negative_test(void)
{
        struct kvm_vm *vm;
        struct kvm_vcpu *vcpu;

        vm = td_create();
        vm_enable_cap(vm, KVM_CAP_SPLIT_IRQCHIP, 24);
        vcpu = __vm_vcpu_add(vm, 0);
        vcpu_run(vcpu);
        kvm_vm_free(vm);
}


[ 5600.721996] WARNING: CPU: 116 PID: 7914 at arch/x86/kvm/vmx/tdx.h:237 tdx_load_mmu_pgd+0x55/0xa0 [kvm_intel] 
[ 5600.735999] Modules linked in: kvm_intel kvm idxd i2c_i801 nls_iso8859_1 i2c_smbus i2c_ismt nls_cp437 squashfs hid_generic crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel crypto_simd cryptd [last unloaded: kvm]
[ 5600.762904] CPU: 116 PID: 7914 Comm: tdx_vm_tests Not tainted 6.10.0-rc7-upstream+ #278 5e882f76313c2b130a0f7525b7eda06f47d8ea02
[ 5600.779772] Hardware name: Intel Corporation ArcherCity/ArcherCity, BIOS EGSDCRB1.SYS.0101.D29.2303301937 03/30/2023
[ 5600.795940] RIP: 0010:tdx_load_mmu_pgd+0x55/0xa0 [kvm_intel]                  
[ 5600.805013] Code: 00 e8 8f b4 ff ff 48 85 c0 74 52 49 89 c5 48 8b 03 44 0f b6 b0 89 a3 00 00 41 80 fe 01 0f 87 ae 74 00 00 41 83 e6 01 75 1d 90 <0f> 0b 90 48 8b 3b b8 01 01 00 00 be 01 03 00 00 66 89 87 89 a3 00
[ 5600.833286] RSP: 0018:ff3550cf49297c78 EFLAGS: 00010246                       
[ 5600.842233] RAX: ff3550cf4dfd9000 RBX: ff2c5edc10600000 RCX: 0000000000000000 
[ 5600.853400] RDX: 0000000000000000 RSI: ff3550cf49297be8 RDI: 000000000000002b 
[ 5600.864609] RBP: ff3550cf49297c98 R08: 0000000000000000 R09: ffffffffffffffff 
[ 5600.875915] R10: 0000000000000000 R11: 0000000000000000 R12: 000000048d10c000 
[ 5600.887255] R13: c000030000000001 R14: 0000000000000000 R15: 0000000000000000 
[ 5600.898584] FS:  00007f9597799740(0000) GS:ff2c5ee7ad700000(0000) knlGS:0000000000000000
[ 5600.911113] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033                 
[ 5600.921064] CR2: 00007f959759b8c0 CR3: 000000010b83e005 CR4: 0000000000773ef0 
[ 5600.932675] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 
[ 5600.944319] DR3: 0000000000000000 DR6: 00000000fffe07f0 DR7: 0000000000000400 
[ 5600.955987] PKRU: 55555554                                                    
[ 5600.962665] Call Trace:                                                       
[ 5600.969084]  <TASK>                                                           
[ 5600.975079]  ? show_regs+0x64/0x70                                            
[ 5600.982536]  ? __warn+0x8a/0x100                                              
[ 5600.989840]  ? tdx_load_mmu_pgd+0x55/0xa0 [kvm_intel b63d7b2e0213930160302a21a156d5f897483840]
[ 5601.006321]  ? report_bug+0x1b6/0x220                                         
[ 5601.014351]  ? handle_bug+0x43/0x80                                           
[ 5601.022248]  ? exc_invalid_op+0x18/0x70                                       
[ 5601.030554]  ? asm_exc_invalid_op+0x1b/0x20                                   
[ 5601.039297]  ? tdx_load_mmu_pgd+0x55/0xa0 [kvm_intel b63d7b2e0213930160302a21a156d5f897483840]
[ 5601.056276]  ? tdx_load_mmu_pgd+0x31/0xa0 [kvm_intel b63d7b2e0213930160302a21a156d5f897483840]
[ 5601.073270]  vt_load_mmu_pgd+0x57/0x70 [kvm_intel b63d7b2e0213930160302a21a156d5f897483840]
[ 5601.089991]  kvm_mmu_load+0xa4/0xc0 [kvm 2979fa2240d2f299e1c4576243100dec1104b4cd]
[ 5601.102708]  vcpu_enter_guest+0xbe2/0x1140 [kvm 2979fa2240d2f299e1c4576243100dec1104b4cd]
[ 5601.116042]  ? __this_cpu_preempt_check+0x13/0x20                             
[ 5601.125373]  ? debug_smp_processor_id+0x17/0x20                               
[ 5601.134400]  vcpu_run+0x4d/0x280 [kvm 2979fa2240d2f299e1c4576243100dec1104b4cd]
[ 5601.146657]  ? vcpu_run+0x4d/0x280 [kvm 2979fa2240d2f299e1c4576243100dec1104b4cd]
[ 5601.159108]  kvm_arch_vcpu_ioctl_run+0x224/0x680 [kvm 2979fa2240d2f299e1c4576243100dec1104b4cd]
[ 5601.175943]  kvm_vcpu_ioctl+0x238/0x750 [kvm 2979fa2240d2f299e1c4576243100dec1104b4cd]
[ 5601.188912]  ? __ct_user_exit+0xd1/0x120 
[ 5601.197305]  ? __lock_release.isra.0+0x61/0x160
[ 5601.206432]  ? __ct_user_exit+0xd1/0x120
[ 5601.214791]  __x64_sys_ioctl+0x98/0xd0
[ 5601.222980]  x64_sys_call+0x1222/0x2040
[ 5601.231268]  do_syscall_64+0xc3/0x220
[ 5601.239321]  entry_SYSCALL_64_after_hwframe+0x77/0x7f
[ 5601.248913] RIP: 0033:0x7f9597524ded
[ 5601.256781] Code: 04 25 28 00 00 00 48 89 45 c8 31 c0 48 8d 45 10 c7 45 b0 10 00 00 00 48 89 45 b8 48 8d 45 d0 48 89 45 c0 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 1a 48 8b 45 c8 64 48 2b 04 25 28 00 00 00
[ 5601.288181] RSP: 002b:00007ffd117315c0 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[ 5601.300843] RAX: ffffffffffffffda RBX: 00000000108a32a0 RCX: 00007f9597524ded
[ 5601.313108] RDX: 0000000000000000 RSI: 000000000000ae80 RDI: 0000000000000005
[ 5601.325411] RBP: 00007ffd11731610 R08: 0000000000422078 R09: 0000000000428e48
[ 5601.337721] R10: 0000000000000001 R11: 0000000000000246 R12: 00000000108a54a0
[ 5601.349965] R13: 0000000000000000 R14: 0000000000434e00 R15: 00007f95977eb000
[ 5601.362131]  </TASK>


> diff --git a/arch/x86/kvm/vmx/tdx.h b/arch/x86/kvm/vmx/tdx.h
> index 268959d0f74f..8912cb6d5bc2 100644
> --- a/arch/x86/kvm/vmx/tdx.h
> +++ b/arch/x86/kvm/vmx/tdx.h
> @@ -16,7 +16,11 @@ struct kvm_tdx {
>  	unsigned long tdr_pa;
>  	unsigned long *tdcs_pa;
>  
> +	u64 attributes;
> +	u64 xfam;
>  	int hkid;
> +
> +	u64 tsc_offset;
>  };

> 
> 

  parent reply	other threads:[~2024-08-29  6:29 UTC|newest]

Thread overview: 191+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-12 22:47 [PATCH 00/25] TDX vCPU/VM creation Rick Edgecombe
2024-08-12 22:47 ` [PATCH 01/25] KVM: TDX: Add placeholders for TDX VM/vCPU structures Rick Edgecombe
2024-09-10 16:00   ` Paolo Bonzini
2024-08-12 22:47 ` [PATCH 02/25] KVM: TDX: Define TDX architectural definitions Rick Edgecombe
2024-08-29 13:25   ` Xiaoyao Li
2024-08-29 19:46     ` Edgecombe, Rick P
2024-08-30  1:29       ` Xiaoyao Li
2024-08-30  4:45         ` Tony Lindgren
2024-09-10 16:21       ` Paolo Bonzini
2024-09-10 17:49         ` Sean Christopherson
2024-08-12 22:47 ` [PATCH 03/25] KVM: TDX: Add TDX "architectural" error codes Rick Edgecombe
2024-08-13  6:08   ` Binbin Wu
2024-08-29  5:24     ` Tony Lindgren
2024-08-30  5:52       ` Tony Lindgren
2024-09-10 16:22         ` Paolo Bonzini
2024-09-11  5:58           ` Tony Lindgren
2024-08-12 22:47 ` [PATCH 04/25] KVM: TDX: Add C wrapper functions for SEAMCALLs to the TDX module Rick Edgecombe
2024-08-12 22:48 ` [PATCH 05/25] KVM: TDX: Add helper functions to print TDX SEAMCALL error Rick Edgecombe
2024-08-13 16:32   ` Isaku Yamahata
2024-08-13 22:34     ` Huang, Kai
2024-08-14  0:31       ` Isaku Yamahata
2024-08-30  5:56         ` Tony Lindgren
2024-08-12 22:48 ` [PATCH 06/25] x86/virt/tdx: Export TDX KeyID information Rick Edgecombe
2024-08-30 18:45   ` Dave Hansen
2024-08-30 19:16     ` Edgecombe, Rick P
2024-08-30 21:18       ` Dave Hansen
2024-09-10 16:26         ` Paolo Bonzini
2024-08-12 22:48 ` [PATCH 07/25] KVM: TDX: Add helper functions to allocate/free TDX private host key id Rick Edgecombe
2024-09-10 16:27   ` Paolo Bonzini
2024-09-10 16:39     ` Edgecombe, Rick P
2024-09-10 16:42       ` Paolo Bonzini
2024-09-10 16:43         ` Edgecombe, Rick P
2024-08-12 22:48 ` [PATCH 08/25] KVM: TDX: Add place holder for TDX VM specific mem_enc_op ioctl Rick Edgecombe
2024-08-13  6:25   ` Binbin Wu
2024-08-13 16:37   ` Isaku Yamahata
2024-08-30  6:00     ` Tony Lindgren
2024-08-12 22:48 ` [PATCH 09/25] KVM: TDX: Get system-wide info about TDX module on initialization Rick Edgecombe
2024-08-13  6:47   ` Binbin Wu
2024-08-30  6:59     ` Tony Lindgren
2024-08-14  6:18   ` Binbin Wu
2024-08-21  0:11     ` Edgecombe, Rick P
2024-08-21  6:14       ` Tony Lindgren
2024-08-15  7:59   ` Xu Yilun
2024-08-30  7:21     ` Tony Lindgren
2024-09-02  1:25       ` Xu Yilun
2024-09-02  5:05         ` Tony Lindgren
2024-08-12 22:48 ` [PATCH 10/25] KVM: TDX: Initialize KVM supported capabilities when module setup Rick Edgecombe
2024-08-13  3:25   ` Chao Gao
2024-08-13  5:26     ` Huang, Kai
2024-08-30  8:44       ` Tony Lindgren
2024-08-13  7:24     ` Binbin Wu
2024-08-14  0:26       ` Chao Gao
2024-08-14  2:36         ` Binbin Wu
2024-08-30  8:34     ` Tony Lindgren
2024-09-10 16:58       ` Paolo Bonzini
2024-09-11 11:07         ` Tony Lindgren
2024-09-03 16:53     ` Edgecombe, Rick P
2024-08-19  1:33   ` Tao Su
2024-08-29 13:28     ` Xiaoyao Li
2024-08-26 11:04   ` Nikolay Borisov
2024-08-29  4:51     ` Tony Lindgren
2024-09-10 17:15       ` Paolo Bonzini
2024-09-11 11:04         ` Tony Lindgren
2024-10-10  8:25           ` Xiaoyao Li
2024-10-10  9:49             ` Tony Lindgren
2024-09-04 11:58   ` Nikolay Borisov
2024-09-05 13:36     ` Xiaoyao Li
2024-09-12  8:04       ` Nikolay Borisov
2024-09-12  8:37         ` Xiaoyao Li
2024-09-12  8:43           ` Nikolay Borisov
2024-09-12  9:07             ` Xiaoyao Li
2024-09-12 15:12               ` Edgecombe, Rick P
2024-09-12 15:18                 ` Nikolay Borisov
2024-08-12 22:48 ` [PATCH 11/25] KVM: TDX: Report kvm_tdx_caps in KVM_TDX_CAPABILITIES Rick Edgecombe
2024-08-13  3:35   ` Chao Gao
2024-08-19 10:24     ` Nikolay Borisov
2024-08-21  0:06       ` Edgecombe, Rick P
2024-08-12 22:48 ` [PATCH 12/25] KVM: TDX: Allow userspace to configure maximum vCPUs for TDX guests Rick Edgecombe
2024-08-19  1:17   ` Tao Su
2024-08-21  0:12     ` Edgecombe, Rick P
2024-08-30  8:53     ` Tony Lindgren
2024-09-30  2:14   ` Xiaoyao Li
2024-08-12 22:48 ` [PATCH 13/25] KVM: TDX: create/destroy VM structure Rick Edgecombe
2024-08-14  3:08   ` Yuan Yao
2024-08-21  6:13     ` Tony Lindgren
2024-08-16  7:31   ` Xu Yilun
2024-08-30  9:26     ` Tony Lindgren
2024-08-19 15:09   ` Nikolay Borisov
2024-08-21  0:23     ` Edgecombe, Rick P
2024-08-21  5:39       ` Tony Lindgren
2024-08-21 16:52         ` Edgecombe, Rick P
2024-08-30  9:40           ` Tony Lindgren
2024-09-02  9:22     ` Tony Lindgren
2024-08-12 22:48 ` [PATCH 14/25] KVM: TDX: initialize VM with TDX specific parameters Rick Edgecombe
2024-08-19 15:35   ` Nikolay Borisov
2024-08-21  0:01     ` Edgecombe, Rick P
2024-08-29  6:27   ` Yan Zhao [this message]
2024-09-02 10:31     ` Tony Lindgren
2024-09-05  6:59       ` Yan Zhao
2024-09-05  9:27         ` Tony Lindgren
2024-09-06  4:05           ` Yan Zhao
2024-09-06  4:32             ` Tony Lindgren
2024-09-06 13:52               ` Wang, Wei W
2024-09-03  2:58   ` Chenyi Qiang
2024-09-03  5:44     ` Tony Lindgren
2024-09-03  8:04       ` Chenyi Qiang
2024-09-05  9:31         ` Tony Lindgren
2024-10-01 20:45           ` Edgecombe, Rick P
2024-10-02 23:39   ` Edgecombe, Rick P
2024-08-12 22:48 ` [PATCH 15/25] KVM: TDX: Make pmu_intel.c ignore guest TD case Rick Edgecombe
2024-09-10 17:23   ` Paolo Bonzini
2024-10-01 10:23     ` Tony Lindgren
2024-08-12 22:48 ` [PATCH 16/25] KVM: TDX: Don't offline the last cpu of one package when there's TDX guest Rick Edgecombe
2024-08-13  8:37   ` Binbin Wu
2024-08-12 22:48 ` [PATCH 17/25] KVM: TDX: create/free TDX vcpu structure Rick Edgecombe
2024-08-13  9:15   ` Binbin Wu
2024-09-02 10:50     ` Tony Lindgren
2024-08-19 16:46   ` Nikolay Borisov
2024-08-29  5:00     ` Tony Lindgren
2024-08-29  6:41   ` Yan Zhao
2024-08-12 22:48 ` [PATCH 18/25] KVM: TDX: Do TDX specific vcpu initialization Rick Edgecombe
2024-08-13  8:00   ` Yuan Yao
2024-08-13 17:21     ` Isaku Yamahata
2024-08-14  1:20       ` Yuan Yao
2024-08-15  0:47         ` Isaku Yamahata
2024-09-03  5:23     ` Tony Lindgren
2024-10-09 15:01     ` Adrian Hunter
2024-10-16 17:42       ` Edgecombe, Rick P
2024-10-18  2:21         ` Xiaoyao Li
2024-10-18 14:20           ` Edgecombe, Rick P
2024-10-21  8:35             ` Xiaoyao Li
2024-10-26  1:12               ` Edgecombe, Rick P
2024-08-28 14:34   ` Edgecombe, Rick P
2024-09-03  5:34     ` Tony Lindgren
2024-08-12 22:48 ` [PATCH 19/25] KVM: X86: Introduce kvm_get_supported_cpuid_internal() Rick Edgecombe
2024-08-12 22:48 ` [PATCH 20/25] KVM: X86: Introduce tdx_get_kvm_supported_cpuid() Rick Edgecombe
2024-08-12 22:48 ` [PATCH 21/25] KVM: x86: Introduce KVM_TDX_GET_CPUID Rick Edgecombe
2024-08-19  2:59   ` Tao Su
2024-09-03  6:21     ` Tony Lindgren
2024-09-10 17:27       ` Paolo Bonzini
2024-08-19  5:02   ` Xu Yilun
2024-09-03  7:19     ` Tony Lindgren
2024-09-10 17:29       ` Paolo Bonzini
2024-09-11 11:11         ` Tony Lindgren
2024-08-26 14:09   ` Nikolay Borisov
2024-08-26 17:46     ` Edgecombe, Rick P
2024-08-27 12:19       ` Nikolay Borisov
2024-08-27 20:40         ` Edgecombe, Rick P
2024-09-30  6:26   ` Xiaoyao Li
2024-09-30 16:22     ` Edgecombe, Rick P
2024-08-12 22:48 ` [PATCH 22/25] KVM: TDX: Use guest physical address to configure EPT level and GPAW Rick Edgecombe
2024-09-10 17:31   ` Paolo Bonzini
2024-10-10  9:13   ` Xiaoyao Li
2024-10-10 10:36     ` Tony Lindgren
2024-08-12 22:48 ` [PATCH 23/25] KVM: x86/mmu: Taking guest pa into consideration when calculate tdp level Rick Edgecombe
2024-09-10 17:33   ` Paolo Bonzini
2024-08-12 22:48 ` [PATCH 24/25] KVM: x86: Filter directly configurable TDX CPUID bits Rick Edgecombe
2024-08-19  5:02   ` Xu Yilun
2024-09-03  7:51     ` Tony Lindgren
2024-09-10 17:36   ` Paolo Bonzini
2024-08-12 22:48 ` [PATCH 25/25] KVM: x86: Add CPUID bits missing from KVM_GET_SUPPORTED_CPUID Rick Edgecombe
2024-08-13 11:34   ` Chao Gao
2024-08-13 15:14     ` Xiaoyao Li
2024-08-14  0:47       ` Chao Gao
2024-08-14  1:16         ` Sean Christopherson
2024-08-14 10:46           ` Chao Gao
2024-08-14 13:35             ` Sean Christopherson
2024-08-14 17:35               ` Edgecombe, Rick P
2024-08-14 21:22                 ` Sean Christopherson
2024-08-13 18:45     ` Edgecombe, Rick P
2024-08-14  1:10       ` Sean Christopherson
2024-08-14 11:36       ` Chao Gao
2024-08-14 17:17         ` Edgecombe, Rick P
2024-09-10 17:52   ` Paolo Bonzini
2024-09-12  7:48     ` Xiaoyao Li
2024-09-12 14:09       ` Paolo Bonzini
2024-09-12 14:45         ` Xiaoyao Li
2024-09-12 14:48           ` Paolo Bonzini
2024-09-12 15:26             ` Xiaoyao Li
2024-09-12 16:42             ` Sean Christopherson
2024-09-12 18:29               ` Paolo Bonzini
2024-09-12 18:41                 ` Sean Christopherson
2024-09-13  3:54                   ` Xiaoyao Li
2024-09-12 18:42                 ` Edgecombe, Rick P
2024-09-13  3:57               ` Xiaoyao Li
2024-09-12 15:07         ` Edgecombe, Rick P
2024-09-12 15:37           ` Paolo Bonzini
2024-09-12 16:38             ` Edgecombe, Rick P
2024-08-15  5:20 ` [PATCH 00/25] TDX vCPU/VM creation Tony Lindgren
2024-08-15 23:46   ` Edgecombe, Rick P
2024-08-16  5:18     ` Tony Lindgren

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=ZtAU7FIV2Xkw+L3O@yzhao56-desk.sh.intel.com \
    --to=yan.y.zhao@intel.com \
    --cc=isaku.yamahata@gmail.com \
    --cc=isaku.yamahata@intel.com \
    --cc=kai.huang@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=rick.p.edgecombe@intel.com \
    --cc=seanjc@google.com \
    --cc=tony.lindgren@linux.intel.com \
    --cc=xiaoyao.li@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

all inboxes | Powered by JetHome®