On Fri, 30 May 2025 at 08:23, Paolo Bonzini <pbonz...@redhat.com> wrote: > > From: Xiaoyao Li <xiaoyao...@intel.com> > > Invoke KVM_TDX_INIT_VM in kvm_arch_pre_create_vcpu() that > KVM_TDX_INIT_VM configures global TD configurations, e.g. the canonical > CPUID config, and must be executed prior to creating vCPUs. > > Use kvm_x86_arch_cpuid() to setup the CPUID settings for TDX VM. > > Note, this doesn't address the fact that QEMU may change the CPUID > configuration when creating vCPUs, i.e. punts on refactoring QEMU to > provide a stable CPUID config prior to kvm_arch_init().
Hi; I noticed something odd about this change when I was investigating a false-positive Coverity issue: > @@ -162,6 +265,8 @@ static void tdx_guest_init(Object *obj) > ConfidentialGuestSupport *cgs = CONFIDENTIAL_GUEST_SUPPORT(obj); > TdxGuest *tdx = TDX_GUEST(obj); > > + qemu_mutex_init(&tdx->lock); > + This adds a qemu_mutex_init() call, but we were already doing that later on in this function, so now we init the mutex twice. > cgs->require_guest_memfd = true; > tdx->attributes = 0; thanks -- PMM